腾讯(WXG后台)4(技术)+1(HR)(已oc,还愿)
腾讯一路面试过来也快跨了一个月了,真的很不容易,分享一波面经攒攒运气,许愿OC,也祝各位牛油大佬早日上岸
一面
手撕四道题
1、 奇偶链表
2、 二叉搜索树找到第K大的节点,不能转存
3、 接雨水
4、 rand35()实现rand47()
笔试做了一个小时,然后和面试官讲解题目大概花了15分钟
面试过程
1、 TCP建立三次握手的过程,为什么初始化序列号要随机取,从0开始会出现什么问题
2、 TCP为什么要有确认号
3、 进程与线程的区别,分配给进程的资源是什么
4、 协程,什么时候用到过,协程与线程的区别,协程什么时候释放CPU
5、 Linux命令 awk,strace,gdb调试相关
6、 虚拟地址和物理地址
感觉一面大部分看笔试题,面试官说我编程能力还可以,然后约了第二天现场二面。
二面
手撕四道题
这次手撕是现场面试,在草稿纸上手写
1、 两个链表相加
2、 数组循环移动K位
3、 最长无重复子串
4、 K个一组反转链表
面试开始
大部分都是网络的问题
1、 TCP三次握手,画图
2、 从局域网访问一个URL的整个过程,NAT技术,DNS,ARP协议等
3、 如果有一个包1M,怎么分片
4、 把TCP的头部写出来看看
5、 TCP相关慢启动,拥塞避免,快重传,快恢复
6、 TCP怎么保证报文的顺序(序列号seq,ack)
7、 TCP中有一个包丢了怎么重发,接收端失序的包放在哪里
8、 IO多路复用怎么实现,服务端怎么处理,写一下整个过程(类似伪代码之类的吧)
9、 介绍一下数据库的两种引擎
10、 Mysql和Myisam使用select * 查询的过程的区别(MyIsam是非聚集索引)
11、 Mysql使用索引查询和不使用索引查询的查询流程,效率差多少(B+树)
反问
三面(GM面)
手撕三道题
1、二叉搜索树
2、回形矩阵
3、广告位概率问题
笔试给了1.5个小时做,然后做完就开始面试了
1、 介绍项目,项目中用到了压缩算法,压缩比?使用压缩之后CPU负载是否升高,怎么考虑压缩比和CPU之间的权衡,项目问的多。
2、 打算今后从事哪种类型的工作
三面聊天多一点
四面(GM面)
1、 浏览器输入URL之后的所有过程,客户端怎么处理,服务端怎么处理
2、 服务端怎么解析http请求
3、 服务端在处理http请求的时候会有什么问题,怎么解决
4、 服务端怎么同时处理多个请求
5、 为了进一步提高并发量,客户端可以怎么做,服务端可以怎么做
6、 为了保证通信之间的安全要怎么做(https)
7、 https的TLS握手过程
8、 https会不会出现中间人攻击
9、 如果目标服务器被代理服务器劫持会怎么样
10、 为了加速磁盘的存取速度,一般会使用缓存,缓存要使用什么数据结构才能保证效率最高(LRU)
11、 LRU怎么实现的,要用什么数据结构
12、 将一个文件从内存中写入磁盘,设计一种数据结构来加速这个过程(应该是LSM树)
13、 数据库的索引如何加速查询过程,为什么不用红黑树
14、 给微信朋友圈设计一个表的结构来存储,怎么查询某一条朋友圈
15、 面向过程和面向对象各自的优缺点
16、 你自己最常用的面向对象的哪个特性,面向对象编程有什么陷阱
17、 负载均衡的算法
18、 线程之间的同步方式,自旋锁和可重入锁的区别,什么时候使用
19、 你的能力体现在哪些方面
HR面试(迄今为止面过最长时间的HR面,,45min)
1、 介绍一个印象最深的项目
2、 介绍一个最有挑战性的工作,挑战在哪,怎么解决,在这之前解决过相关的问题吗
3、 前几次面试的体验如何,有什么收获吗
4、 介绍一个最优挫败感的事,你觉得为什么会失败
5、 你的缺点
6、 朋友怎么评价你的
7、 为什么要读研,为什么要做后台开发的相关工作,讲讲从进大学到现在是怎么一步一步规划的
8、 在团队合作中你主要承当什么角色
9、 你觉得之前做的项目还有优化的余地吗,怎么优化
10、 平时怎么学习的
11、 哪里人,父母是做什么工作的,有兄弟姐妹吗
面试过程的体验非常nice~许愿鹅厂offer
#面经##校招##HR面##腾讯##C++工程师#