继昨天面了个试之后,今天上午又有某家在线教育公司的面试。
到了面试地点,先有公司的技术总监做宣讲。总监说:我们之前在成电,全部要求硕士学历,还必须是已经拿到BAT offer的人才有资格面试。我们公司就是要找有高度成长性、真正热爱在线教育的人才!
于是我有了不好的预感。之前还很奇怪:到场的应聘各个岗位的人都坐在一起,我还疑惑发笔试题时候怎么办。结果,原来各个岗位的笔试题都是同一份卷子!四道最好用c作答的算法题!!
……
…………
………………
天了噜之前只在知乎上看到有人说Facebook前端会考算法题,这这这……难道现在国内已经要求这么高了吗?!
必须要说,我选择做前端,除了真的觉得前端非常有意思之外,很重要的原因是前端所涉及的算法相对要少一些。当年学c++,每周上机做题简直就是刑罚,也让我认识到我不适合对算法要求高的技术。
很多人会说:少年你这种想法不对啊,要想有发展,无论什么岗位算法都很重要啊!但我认为,人的成长是一个过程;作为前端来说,最重要的当然是HTML、CSS、JavaScript这类代码基础,且不说发展到什么地步才需要算法,起码在相当于职业刚起步的校招阶段并不适合用这样的方式考察。
当然,这只是我的个人观点。作为一家志在脚踩BAT的公司,可能确实需要的人才是基础出色算法牛B的程序猿,对此我只能表示:
最后,还是照例列一下考题:
- 实现一个函数,用来改变数组元素排列顺序。例如:原数组{1,2,3,4,5,6,7,8},改变顺序后变为{4,5,6,7,8,1,2,3}。不允许使用新的数组。参数是数组的头指针,数组的长度,要改变顺序的元素的个数。
- 双向链表的倒转,参数是链表的头指针,返回倒转后链表的头指针。
- 判断给定字符串是否是回文字符串。
- 实现一个用来匹配字符串的函数。字符串包括被检测字符串和模式字符串,模式字符串中有一个特殊字符*,代表0或多个字符。例如:被检测字符串3_333_3_3匹配模式字符串3_*_3_3。如果匹配,返回true,否则返回false。参数为被检测字符串和模式字符串的头指针。