上次有跟大家分享过,三次阿里二面就凉凉(如此惨痛的经历!!),感觉真的是被打击到了,中间还消沉过几天,后面有朋友鼓励开导我,才又重新奋斗起来。这次下狠手逼自己好好学习,在朋友的监督下进行了为期15天的封闭式复习,终于赶上了“腾讯”的末班车(爽歪歪呀简直~)
下面给大家分享一下这次的腾讯面经(3面技术+hr面)以及我的封闭式复习笔记~(好开森呀~哈哈~)
一面(1小时50分钟)
1.自我介绍
2.项目结构、遇到哪里难题、如何解决
3.有没有了解过nginx,如何将监听到的连接分配到其他线程
4.linux内核是否支持多进程或多线程accept()同一个listenfd
6.有没有想过无锁队列的实现
7.原子性的理解,系统底层如何实现原子性
8.int类型全局变量读、写、自增哪些是原子性的
9.volatile的作用
10.stl容器是否线程安全
11.讲一下哈希表的底层细节,让你设计一个线程安全的哈希表,会怎么设计
12.malloc()的底层细节,brk()和mmap()
14.inline、define、普通函数的区别
15.linux如何设置core文件生成
16.linux如何设置开机自启动
17.linux用过哪些命令、工具
18.用过哪些工具检测程序性能,如何定位性能瓶颈的地方
19.基于socket网络编程和tcp/ip协议栈,从客户端send()开始,到服务端recv()结束的过程,越细越好
20.tcpdump抓包,如何分析数据包
21.tcp如何设定超时时间
22.有没有做过网络安全协议相关的项目
23.手撕代码,数组内两个子区间交换
24.目前还有哪些面试在流程中,拿了哪些offer
二面(50分钟)
1.一面面试官反映基础掌握得不错,二面就不问基础了
2.介绍一下项目,遇到哪些难题,如何解决
3.数据包如何编解码,tcp黏包问题如何解决
4.rpc有没有了解
5.网络库的性能如何,怎么测试性能,如何计时和计数
6.core dump有没有遇到过,gdb怎么调试
7.在高并发的生产环境中(非调试场景下),如果出现数据包的丢失,如何定位问题
8.项目性能瓶颈在哪,数据库表怎么设计
9.假设项目的性能瓶颈出现在写数据库上,应该怎么解决峰值时写速度慢的问题
10.假设数据库需要保存一年的数据,每天一百万条数据,一张表最多存一千万条数据,该咋设计表
11.除了C++,还有学习其他语言吗
12.一亿条电话号码删除重复的部分,时间、空间复杂度尽可能低
13.觉得自己适不适合做技术,为什么
14.怎么学习新的技术或技能
15.是不是家在深圳,对腾讯的印象如何
16.目前拿了哪些offer,会怎么选择
三面(1小时30分钟)
1.介绍一下做过的项目,主要问了NoSQL项目如何改进,性能如何,在什么硬盘上做的测试
2.C++11的左值和右值
3.是不是家在深圳,现在在家里还是在学校
4.目前拿了哪些offer,会怎么选择
5.看过哪些技术方面的书籍
6.手撕代码,经典的int和char*互相转换
7.static局部数组指针的问题
hr面(15分钟)
1.做了什么项目,挑一个讲一下
2.用什么工具开发(vim+gdb),会不会写makefile(只会写CMakeList)
3.有什么问题要问我的?
还有一些已经忘记了。。。其实也都是一些基础问题大家应该碰到过的。。
总结
总体来说腾讯面试挺顺的,一是感觉腾讯算法题难度比较低;二是前面被阿里虐的太惨(0我已经不想说什么了~~翻篇吧~),所以这次经过15天的封闭式复习,效果还是不错滴~
好吧,前面有说除了要给大家分享我的这次腾讯面经还有我的封闭复习笔记也是要分享出来了,下面就带大家一起来看下吧~(这里只是展示部分!!!)
有需要我的【复习笔记】的朋友可以直接扫描小编的vx即可来免费领取哦~小编会一一回复大家的~~
- 第一个是架构专题的(分布式+微服务+开源框架+性能优化)
架构专题
- 第二个是Spring全家桶的学习笔记(Spring,SpringCloud,SpringBloot,SpringMVC)
Spring全家桶的学习笔记
- 最后一个是 Linux 和 算法
Linux 和 算法
重要的事情再说一遍,转发后扫描小编的vx即可免费领取我的全部复习学习笔记!!!!