2021腾讯后台开发暑期实习面经 3月10日
8日投的简历,10日下午收到腾讯面试官的电话,预约当晚7点电话面试。非常高效。
面试过程
晚7点面试官打来电话。先要求做自我介绍。
看到简历上C++相关项目,问是否用过STL库。答用过一些,提到了unordered_map。
面试官开始问unordered_map的底层细节。答不熟悉C++底层,学校使用Java入门。
Java
面试官转向Java,问Hashmap的底层实现和数据结构。
问Hashmap的增删查改过程。
问Hashmap如何实现散列均匀。
问Hashmap为什么要用红黑树。
问Hashmap中数组过大怎么办。结合项目中稀疏矩阵提问。
问红黑树基本原理。
问AVL树原理。问AVL数如何保持平衡。问AVL数旋转过程。
问哈希函数原理,字符串哈希方法。
问Hashmap的哈希函数实现。
问Hashmap的扩容机制。
问需要存放大量数据是否适合使用Hashmap。
问使用Hashmap存放学校所有人信息,用姓名作为Key应该怎么存。有重名怎么办。
操作系统
问操作系统,答刚开始学,还没学完。遂没问操作系统的其他知识。
网络
问计算机网络,先问是否了解http。
问TCP和UDP的区别。
问DNS请求过程。
问三次握手和四次挥手。
问在浏览器地址栏输入地址后敲下回车,发生了什么。
问不考虑机器运行时间,浏览器发起一个http请求后收到回应的第一个字符需要几个RTT。
问是否了解https。讲一下所知的。
MISC
问十亿整数,如何查找前1000个大的数。(Top K 问题)
- 问如何用字节流读取大文件。
- 问堆的数据结构实现。
- 问快速选择方法的具体思路。
问十亿整数,如何查找中位数。
问十亿总数,如何统计出现频率最高的K个数字。
手撕代码
1 | // 将ip地址转换为点分16进制字符串 |
反问环节
问面试官是什么事业群的。答TEG。
问大概还有几轮面试,什么时候进行下一轮。答过了的话几天内会有人联系,大约还有两三轮。
问有何建设性意见。答没有特别的意见。
没有问到的内容
数据库
设计模式
简历项目