主要介绍算法面试的一些问题、以及如何准备算法面试
算法面试不仅仅是正确的回答问题
对于面试中遇到的大多数问题,都能有一个合理的思考路径什么是算法面试?什么是给出合理的思考路径?“正确”本身是一个相对概念例子我们需要对一组数据进行排序
解决
快速排序算法:O(nlogn)
(向面试官提问):这组数据有什么样的特征?
(向面试官提问):对排序有什么额外的要求?
(向面试官提问):数据的存储状况是怎样的?
(向面试官提问):数据的存储状况是怎样的?
对一组数据进行排序小结什么是“正确”的回答一个算法问题
算法面试只是面试的一部分
面试前梳理自己简历上所写到的项目:整理一下可能会问到的。
技术面试优秀不意味着能够拿到Offer技术面试只是面试的一部分。面试不仅仅是考察你的技术水平算法导论快速排序 java,还是了解你的过去以及形成的思考行为方式。项目经历:
如何找到项目?
行为类问题通过过去了解你的思考行为方式:
具体阐述:我在某某项目中遇到一个怎样的算法问题:这个问题是怎样的。它是我遇到的最大的挑战,我是如何克服解决的。准备好合适的问题问面试官
算法面试仍然是非常重要的一部分
如何准备算法面试
准备面试和准备算法面试 是两个概念
学习切记完美主义
算法面试的准备范围例子
Intel的面试题:
初始序列为1 8 6 2 5 4 7 3的一组数采用堆排序,当建堆(小根堆)完毕时算法导论快速排序 java,堆所对应的二叉树中序遍历序列为:( )
A. 8 3 2 5 1 6 4 7
B. 3 2 8 5 1 4 6 7
C. 3 8 2 5 1 6 7 4
D. 8 2 3 5 1 4 7 6
乐视的面试题:
对一个含有20个元素的有序数组做二分查找,数组起始下标为1,则查找A[2]的比较序列的下标为()
A. 9、5、4、2
B. 10、5、3、2
C. 9、6、2
D. 20、10、5、3、2
考查二分查找法。
阿里巴巴面试题
一组记录排序码为(5、11、7、2、3、17),则利用堆排序方法建立的初始堆为()
A. (11、5、7、2、3、17)
B. (11、5、7、2、17、3)
C. (17、11、7、2、3、5)
D. (17、11、7、5、3、2)
E. (17、7、11、3、5、2)
F. (17、7、11、3、2、5)
百度面试题
在图采用邻接表存储时,求最小生成树的Prim算法的时间复杂度为( )
重点关注
注意
如何回答算法面试问题
解决算法面试问题的整体思路
当没有思路的时候
例子
3
在一个字符串中寻找没有重复字母的最长子串
如””,则结果为”abc”
如”bbbbb”算法导论快速排序 java 如何准备算法面试?,则结果为”b”
优化算法
实际编写问题