【腾讯】后端开发暑期实习面经(已offer)
腾讯qq一面:3.6——38min
1、自我介绍
2、项目相关
3、线程和进程的区别
4、共享内存的用法
5、僵尸进程是什么
6、TCP和UDP的区别
7、TCP如何保证可靠性的
8、TCP三次握手
9、Linux的fork指令
10、说出四个端口及作用
11、查看进程状态的指令
12、C++中malloc和new的区别
13、C++中include时如何保证不重复加载头文件
14、C++中的重写和重载
15、数据库中delete和drop的区别
16、数据库中视图的应用场景,数据库数据改变视图中的数据是否会改变
17、对于一个读多写少的大表,如果要增加一个字段,可以怎么做
本身搞Java、大数据方向的,对C++的知识基本为0,除了C++部分没回答出来,其它都答上来了,但是还是把我给挂了。
腾讯云一面:3.9——50min
1、自我介绍
2、怎么编码实现一个从http发送请求到返回的过程?思路?
3、数据库的隔离级别?底层怎么实现的可重复读?
4、如何使用数据库实现分布式锁?具体的sql语句?for update怎么区分是行级锁还是表级锁?
5、进程通信方式?共享内存怎么实现的?共享内存读取的是虚拟内存吗?通过读取相同的虚拟地址不行吗?为什么?
6、Kafka中的消费端丢数据怎么解决?多个进程如何读取Kafka中数据的?多个进程读的是同一个region吗?详细说说?mmap解析一下?
7、零拷贝机制说一下?零拷贝的底层怎么实现的?Kafka在哪个阶段用的零拷贝?
8、Zookeeper一般用来干嘛的?Hbase节点挂了怎么办?Hbase怎么依靠zookeeper做的HA?
9、多路IO复用了解哪些?epoll在实际中怎么用的?怎么编程实现?
10、线程池底层怎么实现的(非Java层面)?它具体是怎么管理的线程?
11、王者荣耀战力相近的两组玩家(每组五人)匹配为对手,每个玩家有自己的段位值和积分值,要求匹配过程中,段位在某个区间且积分在某个区间的人匹配到一起。思路?复杂度?优化?
没过三天又把我捞上来了,这轮面试把我彻底面自闭了,本身也不是做后端,是大数据方向的,腾讯没数据岗只能投了后端,操作系统只会皮毛,好多问题见都没见过。别家公司问题的终点就是腾讯问题的起点。面试官说他也不懂Java、Spark之类的,然后就疯狂怼我操作系统,面到后面我已经自己想要挂电话了。
最后的最后,问了面试官一个问题。
我:您觉得,像我们这种做java、大数据的,在腾讯有容身之所吗?(原话)
面试官:呵呵,容身之所?无论做什么都先学好操作系统,感谢你参加本次面试。
等待下一次被捞。
腾讯互娱一面:3.31——83min
1、项目介绍
2、Hbase如何设计rowKey
3、Hbase底层的存储机制、存储结构和容错
4、Kafka中的partition是怎样读取的
5、Kafka性能高的原因
6、线程同步和互斥的机制
7、叙述一下网络中的窗口机制
8、Mysql底层数据结构
9、数据库优化
10、分库分表分区简述
11、快排思想
12、B树和B+树的区别
13、简述你了解的数据结构
14、MR和Spark的区别
15、对ES的了解
16、Shell、Python了解吗
两道编程题:1、十进制转十六进制;2、贪吃的小Q
时隔二十多天,终于迎来了第三次腾讯面,这次是IEG事业部,问了下好像是做数据的,这不是巧了吗...
全程没有为难我C++,自我感觉良好,面试官评价也说挺好的,希望他不要欺骗我,但愿这次能过...
面试完没多久看校招官网的状态变成了复试,一面过了,终于不是一轮游,希望二面顺利!
腾讯互娱二面:4.8——57min
1、Hbase的rowkey设计
2、Hbase底层存储原理(又从读写原理到LSM树撕了一遍)
3、数据在Hbase中的存储逻辑
4、Kafka中是如何消费的,push还是pull
5、Java中的可变参数列表如何实现的
6、常用哪些集合类
7、HashMap是否是线程安全的
8、如何根据源码判断某个类或方法是线程安全的
9、Cloneable接口和深拷贝、浅拷贝
10、如何进行深拷贝
11、设计模式知道哪些,介绍一下
12、Mysql中的存储引擎,为什么用这个存储引擎
13、一般关注程序的哪些性能指标
14、如何监测在服务器上某个进程的状态
15、Linux指令了解哪些
16、如何查看磁盘状态
17、如何删除某个目录下所有.jar后缀的文件
18、Hadoop中的数据倾斜如何处理
若干场景题,记不太清了,面试官问了实习意向之类的,然后说跟一面面试官沟通一下再看最终结果。
腾讯互娱hr面:4.13——18min
4.16 oc
Java 大数据方向的可以进群交流一下,蹲大佬。二维码失效私聊或加微信:Elvis_tl。