提前批|字节跳动 成都效率工程后端C++提前批面试,新鲜面经

作者: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日

一面:

  1. 内存对齐的作用
  2. 多态,静态多态,动态多态
  3. 内联函数inline作用
  4. 析构函数virtual作用
  5. 进程和线程区别,资源分配,调度单位
  6. 进程、线程间通信方法
  7. Top K问题:先是多个文件无重复记录Top K
  8. 然后问有重复记录怎么做:多个文件记录IP访问频率,每个文件中有重复记录,加起来可能大于部分TOP K,怎么找TOP K。

似乎是用hash重新对所有记录映射到文件,同一key的记录必然映射到同一文件,没答上来

代码题

146.LRU Cache

一面14.30开始,15:20结束,当天17点左右hr打电话约定明天7.5日的视频面试

二面:

  1. map和unorder_map区别
  2. 红黑树了解多少,avl区别
  3. Session和Cookie
  4. 数据库了解么——不懂
  5. Time_Wait 握手挥手
  6. 什么时候重哈希
  7. C++11下新特性,说了一通包括右值引用move,forward
  8. lambda函数,函数符
  9. 旋转数组找中位数

代码题:

两个排序数组找第k个,原题为旋转数组找最小值

二面这里其实关于web这块我答的很差,明显不是太懂cookie;数据库用的少,只会写sql语句,隔离,事务,触发器都讲不太清楚,所以直接说不了解了。其他c++都答的还行

二面由于7.5日星期五,当天hr打电话约定下周2到公司现场面试。

三面:

  1. 自我介绍,随便介绍了做了什么项目
  2. 问我哪个实验室,我说网络空间安全实验室,
  3. 问我知道哪些攻击,sql攻击,xss攻击,我说我大概了解这些,但是讲的不太清楚。
  4. 问我sql攻击原理,我举例单引号
  5. 然后问我如何防范,我说可以过滤关键字,或者nosql数据库
  6. 再问我nosql有哪些,我忘记了mongoDB没答上来。
  7. 到这里我就感觉有点被牵着鼻子走了,我一直在把话题往项目和c++上引导,但是面试官仍然问我web的内容:
  8. session和cookie区别,cookie的加密与安全性保证,cookie和session生命周期,什么时候失效
  9. https的建立过程,优缺点,什么时候使用对称加密什么时候使用非对称加密
  10. http2.0 http1.1 特点区别

我并不是web方向,这一块估计也就了解的程度

接着又问数据库了解程度,我还是说不懂

1.数据库隔离等级——不懂

2. 数据库触发器——了解一点,回答了一下,勉强答上

3.联合索引——ok

4.B树B+树区别——勉强答上

然后终于问了俩偏操作系统的问题:

1.服务器怎么处理多个session,什么线程模型

2.fork复制哪些东西

代码题:

trapping-rain-water

我开始用双指针法给面试官解释了一通,面试官似乎并没了解这种方法,我又辗转画图+描述+代码给他讲了10多分钟,终于说ok了;然后我顺便介绍了一下可以用递减栈完成。

情景题:

  1. A向B传输数据,设计一个协议,保证到达,怎么分块确认。
  2. 我介绍用TCP的确认机制,
  3. 面试官说这样会多次重传收到的块。我继续介绍说可以选择性重传,保存一个hash表。
  4. 面试官说hash表过大怎么办,我说可以做区间合并,介绍了leetcode那个Merge Interval。
  5. 面试官又说收到的块必须不重发,我说ACK中可以加入额外分块确认字段。

最后问了一下我有什么问题。

在公司吃饭又聊了一会,回去等消息。

hr:

第二天上午,刚填完面试体验问卷,hr微信说我三面没通过,原因是基础知识不过关。。。我真的服了

然后我向hr解释,面试C++岗,怎么问的全是web和数据库的,C++一个没问。

hr发了个岗位要求和职责介绍给我。。。(行吧,除了php我看不出哪里和web有关)。

over了,我继续修炼去了,88宇宙头条。

哎,被面试官一直用深度优先搜索的方法问各种问题,问到你说我不知道为止,难受啊。

还是,web和数据库看的太少,真的仅仅是很肤浅的了解,加上面试官一直问这些问题,准备的也不够充分,88宇宙头条。

与作者交流:https://www.nowcoder.com/discuss/205353

更多笔经面经:https://www.nowcoder.com/discuss?order=0&type=2

    原文作者:牛客网
    原文地址: https://zhuanlan.zhihu.com/p/74821394
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞