作者:lyh802
链接:https://www.nowcoder.com/discuss/205353
来源:牛客网
上周投递字节跳动成都后端C++岗位,7月2日做效率工程笔试,笔试总共5个题。
笔试:
1.扑克牌游戏,规则为开火车,牌多的获胜
2.计算任意一天到2012年3月12日的天数差
3.多门课程分班。条件为:每个班人数必须相同;一个班只能上一门课,一门课程可以多个班级;班级数量尽可能少
4.给定多条道路,求最少道路连通。粗一看是个生成树,最小代价,但是有个限制条件,有AB两种节点,同种节点不能直通
5.网络某节点到其他所有节点的最大延时。似乎是先floyd求到其他所有节点的最短距离,再找其中的最大值。
我前3个100%通过,4题不会,第5题Floyd没写全没做完。第二天就hr电话通知约定视频面试,电话似乎是北京的总部打来的。面试定在下一天7.4日
一面:
- 内存对齐的作用
- 多态,静态多态,动态多态
- 内联函数inline作用
- 析构函数virtual作用
- 进程和线程区别,资源分配,调度单位
- 进程、线程间通信方法
- Top K问题:先是多个文件无重复记录Top K
- 然后问有重复记录怎么做:多个文件记录IP访问频率,每个文件中有重复记录,加起来可能大于部分TOP K,怎么找TOP K。
似乎是用hash重新对所有记录映射到文件,同一key的记录必然映射到同一文件,没答上来
代码题
146.LRU Cache
一面14.30开始,15:20结束,当天17点左右hr打电话约定明天7.5日的视频面试
二面:
- map和unorder_map区别
- 红黑树了解多少,avl区别
- Session和Cookie
- 数据库了解么——不懂
- Time_Wait 握手挥手
- 什么时候重哈希
- C++11下新特性,说了一通包括右值引用move,forward
- lambda函数,函数符
- 旋转数组找中位数
代码题:
两个排序数组找第k个,原题为旋转数组找最小值
二面这里其实关于web这块我答的很差,明显不是太懂cookie;数据库用的少,只会写sql语句,隔离,事务,触发器都讲不太清楚,所以直接说不了解了。其他c++都答的还行
二面由于7.5日星期五,当天hr打电话约定下周2到公司现场面试。
三面:
- 自我介绍,随便介绍了做了什么项目
- 问我哪个实验室,我说网络空间安全实验室,
- 问我知道哪些攻击,sql攻击,xss攻击,我说我大概了解这些,但是讲的不太清楚。
- 问我sql攻击原理,我举例单引号
- 然后问我如何防范,我说可以过滤关键字,或者nosql数据库
- 再问我nosql有哪些,我忘记了mongoDB没答上来。
- 到这里我就感觉有点被牵着鼻子走了,我一直在把话题往项目和c++上引导,但是面试官仍然问我web的内容:
- session和cookie区别,cookie的加密与安全性保证,cookie和session生命周期,什么时候失效
- https的建立过程,优缺点,什么时候使用对称加密什么时候使用非对称加密
- http2.0 http1.1 特点区别
我并不是web方向,这一块估计也就了解的程度
接着又问数据库了解程度,我还是说不懂
1.数据库隔离等级——不懂
2. 数据库触发器——了解一点,回答了一下,勉强答上
3.联合索引——ok
4.B树B+树区别——勉强答上
然后终于问了俩偏操作系统的问题:
1.服务器怎么处理多个session,什么线程模型
2.fork复制哪些东西
代码题:
trapping-rain-water
我开始用双指针法给面试官解释了一通,面试官似乎并没了解这种方法,我又辗转画图+描述+代码给他讲了10多分钟,终于说ok了;然后我顺便介绍了一下可以用递减栈完成。
情景题:
- A向B传输数据,设计一个协议,保证到达,怎么分块确认。
- 我介绍用TCP的确认机制,
- 面试官说这样会多次重传收到的块。我继续介绍说可以选择性重传,保存一个hash表。
- 面试官说hash表过大怎么办,我说可以做区间合并,介绍了leetcode那个Merge Interval。
- 面试官又说收到的块必须不重发,我说ACK中可以加入额外分块确认字段。
最后问了一下我有什么问题。
在公司吃饭又聊了一会,回去等消息。
hr:
第二天上午,刚填完面试体验问卷,hr微信说我三面没通过,原因是基础知识不过关。。。我真的服了
然后我向hr解释,面试C++岗,怎么问的全是web和数据库的,C++一个没问。
hr发了个岗位要求和职责介绍给我。。。(行吧,除了php我看不出哪里和web有关)。
over了,我继续修炼去了,88宇宙头条。
哎,被面试官一直用深度优先搜索的方法问各种问题,问到你说我不知道为止,难受啊。
还是,web和数据库看的太少,真的仅仅是很肤浅的了解,加上面试官一直问这些问题,准备的也不够充分,88宇宙头条。