腾讯 移动客户端暑期实习一面

腾讯安全部门的一面挂了之后又被微信&视频部门捞起来了,遇到一个超好的面试官,是个紧跟新技术的大佬,给我发了个LRU算法的新技术,还介绍了最新的HTTP3.0协议,感觉学到了很多,希望后面能有好运气!

1. 面试官部门介绍,在广州,主要做各种平台客户端的开发
2. 自我介绍+项目介绍
3. 项目追问1:页面置换算法有哪几种?FIFO,LRU,  Clock(两种,访问位,修改位),LRU-2/2Q
4. 项目追问2:LRU算法具体实现细节,怎么进行插入删除的操作,怎么进行查找?使用哈希表存储页号与链表节点的映射,方便确定节点位置。访问一个页面的过程。
5. 项目中使用了多线程,那怎么保证线程同步的?mutex,look_gurd 怎么用的?两个线程同时访问一个函数,冲突,线程同步
6. 项目中有没有考虑使用信号量?进程同步问题。粗粒度锁,细粒度锁。
7. 有没有玩过游戏?比如王者荣耀,你觉得王者荣耀应该用TCP还是UDP? 答:UDP,保证实时性。那如果是击杀数这种比较重要的数据怎么办?答:可以TCP和UDP联合使用,不重要的渲染数据可以使用UDP,重要的使用TCP。面试官介绍了另一种方案:HTTP3.0,UDP实现可靠传输,重传机制等。 
8. TCP怎么保证可靠性的?拥塞控制,滑动窗口机制。具体原理是什么?
9. 数据库索引的作用?索引越多越好吗?
10. 算法题1:怎么判断一个链表是否有环?快慢指针
11. 算法题2:给定一个二维数组,每行从小到大排序,每列也是从小打到排序,给定一个target,怎么判断这个数组中是否存在这个target?先按每列末尾数字二分查找,再按确定的行二分查找。
12. 算法题3:怎么找到一个数组中的第k大的数?快速排序找到第k大的数。不能直接改变数组元素顺序要怎么找?对前k个元素建立小顶堆,后面的元素与堆顶元素比较,如果大于堆顶元素,则将其替换,并调整堆。堆是怎么建立的?可以通过数组建立吗?怎么调整堆?
13. 反问:为应对这个岗位以及后续的面试,在知识储备方面有什么需要加强的? 

更新------又挂了😥
#我的实习求职记录#
全部评论
楼主就是专门做客户端找客户端的实习嘛? 一面多久出结果啊
点赞
送花
回复
分享
发布于 04-01 18:36 安徽

相关推荐

timeline如下:主要投递游戏客户端和引擎开发岗位,3月17号投递简历,本来想着先拿小厂练手,没想到腾讯是最先约面的。17号周日晚上投的腾讯,20号约面21号下午3点天美一面,面经如下:1. 自我介绍2. 怎样学习新技术3. 目前在干嘛4. 20min项目,UE项目,主要是网络同步方面5. C++八股:   1. 虚函数原理   2. C++生成可执行程序的过程   3. 内存 堆和栈 的区别   4. 内存对齐   5. CPU 有哪些优化内存的手段   6. map 的底层原理   7. unordered_map 的原理   8. map 和 unordered_map 的对比   9. 哈希表   10. 碰撞处理   11. 怎样减少碰撞   12. 数据库是怎样实现的?为什么使用 B+ 树而不用哈希表?6. 开放性问题:   1. 你会怎样制作一个内存分配器   2. 堆中的内存碎片怎样处理7. 操作系统:   1. 进程和线程   2. 虚拟内存   3. 锁怎样实现   4. (答了两种TestAndSet)问它们的使用场景?为什么?8. 做道题吧:   1. 设计一个库,使用 C语言 实现 C++ 的虚函数机制(我直接裂开),不会,说了思路,他说大概是对的   2. 爬楼梯,递归和非递归9. 最后一个问题:只考虑渲染方向吗?gameplay 可以吗?无反问,最后说了一句:我会尽快把反馈给到你。总计 1h。我觉得答得很好,95%都打上了,但是最后流程卡了8天自动结束了(未完待续......)
点赞 评论 收藏
转发
点赞 19 评论
分享
牛客网
牛客企业服务