当前位置: 首页 > 面试经验 >

腾讯后端一面凉经_2023.3.14

优质
小牛编辑
131浏览
2023-03-28

腾讯后端一面凉经_2023.3.14

1. 面试结果


第一次参加面试,感觉问的东西基本都能答得上来,但是一些问题理解得不深入,之后得沉淀。


面完之后秒挂,挺伤心的,我总结的原因是:


1. 自身准备不充分,基础薄弱,面试时很紧张 
2. 我准备的是 Java 后端,结果面的是招 c++ 的, 我事先根本不知道,离谱
3. 我投的 base 是上海,面试官说他们是在深圳

2. 面试内容



八股比较少,主要问的是简历上的项目。(可能 c++ 的面试官不怎么知道 Java 八股)



2.1 我看你的项目中使用了 Redis, 请你说说 Redis 中有哪些数据类型?


说了 string hash list set 等等 (以为要问这些数据结构的底层实现原理,心想寄了,但是幸好没问)


2.2 请你说说项目中是怎么使用 Redis 的, 使用了刚才说的哪些数据结构?


结合项目讲了一下,主要使用 string set 数据结构 (其实只用到了 Redis 的缓存功能)


2.3 请你说说 Redis set 这种数据结构有哪些应用?


在项目的背景下说了一个应用场景,面试官认可了。面完之后搜索了一下,知道了更多的场景 (这个应该是 Redis 的面经,但是没有准备)


2.4 面试官根据刚才我说的这个应用场景提出了一个高并发问题,问我在 Redis 中怎么解决?


不太会,随便瞎扯了点,不知道是不是考察 Redis 分布式锁的相关知识,这个之后得研究一下


2.5 请你说说 TCP 和 UDP 的区别


这个认真准备了,流畅地说出来了。(心想面试官会问三握四挥,但是并没有问。。。)


2.6 请你谈谈 HTTP, 主要依托于什么协议?


讲了 HTTP /1.0 ~ HTTP /3 的发展,3 是基于 UDP 的,其余基于 TCP。


2.7 请你谈谈为什么 HTTP 3.0 要使用 UDP?


讲了 UDP 不需要连接,速度快,效率高,不会有队头阻塞之类的,但是面试官觉得比较宽泛,不断追问为什么。


2.8 UDP 会出现丢包、重复等问题, 那么应用程序使用 HTTP /3 为什么还能得到完整的网页、图像、音视频等。


这个不太清楚。


2.9 讲讲操作系统的虚存


讲了虚存是操作系统重要的虚拟化,用户编程使用的是虚拟地址空间,内存管理等等。


2.10 讲讲进程有哪些组成部分


代码段、数据段、PCB


2.11 我看你有一个模拟实现 JVM 的项目,请你结合你的项目先说说类加载的过程。


终于有 Java 的八股了(/(ㄒoㄒ)/),结合项目说了类的加载、连接、初始化过程,包括在项目中如何读取 class 文件,如何验证 class 文件格式,如何解析 class 文件将类信息等存入方法区等。


2.12 class 文件的结构


cafe babe 常量池 字段表 方法表等,没有说全


2.13 模拟实现的 Java 解释器是如何执行 JVM 指令的?


说了一下实现,大体就是不断取指,译码,执行,其实具体的实现细节有点忘了。。。


2.14 我看你项目中有使用小根堆这种数据结构,请你说说什么是小根堆,底层的实现是什么?


说了堆可以看成是一棵二叉树,小根堆就是每个父节点的值小于两个子节点的值这样的二叉树,然后以底层用数组实现的小根堆为例讲了讲插入堆时候的上浮,删除小根堆最小元素之后调整堆的下沉操作,分析了复杂度。


3. 算法题


3.1 做题过程


在问完了小根堆之后面试官让写算法题,当时很慌,以为面试官要让我手搓堆了,但是题目打开一看是链表反转。。。


做题时是在腾讯会议中给了一个 web IDE,但是面试官允许屏幕共享+本地 IDE。


做完之后讲解算法思路 + 时空复杂度。


3.2 做完题之后追问


面试官继续问: 为什么你准备的是 Java, 做题要用 C++ 呢? 平时做题用 C++ 吗? 说一说你为什么要这样?


我: C++做题比较爽,讲了讲 C++ 一些语言特性之类的, 语法简洁 lambda 函数 好用的 STL 之类的,C++编译运行速度快...


面试官: 我看你 ListNode 这个类中构造函数之前使用了 explicit, 请你说说使用和不使用 explicit 的区别?


explicit ListNode(int val): val(val), next(nullptr){};

我: 使用 explicit 之后需要显示声明,比如 ListNode* node = new ListNode(1); 不加的话会隐式转换 ListNode node = 1;


4. 反问


4.1 部门主要业务?


主要在腾讯会议下做实时通信、音视频传输


4.2 我应聘的是 Java 后端岗位,请问如果有幸拿到offer,会承担怎样的工作?


面试官: 哦哦, 其实我们团队主要的开发语言是 C/C++, 但是其实没有关系,语言都是相通的。


我: ????? 这下知道自己寄了


5. 面试感受


整体来说面试感受不错,能够感受到面试官很认真地提问,问的也不是偏难怪的,对于答不上来的能够引导自己去思考。


不足的是面试官好像在上班,有噪声,尤其是在他介绍部门业务的时候。。。

 类似资料: