蓝湖二面,30分钟
- 自我介绍。
- 学校在哪,北京这么远能来吗?
- 你感觉自己算法学得怎么样?
答:自己评价可能会跟真实水平存在较大偏差,我个人感觉的话,一般吧。 - 行,那考考你,知道哪些排序算法?
答:冒泡,选择,插入,希尔,归并,快排,桶,(被打断了,不然我可能会讲到猴排hhh)。 - (打断)说一说归并排序吧。
答:(被突然打断一下子就卡了,诶,归并排序是啥来着,就想不起来了。因为面试最容易要求手写快排,实际上看得最多的还是快排,其他这些排序长时间不看的话很容易忘记)额,一下子有点卡壳,好像跟快排搞混了,您让我想几秒。(过了几秒)归并排序分多路归并跟二路归并,这里以二路归并为例,吧啦吧啦。。。 - 你说到需要对两个有序数组进行合并,实际上就是
merge
过程对吧,对n个数进行排序,需要merge
几次?
答:(这里是表现最不好的,实际上就是个数学问题,但是可能是因为太紧张,表现实在是太差了)啥也不干脑子想想上来就先猜一个,面试官说不是,然后又想,完了面试官说你可以从一个具体的n
开始分析,比如n=16
的时候,merge
多少次。于是开始在纸上画。好几次都沉不下心来,全过程还没分析完就乱写求和,导致错了好几次,到后面分析结束,得出实际上是首项为1
,末项为n/2
,公比为2
的等比数列的和,完了面试官问最后答案是多少,哦豁,等比数列求和公式想不起来了。。。面试官看出来了,就说,行,那先跳过求和这个问题。实际上你求的答案是不是仅针对n
为2
的整数次方的情形,那对于任意n
呢,答暂时想不到。然后面试官说行,那算法考察先到这里。 - 职业规划。
答:c++方向的后台开发,客户端也行。 - 最近在学什么,有什么比较有收获或者说让你眼前一亮的知识吗(这里估计想考察对技术的热情)?
答:主要是与开题相关的学习,吧啦吧啦。(然后觉得这不应该是要说的重点,又说每天都有坚持做算法题,学习算法)然后面试官又问了一遍,有什么让你眼前一亮的学习经历吗。我就讲了之前做的一个题,LC169多数元素,讲摩尔投票法特别让我眼前一亮,我先讲了自己想的三种方法,排序,哈希,随机算法,最后着重描述我初次看到最优算法时那种让我眼前一亮的感觉,然后描述了算法具体内容。不过可能讲述逻辑不太对,没太讲清楚。
然后面试就结束了,5分钟后hr
说二面通过了,约了晚上三面。