一面约40min
本来预定是1h,但是没想到40min左右就结束了,感觉还不错
面试官看起来比较严肃(头有点秃),很厉害的样子,上来就说明今天面试分为两部分:基础知识和项目情况
基础知识方面
1.介绍一下信号量和锁,底层是如何实现的,以及它们的区别
2.你知道自旋锁吗,说一下和互斥锁的区别
3.讲一下红黑树的特征,应用场景
4.说一下浏览器输入网址后,接收到响应的一系列流程
5.说一下cookie和session的区别
(问题很少,但是每个都能叭叭很久)
项目情况
没有问深入的业务和细节,针对我的项目都是问项目是做什么的,具体的分工。
最后提问环节,他问了我对哪方面感兴趣,问了一下我简历上写的实验室研究方向;我问了他base,部门的工作,以及对我整体的评价:
说整体还不错,前面都答上来了。但是他说觉得我项目有点杂(前端,后端小程序啥都有),对我实际的一个水平还没有很清晰。建议我后面其他面试官有问到的话,好好准备一下(自我感觉应该是稳了,祈求二面)
二面 1h
二面约的是电话面,面试官和我确认了上一个面试官对我项目的提问情况,我说上一个面试官问的情况,他就表示不会细问项目,多问一些c++相关的。面试开始
- 因为项目写了Qt,所以他问我Qt是如何对事件响应的。我用信号和槽函数回答。
- 问了一个搜索问题:如何找出所有内容中含有某个字符串的文件。思路不是很明确,回答往B+树建立索引方向,讲了一下B+树的优点,为什么这么想;但是具体怎么用B+树来实现,没有回答上来。
- 问了一下文本压缩,知道什么算法。 上来就回答哈夫曼编码,讲了实现过程,以及能够这种编码有效的原因。
- 回答一下一亿个浮点数当中,如何找到最大的10个
很显然是top-k问题,说用一个大顶堆来维护,然后又问堆是如何维护的,大概说了一下流程就过了 - 口述一个算法:一个二维平

最低0.47元/天 解锁文章
4111

被折叠的 条评论
为什么被折叠?



