主题:【纪事】失败的苹果面试(上) -- landlord
曾经有经理投诉过我,经常工作时上网,但我又总是提前把工作完成,而他又不愿把其他人的工作分配给我,遇到这样的经理颇为无趣。
以后我就学聪明了,面试轮到我提问时,我肯定会问老板,如果我提前完工,无所事事,怎么办?
这个大概是IT行业的一个常见问题:员工与员工之间的效率差别非常大,而且许多项目还必须是团队工作的。。。。
请注意下面两个引用的发帖时间:
我一般是用一、二、三。好处是,万一写到“二”就写不下去了,不写就完了。如果用上、中、下,写到“中”不想写了,还是得硬着头皮写“下”。那就等于给自己挖坑了。不是高手,不敢这么干。
有上有中当然得有下,这不自找么,以后干脆用一二三好了,教训啊。。。F
要考递归和循环,可以让写1个比如n个数的全排列之类,让用递归和循环各实现一遍。
这题80%的人做不出来,老外的平均水平也有点汗,不过人家牛的人也真牛,关键是有兴趣,人家的牛人是真热爱写程序,不像中国许多人做IT类工作只是为了工资相对还算比较高,当然中国的基础教育水平还是挺高的。
还有人家的程序牛人四五十岁还在踏踏实实写程序,中国的程序牛人基本30岁就不怎么写程序了,一般都是挂着1个什么总的头衔,干起玩PPT,耍嘴皮子,坑蒙拐骗的勾当了。
前两年在微软有过一次面试,曾被问过这么一个问题:
用算法模拟一个N层嵌套的循环,每层循环次数为M。
这个算法用递归的方式很容易,我当时就给出了。但面试人接着要求用非递归方式再写一个。结果我试了几次都没成。
回到旅馆后总觉得不甘心,静下心再仔细想了大约十分钟,结果就出来了。当时面试时我其实是有时间的,每个面试人出题后都给半小时的时间做题。但我发觉我不能在被人注视着的场合下进行深度的思考,当时脑子迟钝得一塌糊涂,顶多有平时的20%。
因此,尽管微软和孤狗都允许被面试者一年后再申请,我还是决定和它们彻底拜拜了,实在不想再受那份煎熬。一天被六七个人轮番面试,到最后脑子真的都不转了。
翻个身继续睡吧!
自己吐出来的没舍得扔
我估计你完全是当年某个被你祖上压榨得不成人形的长工投胎的。
你还好意思得意,一点商业头脑和敏感性都没有。
这个大头吃饱了没事干跟你说这些?
你那金口就那么难开,只在自己心里说“why not?”
估计你浪费了不少出来独立自主做的机会。诚然,自己做的压力和风险远远不是打工可以比拟的,但是总比傻乎乎地被别人考来考去好。再者,如果你认为自己的方法是正确的,最好的,那就应该去推广,去实践。最后,自己做不是说自己一个人做,需要一个团队才能保证公司的正常运作。
希望真正的中国地主、中国老板遍及天下。
n个数,有重复(以下叫n集合)。另有一个特定的数,假设为N。
这个N可能是这n集合中几个数的和(也可能不是),需要编个程序判断,是的话,找出N是哪几个n之和。
也就是说,第一个循环,把n集合中的每一个数和N比较;
第二个循环,把n集合中任意两个数相加进行比较;
第三个循环,把n集合中任意三个数相加进行比较;
......
第n个循环,把n集合中所有数相加进行比较。
由于结果可能有好几个,所以需要全部循环一次。
最后一点,这个n每次都是变化的。
这个有办法吗?
首先对n集合排序(a1,a2,a3,..an)。
考虑所有比N小的数。
用N减去对于n集合中最大的数(an),如果差为0,递归/循环结束。
如果差不为0,那么使用递归,对N-an求解。
你这个问题其实是这样,对一个n个数的集合,求他从C(1,n)到C(n,n)的所有组合,或者说是不包括空集的所有子集,一共是2的n次方减1个。
比如三个数的集合{a,b,c},他的所有组合或者所有子集就是{a},{b},{c},{a,b},{b,c},{a,c},{a,b,c}。
然后再验证这些子集的和是否等于N,也就是
a=N?
b=N?
c=N?
a+b=N?
b+c=N?
a+c=N?
a+b+c=N?
只要能生成所有子集,求和验证很简单吧。
有些语言可能本身带的函数库就有这个功能,像C++的STL?自己写一个,我想了想好像稍微有一点麻烦,我的手也比较生了,网上找这么一个算法很容易。
在哪里工作,说到底,还是很通俗的两个字:“缘分”。
分享一个最近的“缘分”,工作方面的。去年底,有人给我介绍了一个人,说能帮到我的,我看看了其背景资料,加上对该人的印象,感觉是可以的,但是,我琢磨了一阵子,还是没去再联系,不习惯去求人。而今年,前不久,另一人给我介绍了同一个人,说这人可以帮到我,并且在很短的时间内,这人亲自跑过来了,亲自说是可以帮到我的。咔咔,这缘分,就强烈了,这时机,就对了,那应该是可以帮到我了。虽然说这人貌似注定要帮到我的,但是,中间的介绍人不同,效果是很不同的,后来的那个介绍人跟其关系很亲近很亲近,前面那个介绍人,只是一般关系。另外一个是,要一个比自己强悍的人来帮自己,最好是那人自愿,否则,总归不牢靠。联系到求职,也是一样的,最好是老板或面试官直接看上你,这个是最最省力的,实力+机遇。运气么,每天都在变滴,还得加上别人的运气状况,所以,计算起来很复杂的,只能是碰了。
相信地主之后会有好运气滴。。。还有什么时候比你开头说的那个专业考试更衰的运气呢。。。否极泰来!
有的时候面试就是要通过challenge来看看被面者的底,不一定是要涮人,反倒是觉得这个人有可能被录用。有时候上来一个人,看看就不喜欢,可能反倒打打哈哈就过去了。。。。。
直接去面是不行的。HR啊一面的小经理啊什么的分不出你和大忽悠的区别,会雇你就怪了。你也不能怪人家,大公司面试那是但求无过不求有功。
如果有好的推荐,直接和级别高一点的管理谈,你说的自洽,模块化,系统化,持续优化,都是打打包就是可以拿出去做升职资本的。用我一同事的话说,就是they will eat it like a dog on crap.
要不自己慢慢开始做consulting吧,以后出来做contract。“我在P公司写的对手机塔站的测试系统,就是测那些GSM、EVDO、CDMA、 W-CDMA等protocol,加一个新频段(band)公司问我要几周,我当场做好,不到5分钟!”这样的情况你有点良心报个一周,大家欢喜。
去年中介介绍一个面试,RF 领域的。HR谈完,技术director来了,老头很刁钻,两个问题下来我就知道没戏了,成心为难的感觉,估计和你对苹果女大牛的感觉一样。我当时的心理就是再难我也要尽量答好,让你也得花点功夫来为难我。有个问题是用频谱仪测一定功率的步骤,答完以后以后看见他很得意,我赶紧想了想发现一个漏洞,就是功率比较大,需要外置衰减保护,于是又补充出来。最后连功率从瓦到dBm的转换都问出来了,我也没含糊现场估算。
回来以后第二天中介电话说没成,找的理由是对PLL不熟。当时问我PLL熟不熟,我说以前用过,最近几年没用。借口总是能找到的只要他愿意。作为被面试者我们只能控制我们自己,不卑不亢尽力而为。