2020腾讯暑假实习后端开发一面面经

首先腾讯的面试官很nice,面试过程远没有想象的那么困难。

 

1.自我介绍(很重要,提前背好稿子梳理好)

我从学习、项目以及实习三个方面介绍了自己,着重讲述了项目,以及在项目中的角色,承担的责任。

2.项目介绍

面试官就开始对着你的简历里写的项目开始询问,这里也是要梳理好自己的项目。这是一个什么项目?实现了什么功能?你的技术选型?为什么这么选?你的某个功能点是怎么做的?等等问题。

然后就开始问技术问题:

3.对JVM GC机制的了解,有什么GC算法?

这里第一个技术问题,十分紧张。支支吾吾了半天,挤了新生代是一块eden和两块survivor区按照8:1:1 复制算法实现,老年代则标记—清除算法(我好像说成了标记整理算法),然后说了有 复制算法,标记清除算法,标记整理算法,我只记得这三个,面试官说有四个,还有个我记不得了,查了一下是引用计数法?

4.进程和线程的区别?了解协程吗?

协程前一天晚上看了一眼,心虚。

5.什么是线程池?都有哪些线程池?

线程池的概念还是很好理解的,有哪些线程池我只回答到了三个,不过我强调了我知道有三个,还有newFixedThreadPool,忘了。

6.什么是死锁?死锁怎么解决?

什么是死锁一定要背好,我没有梳理好逻辑支支吾吾了半天,差点把自己急死,本来想解释清楚,越抹越黑。

死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于阻塞状态,无法前往执行。

死锁问题也很常见,四个必要条件,死锁预防、死锁避免、死锁检测、死锁接触,以及银行家算法

7.说一下OSI七层架构,每一层的作用?

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

各层作用我是按照五层架构讲的

8.说一下三次握手和四次挥手?

三次握手和四次挥手简直就是送分题,逢面必有,以及为什么要三次和四次

9.TCP/UPD的区别?

这里我说了可靠传输,面试官好像没听到。

10.TCP的可靠传输是怎么实现的?

序号、校验和、三次握手连接、流量控制、拥塞控制,确认机制,超时重传机制。

11.说一下拥塞控制

滑动窗口,控制发送速率

慢开始算法、拥塞避免算法、快重传快恢复算法。

12.了解网络安全吗?

之前有打过一次CTF比赛,还好还有点基础,说了一下XSS攻击、CSRF攻击以及SQL注入,后来发现把CSRF攻击的预防方式说成SQL注入的了。

 

面试说他们主要做高并发,然后就问了一些高并发的问题,感觉回答得不是很好。

13.了解高并发吗?

说了一下高并发造成的后果,如数据不一致,服务器容易崩,我真的不了解。qaq

14.如何架构一个高并发高可用系统?

这里我也看了

1.CDN资源静态化

2.nginx负载均衡

3.多台tomcat

4.分布式redis,一写多读

5.mysql的主从复制

6.消息组件的异步操作

不知道这样对不对,感觉面试官不太满意这个回答。可能我没理解他想问的。后来我又看了,还有一些机制,如限流、降级、熔断、隔离。前两天看过一下给忘了。

15.了解微服务吗?

我说我学了springcloud,也自己有做demo,但是日常开发中没法用。

 

最后面试官说了一下我基础好(不知道是不是真的😂),就是对高并发不太了解,能不能够过一面还得看看。

PS:等一个星期看看有没有机会二面(手动滑稽)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章