首页 > 字节跳动 秋招 C++客户端开发 123+hr面面经
头像
麻城明歌
编辑于 2020-09-02 16:53
+ 关注

字节跳动 秋招 C++客户端开发 123+hr面面经

投递的客户端岗位,面试流程从7月6号到7月21号,已意向;

一面:

1、自我介绍

2、C++11的新特性?

3、lambda表达式使用时需要注意什么?

4、模板了解吗?模板的优缺点?

5、介绍多态特性?如何查找定位虚函数表?如何找到对应的虚函数?

6、编译过程的详细步骤?

7、介绍智能指针?share_ptr 和 weak_ptr 的实现原理?

8、代码题:查找完全二叉树的最后一个节点;要求复杂度小于O(n);

思路:二分思路,根据左右子树最左侧路径的深度进行二分,判断到最后一个节点;

9、智力题:一个不规则的硬币,正面概率为p!=0.5,AB两人抛硬币,设计规则,使游戏公平;

思路:直接两人分别抛指定次数,正面次数多的赢;

10、有什么想问的:

1、部门具体职责?对图形图像要求? 答:特效部门,图形知识加分,可以给你推介到其他部门;

2、面试具体情况?下一步通知?感觉面试对我不太满意,答到一到三天发感谢信;

二面:

1、介绍下epoll?ET、LT?内部实现?epoll中为啥使用红黑树?

2、HTTP协议处理是自己写的吗?是纯字符串处理吗?

3、线程池怎么创建的?是模板类吗?看什么书?是muduo吗?

4、线程池模板类是不是和协议处理类有耦合?如何利用线程池处理多种协议?得加中间层;

5、日志线程怎么做的?消息队列加锁吗?取一个读一个的处理方式有没有性能问题?

6、move移动语义了解吗?A b = std::move(a); 的底层原理?

7、一个类A的两个对象a和b,里面有个int成员,A b = std::move(a); 操作后int型会变化吗?(答得不好)

8、resize 和 reserve 的区别?new 和 malloc 的区别?

9、make_shared 和 make_unique? 为什么要使用这两个方法?

10、有没有自定义过智能指针的deleter?

11、vector的动态扩容?设计的时候为啥没有动态缩容的机制?

12、类中定义的带参数的构造函数后,默认就不构造无参构造函数了,是出于什么原因?

13、explicit 和 implicit 关键字是干嘛的?

14、介绍虚拟内存?为什么要用虚拟内存?虚拟内存归根到底有什么作用?

15、模板类?定义和实现能写到一个.h文件中吗,为什么?可以 include .cpp 吗?

16、生成模板实例时,每个用到模板类的编译文件中都有相同的代码块,不啰嗦吗?编译器怎么解决这个问题?

17、代码题:01背包(没做过,想了好久,申请换题,面试官同意,换成了跳台阶,笑哭)

18、有什么想问的?

1、图形算法不了解,客户端纯开发岗位也可以吗?答:也有,也需要些纯开发人员,图形也可以边干边学;

2、第一道代码题没想出来,影响大不大?答:常有的事,面试官说自己算法也不好,以前都是出二分的题;

三面:

1、自我介绍?

2、线程有大小限制吗?线程池是完全自己写的吗?

3、epoll的内部机制?详细说一下;

4、结合select说一说用户态和内核态的转换过程?

5、生产者消费者模型?设计时怎么样兼顾性能和安全性?

6、单生产者、单消费者情况下,如何实现无锁的线程安全机制?

7、运行时多态的机制,特性?dynamic_cast<>底层原理?

8、频繁new、delete导致内存碎片,现在需要自己创建一个内存池,使用何种策略避免内存碎片问题?

9、给了一个继承结构的虚析构函数程序,判断析构时的顺序和输出内容;

10、模板了解吗?可以将模板的声明和定义写在不同的文件中吗?为什么?

11、模板的特例化了解吗?

12、对工作条件、工作内容的诉求和期望?

13、写代码吧,给一个有固定位置野怪的坐标地图,给一个英雄坐标,快速求距离英雄最近的野怪位置;

(由内向外逐层遍历效率低,还有更好的办法没?)面试官提示建立二维索引,没写出来;

14、有什么想问的?

1、渲染引擎研发岗的具体职责? 主要是研发,不太要求过多的图形学知识,主要负责开发图形运算渲染的逻辑框架;

2、对新人的培养方案? 很全面,一对一导师,有丰富的各岗位课程,试用期会进行针对性的学习;

3、代码题的思路? 这是典型的一个图形求距离的算法,可以利用四叉树、八叉树等数据结构实现;

4、代码题没做出来,可以再出一道吗? 面试官笑而不语,说他的问题问完了;

HR面:

1、自我介绍

2、为什么选择字节?

3、对其他互联网大厂有什么看法?

4、你觉得前几面的感受怎么样?

5、你觉得前面面试官对你的评价如何?优点?缺点?

6、你觉得你哪里最能打动面试官?

7、研三师兄那边有没有听到字节不尽人意的地方?

8、对工作岗位、工作内容的诉求?打算?期许?

9、华为的比赛有没有直通绿卡?为什么不选择华为?

10、比赛时遇到的最大困难?

11、比赛时如何合作?如何分配时间?谁来主导?

12、比赛时有什么遗憾的地方?吸取的教训?

13、问题?

1、从北京转到杭州,对面试有没有影响啊? 没有,都是多媒体部门,统一招聘,技术面面试官不管投递的哪个城市;

2、后续的具体流程?后续会和二三面面试官进行综合评定,约一周时间会发意向书或感谢信,如果通过的话九月份会商讨薪资和入职事项;



六天后收到字节的意向书,真的很感激字节跳动了,

因为投递得比较早,很多问题答得其实并不好,尤其是二三面的代码题,都没撕出来竟然还让我过了。。

字节这几位面试官给我的感受是,问的问题多是引导推导型的问题,不会按照套路问一些可以背书的常见面试题,

他们貌似更注重面试者思考问题的方式,能不能把知识融会贯通;比如二面的时候,面试官就问了好多类似这样的问题:

C++中有一个机制,是balabala,但是却没有对应的另一个机制,C++库的作者应该比我们都厉害得多,那他为什么不实现一个这样的机制呢?你有没有考虑过?

我个人也非常认同这种面试方式,确实可以在跟面试官的沟通交流中学习到新的知识,受益匪浅;

如果面经涉及到了公司隐私,还请麻烦联系我,我会尽快删帖;

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐