知乎:互联网公司最常见的面试算法题有哪些?
链接:https://www.zhihu.com/question/24964987 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删
https://www.zhihu.com/question/24964987/answer/128620102
首先,作为程序员,你必须知道Leetcode这个OJ,刷题题库,必备
题目分为easy, medium, hard等级,没有听说过的朋友可以先去看看。
Facebook,面试难度9分
考察的知识点很全面,Facebook的面试题目难度一般都在medium偏上一点,但为什么我打难度9分,因为Facebook的面试要求很高,简单的说,面试者必须在最快的时间内写出bug free的代码,一旦出现BUG,这轮面试基本就挂了。另外,FB比较强调最优解。比如,会先问你2sum,然后拓展到3sum,4sum。比如经典的动态规划,背包问题以及所有的follow up,都是比较经典的常考题目。
Linkedin,面试难度7分
Linkedin的面试难度适中,Leetcode上中等难度的题目居多,经典一点的,比如nested element iterator, sqrt, paint fence都是比较经典的题目。大概的难度都在这个范围之内
Amazon,面试难度6.5
整体而言,亚马逊在硅谷的四大巨头里的面试,技术难度是最低的,但是能够成功通过面试并没多很多。原因在于亚马逊很看重行为类问题(behaviral question)以及公司的文化配合(culture fit)。技术方面,经典一点的题目,比如最长回文串,二叉树层遍历,二叉树validate等等
Google,面试难度9.5
狗家的面试题目,在LEETCODE上算是medium偏难,以及一些hard的题目。但最难的点在于,谷歌有自己的题库,而且是不断跟新的,这个就无形中增大了面试难度。题目方面,谷歌考得很全面,线段树(segment tree),动态规划DP,以及图,是常出现的。
https://www.zhihu.com/question/24964987/answer/33541018
时间的限制决定了题不可能太难,基本不会超过leetcode难度。而且Airbnb作为还算是创业公司,更看重的是快速落实一个想法的能力。一些常用的算法(什么拓扑排序啊,回溯,最小生成树这些,都是很基本的)你忘了也没关系,我们可以一起在白板上推。稍微有点实力的面试者白板出一个solution是没有问题的,所以这个时候就主要看写码能力与熟练度了。
上机写码考察的方面很多,比如面试者
语言的熟练程度 语言不重要,但你总得对你拿来面试的语言很熟吧。我们会先问你prefer什么语言,然后选这个语言熟的面试官来。 落实设计的能力 最怕吹半天,写一行代码都困难的那种人。 对电脑的熟悉程度 这个不是必须,但熟练使用快捷键、shell之类的总是加分项
湾区据我所知有越来越多的公司是采用上机写码或者pair programming的这种形式。(Square是纯pair programming。Uber是只白板,所以uber印度人多)
我见过很多面试者,名校毕业简历上project一大堆,结果第一步implement一个图都扭扭捏捏半天搞不出来,估计在project里面也就酱油为辅混资历为主。还有Amazon资深工程师,在eclipse里面写java,每一行不写完,让IDE自动改错,还都是拿鼠标去点,结果愣是没写完。
https://www.zhihu.com/question/24964987/answer/137554551
1.数组中逆序对计算。(剑指offer)
总结:多刷几遍剑指offer!!!
往期精彩:
求个在看