腾讯实习生后台开发面试经历
提前批:
IEG面试官是王者荣耀的后台主程,我感觉他水平还是很高的,比如:匿名内存映射以及堆分配内存是由mmap函数里的阈值来调整的;一致性哈希算法本身也存在可能分布式不一致的问题。
腾讯IEG后台开发一面
1.自我介绍
2.项目里用到Hibernate,为什么要用这个框架
3.你们为什么要把进程、文件的依赖关系映射到设备端中呢
4.下面问基础知识:什么是僵死进程?
5.什么是守护进程?
6.子进程退出会向父进程发出什么信号
7.父进程退出如何告诉子进程
8.虚拟内存和RSS的区别
9.可执行文件的存储结构
10.那栈空间是从高地址分配空间吗
11.堆空间是从低地址分配空间吗
11.1 mmap的原理
12.虚拟地址和物理地址的区别
12.SWAP分区是什么
13.cache和data
14.块又是什么呢
15.大顶端和小顶端的区别
16.网络字节是哪个字节序
17.MTU和MSS的区别
18.TCP分段和IP分片
19.TCP三次握手和四次挥手
20.为什么会有TIME_WAIT状态
21.SYN攻击是什么
22.常见的SYN防御方式
23.new和malloc的区别
24.malloc分配内存的策略
first hit best hit
24.子类继承父类,初始化顺序
25.virtual函数
26.你对未来的职业有何规划
27.那你知道常见的负载均衡算法吗
28.一致性哈希本身存在什么问题(考察学习思考能力)
29.你有什么想问我的
我们主要看在校的项目经验,但是如果没有丰富的项目的话,就看重基础和学习能力了。基础的话就是我刚刚问你的那些,学习能力就是除了你在课上学习的东西,有没有额外地学习一些东西,并且考虑自己怎么实现、提升。而且比如说我刚刚说到一致性哈希自身有什么问题,这都是需要去自主学习思考的,而不是了解概念就完了。我了解得也差不多了,那就这样吧。
**结果**
凉。
**总结**
王者荣耀组问了我差不多30个问题,基础面考察很广很深,当时还没来得及巩固基础,所以连虚拟地址映射都没回答清楚,所以这一面没过可以说是3月初还没开始复习。后来一个月就不断看书,刷题。基本把本科的内容复习完了,所以后续面试就很轻松。
腾讯深圳提前批现场面试 TEG后台一面
-
自我介绍
-
手写一个双向链表
-
双向链表增加并删除节点
-
谈一下你的项目吧
• 略 -
数据结构和算法学的怎么样
• 还行吧,经常刷题 -
10亿个元素找出最大的100个元素
• 小顶堆和partition -
你经常用的树有哪些
• B树 • Trie树 • 二叉查找树 • AVL树 • 红黑树(了解) -
B树和B+树的区别
• 略 -
你看过哪些书呢
• Unix环境高级编程 • Unix网络编程 ○ 卷一 socket ○ 卷二 ipc • Corejava ○ 卷一 基础 ○ 卷二 进阶 • java编程思想 • java并发编程的艺术 • 深入理解JVM • TCP/IP协议 卷一 • Linux系统编程 • Redis实战 • C++ primer • Effective C++ • 深入理解C++对象模型 • STL源码剖析 • C++ primer • python基础教程 -
你看书看的挺多的,那你代码实践怎么样呢,你给写一个简单的并发TCP服务器和客户端吧
• 前几天帮学姐调试的时候顺便自己写了个epoll多线程并发,所以写的也不费劲 -
那你还知道其他的并发方式吗?
• 思想:父进程fork多个子进程,迭代服务器 -
你看书是为了找工作看的呢,还是你出于别的原因?
• 并发是写项目需要,所以把名著的demo都跑了一遍 • java和python是自己的兴趣所在,所以相对看的更多一些 • redis是当前应用很广泛的Nosql数据库,比memcached相比有很大的优势 • 所以主要还是兴趣驱动的吧(其实就是为了找工作 -
简单谈谈你对redis的了解
-
进程通信有哪些方式呢
• 管道 • FIFO • 消息队列 • 同步(互斥量、读写锁、条件变量、记录锁) • 信号量 • 共享内存 • 套接字 -
TCP和UDP的区别
-
那你看过哪些开源项目的源码呢
• Snort,和项目有关(然后把运行流程说了一遍) -
那我用tcpdump拦截端口号为80的数据包该怎么做呢
-
你还有什么要问我的?
**结果** 过 **总结** 现场面一面是很轻松的,因为之前IEG面过之后就狠狠复习了基础,这些问题都略显简单了。可能是这面表现很好,后续的面试就再也没有问过我基础问题了,只针对我的项目问问题了,特别是线路面试尤为明显。
腾讯深圳提前批现场面试 TEG后台二面(压力面)
1.简单介绍下在校时做过的项目
2.你们项目里的主动存储是什么意思
3.那我用单机来做和用多个OSD来做有什么区别吗
4.那你觉得你们项目里有难点吗(被鄙视
5.你们论文是不是有点水分存在的呀(被鄙视
6.这个项目测试的数据量有多大(被质疑
7.那这个项目测试的效果又怎样呢
8.这个国家自然科学基金项目好像和我们工业界并没有联系得很紧呀(再次被鄙视
9.你了解工业界常用的服务器架构吗
10.那你了解redis怎么实现可靠性和高可用性吗
11.redis做集群你了解不
12.你对你的职业规划是怎样的
13.那你平常有去查看一些源码或者学习新的框架吗
14.能实习多久
15.我对你的建议时,做科研不要太封闭了,多看看业界是怎么做的。然后自己感兴趣的东西一定要去多挖掘一下,不要浅尝辄止对吧,上去等HR面通知吧(我就是不了解才来找实习的呀…
**结果**
凉。
**总结**
这次面试经历最不爽了...感觉是一场压力面,问项目的时候问的很细,我没有提前准备好,有些回答没来得及组织语言。然后确实后台的架构比如NginX、Tomcat本身的源码我也没有查看过,所以后续又把NginX给看了一遍。确实给我提了一些不错的建议,还是很感谢这位面试官的。
线路面试
TEG后台一面
-
简单的自我介绍(我都背下来了)
-
你们的项目只是为了收集溯源信息吗
-
那入侵检测用的哪种算法
-
还了解别的入侵检测算法吗 (之前写本子调研的用CNN intrusion detection.
-
你承担的工作是哪些呢
-
整个编码过程,你觉得最难的地方在哪儿
-
那你有尝试进行优化,或者说是硬抗下来的吗(真的是硬抗
-
目前测试的效果如果,误检率多少
-
行吧,那简单写个小程序,逆序单链表
-
不错,你的优缺点是什么
-
还有什么想问我的吗
-
基础的话,我们是根据笔试成绩以及之前面试的记录来评判的,所以不会重复再问的。
**结果** 过 **总结** 大概是之前笔试编程题AC了两道,然后之前一面反馈都还不错,所以就没有问我基础问题了。
TEG后台二面
-
项目
-
博客里的问题
-
还有什么想问的
**结果** 过 **总结** 依然没问基础问题,应该是之前有记录在的。然后面试官人很好~
TEG后台HR面
-
自我介绍
-
家是哪儿的,父母干什么的
-
为什么不想回成都发展
-
你这么年轻就要硕士毕业了,是跳级还是读书早呀
-
有女朋友是吧
-
BAT三家给你offer,你选哪家(必然你们家啊
-
对深圳的印象怎么样
-
实习时间
-
还有什么问题
**结果** 拿到offer **总结** 没啥好说的,第6点可以提前准备一下,提一下企业文化以及个人发展空间。