校招面试 之 妹纸编程
上周参加淘宝的校招面试,由于算是临时被派去的,除了基础的算法和数据结构,还有个编程题灵机一动 让大家 分解质因数
即类似 把 12 分解成 2_2_3来
基本上被我面到的都会问这个编程题.这题挺简单一般 10行代码就能搞定,但是要在短时间内,写的又好有严谨还是有难度了
上周参加淘宝的校招面试,由于算是临时被派去的,除了基础的算法和数据结构,还有个编程题灵机一动 让大家 分解质因数
即类似 把 12 分解成 2_2_3来
基本上被我面到的都会问这个编程题.这题挺简单一般 10行代码就能搞定,但是要在短时间内,写的又好有严谨还是有难度了
@ https://bugzilla.redhat.com/show_bug.cgi?id=582570
just MARK
The performance counters are not available to profile in virtualized environments. You might be able to use the timer mode within the DomU. If just measuring things within a domU, as root you could do the following to use the timer mode: opcontrol --deinit rm -f /root/.oprofile/daemonrc modprobe oprofile timer=1 opcontrol --reset opcontrol --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux \ --separate=library opcontrol --start
这是帮其他团队的同学解决的一个问题.这里做个记录.
这次再公开一个小工具 easy_runner 一个来用做压测的小工具
我主要用来做MySQL压测的时候,直接压业务端用的.
程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner这种重型压测工具使用起来方便多了
下载可以到 http://code.google.com/p/easy-runner/ checkout出源码来
最近大牛 姜承尧 也在测试Row Cache,发现使用sysbench来进行测试效果不是很明显.
分析了一下 sysbench的三个测试场景uniform,gaussian,special都不是很符合Row Cache的使用场景导致效果不明显
先来解释一下 Row Cache要解决的问题主要是在有热门数据且热门数据分布很离散的情况下Page缓存导致的内存利用率低的问题,我们做过测试,在innodb内部对Page访问打点的统计来看,一个row有500字节大小,热门数据大概占千分之一地情况下,Page缓存的利用率(就是16K读进来,真正被上层read的数据大小的比例)在20%以下,就是说 80%的内存是被浪费的.
而现在MySQL的应用由于数据量巨大使用MySQL后都是分库分表,而且为了能每个库没有热点,基本都是按取模的方式进行分表,导致热门数据基本都是很平均的分布在各个不同的Page上.而分库分表之后基本没有了range查询,都是类似select * from test where uuid=XX这样的key-value类型的查询,这样的查询就导致了内存利用率低的问题
Row Cache就是为了解决这样的场景(一般互联网应用规模到了一定程度应该都会有这个问题).
本来第二版在6月份的时候已经做好了,由于后来被临时去做一个其他项目,就延迟发这一博了..实际上patch老早就上传到code.google.com了
用Groovy编写的一个简单的MySQL给压力的工具,原先是用python写的,但是发现MySQLdb在liunx下性能不佳,就改用Groovy来实现了,支持简单的分表,支持useServerPrepStmts
在Innodb中使用rec_get_offsets来获取一条rec_t的各个字段的偏移量
这次说说Flex的事
最近帮同事做了一个demo, 请求其他网站的一个图片,并在本地对这个图片进行一定的修改,这个时候就涉及到Flex的跨域问题.
Flex请求其他网站的图片是没有问题的,但是一旦需要在本地对图片进行修改的话,就需要对方网站的crossdomain.xml进行权限开放了,如果对方没有对你的域名设置为allow-access-from,那么你在Flex本地是不能对其进行直接修改的,那要怎么办呢?
实际上Flex本身提供了一种可以直接绕过跨域沙箱限制的方法,那就是在本地直接将对方网站图片转化为二进制数据再次重新载入就能绕过沙箱限制了,代码如下