干货:腾讯和字节6篇面经(已oc)
2020-04-12 本文已影响0人
SMEB_
后端开发岗位,三非本科,暑期实习,字节和腾讯两个部门都用go。
另外也是纯python选手,希望能给同纯python的同学一点信心(T.T 当然还是不建议大家纯python学后端,如果来得及还是多学一门语言较好)。
腾讯
一面 1h
- 自我介绍
- 实验室是做什么的
- 自动化学院学的计算机知识多吗,学习情况怎么样
- 实习情况、工作内容,也只是用python吗,工作中有遇到什么问题吗,遇到问题的时候有去查日志吗,日志有报错吗
- 介绍一下项目的工作分工、具体设计
- 秒杀有测压吗
- 如何应对高并发
- 我说到降级,面试官打断我,问在哪里降级了,怎么做的
- 如果CPU达到100%,怎么处理
- 聊天功能怎么实现的,有群聊的场景吗
- 比赛结果如何?获奖了吗,其他参赛的项目有什么
- 只学了python吗,C++、java如何,go呢
- 面试官说他不了解python,虽然语言不同,但是都有垃圾回收机制吧,有了解过吗,讲一下吧
- 垃圾回收相关的算法了解吗
- 语言无所谓,讲一下其他基础吧。进程和线程的区别
- 多线程了解吗? 线程池呢。讲了一下python的单线程,GIL
- 那再讲一下协程吧
- 换个方向,讲一下计算机网络吧,七层模型都是做什么的
- 应用层有哪些协议
- 三次握手、四次挥手都讲一下
- TCP和UDP的区别、应用场景
- TCP如何保证可靠传输(我说了确认和重传),还有其他的吗。(我问流量控制和拥塞控制吗,面试官说对对,所以又讲了这两个)
- 排序算法了解吗,随便说一个你熟悉的
- 还是想问一些高并发的问题,因为我们工作场景可能都要面临上亿的并发(面试官想了好久,想不到问什么问题,让我随便说一个高并发相关的,我具体说了限流算法)
- 平时怎么学习的,平时有看什么论坛吗,有什么其他爱好吗?
- 实习时间
- 有什么要问我吗,问完面试官也给我介绍了一下部门情况
- 应该会有二面吧,保持电话通畅
一面感觉挺好的,面试官也比较随和。
二面 50min
- 自我介绍
- 介绍一下项目,介绍一下你负责后端相关的部分
- 数据库要怎么设计,具体情况分析,什么时候建索引不好
- 实习相关
- 专业问题
- 大数据相关的问题,什么是有监督学习,什么是无监督学习,还有什么其他深入学习,tensorflow了解吗,讲一下(讲了监督和无监督,tensorflow只了解一点,讲了一点神经网络)
- 未来发展方向?大数据,后端还是什么
- 会什么语言,只熟python的话那大数据算法掌握怎么样
- 新学一门语言要多久,到能参与工作开发要多久。我们这边实习基本没有学习时间。(。。。)
- 后端相关的项目
- 完整设计一个后端架构需要怎么做,通信方面要怎么处理,集群分布式要怎么搭,什么是分布式
- 有了解腾讯阿里谷歌的最新技术吗
- 你学过什么核心课程
- 最后给了建议,说不能只依靠学校的课程,让我多学学最新的技术,现在开源很方便的。
三面 40min
- 自我介绍
- 后台相关的项目,实习项目
- 实习中的难点,怎么解决的。
- 别的语言?大数据方向的情况,为什么选后端
- 项目中数据库怎么设计的,有具体测试性能吗,用了索引和没用索引性能差别多少,效果如果。
- 项目实现细节
- 还学习了什么
- 爱好
- 大四能实习的情况
基本就是一直深挖项目或者实习的具体实现细节。
hr面 20min
流程问题:
- 实习时间
- 身体状况
- 是否有直系亲属在腾讯
个人问题:
- 是否考研
- 聊校内项目,主要的职责,开发过程,使用什么语言
- 聊实习,实习有什么难点,和校内做项目相比有什么区别
- 有没投递其他公司,进度如何
- 有什么要问我的
字节跳动
周日下午从四点一直面到七点,周二收到oc。三天走完腾讯两周多才走完的流程...
一面 1h 10min
- 自我介绍
- 项目一直怼
- 用户很多redis都抗不住怎么办
- 消费的时候网络波动,数据库写进去了,但是返回用户超时了怎么办,怎么保证最终正确(扯了好久这个问题)
- 如何定位sql语句查询慢
- 给了个例子,表结构+SQL语句+explain,分析为什么慢,要怎么改,怎么优化
- redis哨兵模型、部署、原理,怎么选从服务器
- TCP可靠性、黏包(讲到了nagle算法,面试官追问具体怎么合并?合并到多大,大小是多少)
- 算法:某一个大文件被拆成了N个小文件,每个小文件编号从0至N-1,相应大小分别记为S(i)。给定磁盘空间为C,试实现一个函数从N个文件中连续选出若干个文件拷贝到磁盘中,使得磁盘剩余空间最小。函数返回值为剩余空间,若无解返回-1。如N=5,S={1,2,3,5,4},C=7。结果为start_index=0, end_index=2, return=1
- 算法:在一颗满二叉排序树深度为k,节点数为2k-1;节点值为1至(2k-1),给出k和任意三个节点的值,输出包含该三个节点的最小子树和根节点。
- 反问
节奏很紧,一个问题接着一个问题,提到某些点也会一直深挖,觉得掌握了就直接切问题。年轻的小哥像是没有感情的面试机器,全程也没说笑、聊天...
二面 50min
- 闭包怎么实现的
- GC
- TCP协议、timewait、如果有大量的timewait会有什么问题、拥塞控制、TCP通过什么来判断网络拥塞、
- linux系统,32位系统,一个进程有4G的内存空间,从高地址到低地址分别放什么内容
- 进程通信、共享内存底层怎么实现
- 物理地址和虚拟地址
- redis数据结构,zrank怎么实现的
- redis持久化方式,具体实现
- mysql聚簇和非聚簇
- 隔离界别
- 算法:最长回文子串长度
- 快排。时间复杂度,如何避免n2的情况(我说了随机一个下标作交换,他说这样还是有一定的几率n2,如何完全避免)
- 有没有可能存在一种排序算法时间复杂度能低于nlogn,解释一下
面试体验良好。
三面 1h 10min
- 自我介绍
- 项目,爬虫的攻防、具体设计等问题
- 在浏览器输入url访问网站的过程
- 跑马,64匹,8赛道,求最快的4匹
- 算法:给定m个不重复的字符[a,b,c,d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1.比如上面这个例子,acbd,3.
- 面试官说先思考,然后讨论思路,讲了O(N) 的思路,面试官让我继续优化
- 准备开始写代码的时候,提醒说注意代码风格、命名等
- 实习相关
- 最近看了什么技术方面的书籍
- 其他公司的面试情况