0%

2021腾讯后台开发暑期实习面经 3月10日

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
2
3
4
5
6
7
// 将ip地址转换为点分16进制字符串
// e.g. 0 -> 0.0.0.0

public String convert(int ip) {
// code here
return null;
}

反问环节

问面试官是什么事业群的。答TEG。

问大概还有几轮面试,什么时候进行下一轮。答过了的话几天内会有人联系,大约还有两三轮。

问有何建设性意见。答没有特别的意见。

没有问到的内容

数据库

设计模式

简历项目