提前批:

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后台一面

  1. 自我介绍

  2. 手写一个双向链表

  3. 双向链表增加并删除节点

  4. 谈一下你的项目吧

     • 略
    
  5. 数据结构和算法学的怎么样

     • 还行吧,经常刷题
    
  6. 10亿个元素找出最大的100个元素

     • 小顶堆和partition
    
  7. 你经常用的树有哪些

     • B树
     • Trie树
     • 二叉查找树
     • AVL树
     • 红黑树(了解)
    
  8. B树和B+树的区别

     • 略
    
  9. 你看过哪些书呢

     • Unix环境高级编程
     • Unix网络编程
             ○ 卷一 socket
             ○ 卷二 ipc
     • Corejava
             ○ 卷一 基础
             ○ 卷二 进阶
     • java编程思想
     • java并发编程的艺术
     • 深入理解JVM
     • TCP/IP协议 卷一
     • Linux系统编程
     • Redis实战
     • C++ primer
     • Effective C++
     • 深入理解C++对象模型
     • STL源码剖析
     • C++ primer
     • python基础教程
    
  10. 你看书看的挺多的,那你代码实践怎么样呢,你给写一个简单的并发TCP服务器和客户端吧

    • 前几天帮学姐调试的时候顺便自己写了个epoll多线程并发,所以写的也不费劲
    
  11. 那你还知道其他的并发方式吗?

    • 思想:父进程fork多个子进程,迭代服务器
    
  12. 你看书是为了找工作看的呢,还是你出于别的原因?

    • 并发是写项目需要,所以把名著的demo都跑了一遍
    • java和python是自己的兴趣所在,所以相对看的更多一些
    • redis是当前应用很广泛的Nosql数据库,比memcached相比有很大的优势
    • 所以主要还是兴趣驱动的吧(其实就是为了找工作
    
  13. 简单谈谈你对redis的了解

  14. 进程通信有哪些方式呢

    • 管道
    • FIFO
    • 消息队列
    • 同步(互斥量、读写锁、条件变量、记录锁)
    • 信号量
    • 共享内存
    • 套接字
    
  15. TCP和UDP的区别

  16. 那你看过哪些开源项目的源码呢

    • Snort,和项目有关(然后把运行流程说了一遍)
    
  17. 那我用tcpdump拦截端口号为80的数据包该怎么做呢

  18. 你还有什么要问我的?

    **结果**        
    过
    
    **总结**        
    现场面一面是很轻松的,因为之前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后台一面

  1. 简单的自我介绍(我都背下来了)

  2. 你们的项目只是为了收集溯源信息吗

  3. 那入侵检测用的哪种算法

  4. 还了解别的入侵检测算法吗 (之前写本子调研的用CNN intrusion detection.

  5. 你承担的工作是哪些呢

  6. 整个编码过程,你觉得最难的地方在哪儿

  7. 那你有尝试进行优化,或者说是硬抗下来的吗(真的是硬抗

  8. 目前测试的效果如果,误检率多少

  9. 行吧,那简单写个小程序,逆序单链表

  10. 不错,你的优缺点是什么

  11. 还有什么想问我的吗

  12. 基础的话,我们是根据笔试成绩以及之前面试的记录来评判的,所以不会重复再问的。

    **结果** 
    过
    
    **总结**
    大概是之前笔试编程题AC了两道,然后之前一面反馈都还不错,所以就没有问我基础问题了。
    

TEG后台二面

  1. 项目

  2. 博客里的问题

  3. 还有什么想问的

     **结果** 
     过
     **总结** 
     依然没问基础问题,应该是之前有记录在的。然后面试官人很好~
    

TEG后台HR面

  1. 自我介绍

  2. 家是哪儿的,父母干什么的

  3. 为什么不想回成都发展

  4. 你这么年轻就要硕士毕业了,是跳级还是读书早呀

  5. 有女朋友是吧

  6. BAT三家给你offer,你选哪家(必然你们家啊

  7. 对深圳的印象怎么样

  8. 实习时间

  9. 还有什么问题

     **结果** 
     拿到offer
     **总结** 
     没啥好说的,第6点可以提前准备一下,提一下企业文化以及个人发展空间。