字节客户端 0基础123面

一面19号,二面21号,三面26号,没有hr面,今天下午收到了意向书
没有录音,下面的内容全是回忆,漏了不少一些问题

一面:1h
1. 自我介绍
没问项目,问基础
2. 进程和线程的区别
3. 进程之间的通信方式
4. 详细讲一下各种方式的原理
5. 其他问题忘了
6. 算法:leetcode第4题,寻找两个有序数组的中位数,时间复杂度O(log(m + n)) 困难
(没写出来😭,想了一个o(m + n)的解法,但是写不出来,写了10行代码就给面试官看了,面试官看代码的时候都不敢看他。。。。面试官看代码有数组越界问题,让我改,改了5分钟没改出来。。然后面试官说我不想写代码(原话),我都要吓死了😭,最后跳过了,谢面试官不杀之恩)
7. 讲一下socket是什么(上面讲各种通信方式的原理的时候没讲清楚socket,也是本来就不知道咋讲😂,就开始乱扯)
8. 什么是死锁
9. 死锁必要条件,详细讲一下
10. 其他问题忘了
11. 最后一道算法:用两个队列实现栈

二面:45min
1. 自我介绍
2. 问项目,我项目一个是大文件分块传输,另一个是谷歌插件
深挖第一个项目:
怎么分块传输
怎么确定文件发送完毕
怎么实现断点续传
怎么确保文件完整无损坏(答md5)
讲一下md5的原理
md5安全不安全
其他项目问题忘了
3. 进程和线程的区别
4. 线程通讯方式
5. http和https的区别
6. https的连接过程
问C++
7. 你是怎么看待多态的
8. C++怎么实现多态
9. 讲一下虚函数(将虚表指针,虚表)
10. 知道纯虚函数吗
11. 讲一下智能指针
12. 右值引用知道吗(不知道)
13. move知道吗
14. 其他C++问题忘了
15. 算法:二叉树的深度,递归,迭代两种方式
二面里问了很多C++的问题,其余的计网、操作系统只是随口问了下

三面:1h
1. 自我介绍
2. 问第一个项目
3. 怎么分块传输
4. 怎么断点续传
5. 在传输某一块的过程中断开连接怎么办
6. 客户端是单线程,服务器是多线程和异步,客户端设计成多线程应该怎么做
7. 客户端多线程多个小文件怎么合并成大文件,串行?并行?
8. 并行合并文件会有什么问题,该怎么做
9. 服务器用了select模型,select和epoll有什么区别
10. 为什么select有最大文件描述符的限制
11. 问第二个项目,第二个项目是基于谷歌插件技术为普通网页添加弹幕功能
12. 怎么把自己的代码插入到其他人的网页中(答这是谷歌插件做的)
13. 你自己要实现这个功能,你会怎么做
14. 你是怎么实现弹幕功能的
15. 网上有实现这个功能的方案吗
16. 一个屏幕有最大弹幕数量的限制吗
17. 弹幕太多会影响性能吗,最影响性能的操作是什么
18. 你用了jquery的animate函数,它是怎么做的
19. 你的弹幕功能的灵感是是来自哪里
项目结束
20. 共享内存知道吗,它的原理是什么,详细讲一下
21. 语言的原子操作知道吗(不知道)
22. 其他问题忘了
23. 设计模式了解吗,知道单例模式吗(答知道一点,然后题目弹窗就出来了。。,赶紧在面试官说:那写一个单例模式吧 之前补了一句就知道单例模式是一个类同时只存在一个实例😂)
24. 前几面都写过算法吧,感觉算法怎么样(答一般般,还行)
25. 算法:求最长字符串中的最长不重复子串,返回这个子串
面试官电脑没电了,改用电话
26. 学习和生活中遇到的最大困难
27. 你理想的职位是什么,理想的公司是什么样的
28. 能来实习吗

上面的内容全是回忆,忘了不少问题,还记得的大部分是项目问题😂,不过字节的面试官提的问题其实上都是一些基础问题,多复习多背背就可以了,其实上从提前批到现在面试官问的问题来来回回也就是那几十个。
最后祝大家都有offer

#面经##校招##字节跳动##Java工程师#
全部评论
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-27 18:19
厉害了
点赞 回复 分享
发布于 2020-08-27 18:22
楼主怎么没投后端呢,感觉后端更契合些😂
点赞 回复 分享
发布于 2020-08-27 18:27
楼主笔试A了几道啊
点赞 回复 分享
发布于 2020-08-27 18:35
请问是什么部门呢
点赞 回复 分享
发布于 2020-08-28 00:03
楼主为什么不用hr面?
点赞 回复 分享
发布于 2020-08-28 18:14
羡慕啊 26号3面后就没消息了😭😭😭
点赞 回复 分享
发布于 2020-08-30 17:26

相关推荐

项目遇到什么问题?(ffmpeg+qt+sdl播放器)(多线程,同步)项目是从零开始还是学开源项目的?(肯定开源啊)有修改哪些模块吗?把音频模块修改了,将QAudioOutput改写成sdl处理(实际情况是反过来,但简历来不及改了,嘻嘻)qt用的是qml还是qwidget(用的是qwidget)qt框架了解多吗?(只能说会用,这么多东西鬼记得住)为什么没做一些功能拓展?(倍速和播放分辨率没弄)如果让你实现倍速需要哪些操作?opengl熟吗?(只是用到,了解一下)多线程同步有哪些手段?(互斥、信号量、条件变量)进程同步怎么实现?(希腊奶)计算机网络5层和7层模型?http在哪一层?tcp在哪一层?http和tcp有什么区别?tcp和udp区别?http用的是tcp还是udp?路由器在哪一层?知道哪些路由协议吗?(希腊奶)dns解析有几级缓存?输入www.baidu.com到返回显示页面经历哪些过程?对于面向对象的理解?项目有用到面向对象吗?(有,但不多)项目有用到设计模式吗?(没有)C++哪些语法特性给你愉悦开发体验?(头一次听说这种问题,随便答了个lambda表达式)lambda有哪些捕获方式?你用lambda哪些地方用到比较多?(答了子线程)子线程加锁要怎么实现?创建子线程时把锁传进去吗?问了一下为什么简历做了rtsp服务器项目(说是为了以后做视频会议做考虑,实际是来凑数的)stl了解吗?列举你知道的map和unordered_map区别?为什么要有红黑树和哈希表,即应用场景是什么?问了一下学校课程情况?说了一下课程情况(学校讲的都是大便,还不都是自学的)两道题:(不知道为什么题写不了)第一道题:给定一个数组,求最大连续子数组的和(动态规划没思路,就说了用两个for循环暴力求解)第二道题:题目不知道怎么表述,反正是链表+递归解决
查看30道真题和解析
点赞 评论 收藏
分享
5 41 评论
分享
牛客网
牛客企业服务