春招暑期实习后端开发面经

22届春招暑期实习后端开发面经

概况

三月初开始准备,一开始打算找Java方向的实习,所以准备了Java SE、容器、并发、JVM等Java基础,Spring相关知识,MYSQL、Redis,以及操作系统、计网的高频面经知识。但是因为腾讯前两次面试都没问java,所以自己又补了golang的知识。

三月中旬开始投简历

面经部分

腾讯

一面(不知道什么部门)(凉

自我介绍

项目(k8s集群怎么搭建的,有多少个节点、节点之间通信)

go的基础知识

go channel底层实现(忘了

interface 能直接比较吗?(忘了

在大量并发请求的情况下,如何利用golang的特性设计解决方案(不会

什么时候能来实习,实习多久

一个小时后,流程变灰,然后立马收到另外一个部门的面试邀请

反问环节:

哪些方面需要提高:基础掌握的方面不够牢靠

(准备的Java知识一个都没问,go的知识又一点都没复习,凉透了;,之后开始恶补go的知识)

一面 (ieg 游戏数据库方向) (凉

自我介绍

项目(问了很多细节)

哈希表跟二叉树的比较

为什么用红黑树

什么情况下用哈希表,什么情况用红黑树

面试官:我不会Java 我直接问点c的知识哈(当场去世

c语言的底层知识.......(都没复习过,来一个不会一个。。。

算法题:给一个数组,实现随机抽取N个数据,一定要保证随机性,选出的数据不能重复

反问环节:
什么部门以及业务:ieg 游戏工作室,数据库方向
面试评价:项目做的不错,基础还有待提高

面完后(官网流程在初试静止了一个星期,之后过来几天又收到了面试邀请)

一面(ieg) (过

自我介绍

简单介绍了项目

问了一下技术栈

介绍一下GC(按照java的来说的,从如何判断需要gc一直说到gc回收器,面经关于gc的全部说一遍)

平时用c++吗 ?多态与虚函数表的关系

看你也学过go,了解过go这个关键字吗?介绍一下

协程与线程的区别(回答完之后,我又加了一句,我有了解过go的调度模型GMP)

用一分钟介绍一下GMP模型

介绍一下defer关键字

了解过sql注入攻击吗?gorm这个框架如何解决这个问题?

说说你知道的http的状态码

看你还写过前端,用过vue,说一下vue跟jquery的区别,vue的优点

docker的原理

docker的命令(我从一个项目的打包一直说到运行

k8s的一些命令

描述一下你理解的云原生

反问环节:

面试官介绍了部门技术栈

面试评价:知识很有广度

二面(过

自我介绍

挑一个项目讲一下(面试官针对项目的细节会问的很深,项目讲了半个小时

用过redis叭,介绍一下数据结构

在哪些场景用redis(这里我有提到微软开源的一个框架dapr,面试官没用过他就没细究)

redis做消息订阅发布需要注意哪些问题

如果消息队列满了,从发布方与订阅方两个方面思考如何解决

算法题:

一次遍历,找出单链表中间位置的节点(不能使用额外的数组空间

一次遍历,找出双向链表的中间位置节点

反问环节:

面试评价:总体还不错

学习建议:从基础讲到框架(这里面试官讲了很久,很用心,非常感谢!

hr面(过

核对个人信息

挑一个项目讲一下,难点与解决方案

哪里人

兴趣爱好

base在深圳没问题叭?

平时如何学习

最后又再次向我确认信息

OPPO

Java方向

一面:

Java 基本数据结构

int跟Integer区别

从文件读取字符串的流程

Java多线程

进程与线程的区别

Java 线程启动的函数

JVM相关

Springboot的一些知识

Mysql的索引

口述mysql的建库、建表语句

Mysql性能调优

平时如何学习

反问环节:

面试评价:基础都ok

hr面:

跟面试官聊天,说面试内容要保密

字节跳动

一面:

算法题:

给定一个数 转 3进制并逆序输出斐波那契数列位数(当时太紧张了,有个bug没改好)

sql题:设计两个表--学生与成绩,查出每个学生选课的数量

go 的defer关键字

go的GMP模型

go的channel

进程、线程、协程区别

进程通信方式

TCP如何保证可靠传输

反问环节:

面试评价:编码能力还需要加强

虎牙

一面:

自我介绍

介绍项目

微服务的服务发现怎么做的

有哪些服务发现的组件

http请求的流程

mysql索引相关

说说你了解的mysql知识内容

.....其他的忘了

反问环节:

面试评价:基础知识掌握的比较牢靠

腾讯微保

一面:

自我介绍

项目介绍

integer与AtomicInteger的区别

面向对象与面向过程的区别

进程与线程的区别

JVM相关

为什么要分新生代与老年代

新生代什么时候转老年代,为什么是15

Mysql的索引

B树与B+树的区别以及应用场景

浏览器跨域的问题

如何解决跨域

浏览器资源隔离的原理

https的请求过程

TCP释放连接过程

释放连接的一方在最后进入什么状态

为什么需要这个状态(TIME_WAIT)

智力题:36匹马,6个赛道,找出前三名需要多少次比赛

怎么学习docker的

时间到了,没有反问环节

金腾科技

科普一下:这个公司是中金跟腾讯的合资公司,主要产品有理财通等跟金融、基金有关的产品,在微信支付页面可以找到。(面试结束面试官跟我介绍了好久他们公司

一面:

自我介绍

介绍项目

简单挑一个项目讲难点解决方案

输入一个字符串,从一亿个字符串集中找出是否有匹配的,如何设计

如果一亿个字符串存入哈希表中,需要多少内存,计算一下内存大小(多少GB)

问了很多Java的知识(有点忘记了)

平时怎么学习新技术的

哪里人

有没有女朋友(黑人问号)

反问环节:

面试评价:表现得不错,希望以后在企业工作也能继续保持对新技术学习的热情

总结

面试的时候各个公司对基础的要求会比较高,腾讯比较喜欢问计网跟数据结构。对基础的学习还是比较重要的,然后在这基础上再学一些新技术将会是一个加分项。在此要感谢帮助过的师兄,感谢分享的经验!!!

#内推##实习##腾讯##Java工程师#
全部评论
大佬请问金腾暑期实习有笔试吗
点赞 回复 分享
发布于 2022-02-20 21:09
大佬微保啥时候二面的呀
点赞 回复 分享
发布于 2021-04-21 15:07

相关推荐

09-16 19:41
门头沟学院 Java
依旧只写记得的部分一面:1.自我介绍+介绍个人博客2.看我个人博客,让我讲讲我写的博客的东西(有关线程池源码的,参考性并不是很大)2.5.在讲博客内容时穿插多线程八股3.看我多线程这块好像挺好的,手撕奖励一道多线程打印,一个打印A,一个打印B(还好上次回去恶补了一下)4.问实习相关,主要是自己做了啥事情,整个系统大概啥样,回答思路是首先大致介绍系统作用,然后聚焦个人做的模块,再补充上下游把全链路讲清楚大概这么多,一共45-50min,出来等了5min告知通过准备第二轮二面:1.看我项目用了限流的东西问了一下我对限流算法有无了解,回答了令牌桶和时间窗口2.初现端倪,开始问我TCP有无限流概念的体现(主播简历一点408计网没写),回答流量控制和拥塞控制3.接2,给了一个例子,比如通过TCP连接下载数据的时候的场景,让我画TCP数据传输速率时间图(v-t图)。直接给我干懵逼了,他说你们应该学过吧,我说我完全没听过,他说没事,你学过的知识里应该有体现(体现在哪),于是开始画图。这题我主要的考虑是作为发送方来发数据的速率,因为流量控制和拥塞控制实际上都是控制发送方的窗口大小,其中拥塞控制是发送方根据网络拥堵程度控制自己的窗口大小。所以主播在这里考虑拥塞避免的一些算法(慢开始、拥塞避免、快重传、快恢复),通过窗口变化来推算传输速率的变化。所以首先画了一个拥塞窗口随时间变化的图,然后根据这个图画出最终他要的v-t图。他当时没说对不对,下来之后我用claude给我模拟了一下,思路基本没啥问题,最后的v-t图实际上跟窗口变化是基本差不多的。4.继续问计网,让我讲讲TCP三次握手和四次挥手,主播已经不记得那些状态具体叫啥了,索性说那我继续画图吧,然后就直接开画,画的中间穿插一些细节问题,比如第二次挥手跟第三次挥手之间可能是谁给谁传数据(服务端给客户端传)之类的细节。5.画完开始问一些我觉得自己擅长的,我说线程池,然后开始吟唱一些普通线程池八股6.追问你看过一些Web容器的源码比如tomcat吗?回答没看过,说没事那你觉得像这种Web服务的容器用传统线程池合适吗?回答思路是不太合适,我是从用户响应这块考虑的,假设用传统线程池,那么请求只来了一部分,就到达核心线程数,只有等任务队列满之后才会继续创临时线程来处理,这样如果请求多一点的话,请求的平均响应时间可能就会慢,我的想法就是优先创建线程,实在没线程可创了再放进队列里可能会好一些。下来查发现tomcat也确实是这样设计。7.然后继续问我看过啥源码吗,我依然回答线程池。。。大哥看我这么喜欢线程池奖励了一道设计题,让我设计一个工业可用的线程池,我的大概思路就是1.线程池集中管理、2.线程池配置热更新(分成本地更新和远程更新,本地可以考虑WatchService,远程比如放配置中心Nacos这种,Nacos的SDK里有ConfigService可以注册监听器监听配置发布)、3.线程池监控、4.线程池告警8.然后说是给我一个拔高的问题,问我线程池中死锁如何产生的,这个一时没想出来,依然从死锁的四个必要条件开始推,1.互斥、2.请求保持、3.不可剥夺、4.循环等待,推断出应该是由于出现循环等待导致四个条件同时满足(死锁只有在四个条件同时成立时可能出现,注意是可能),但是推了一会依然没推出来,让下来再想想。9.剩下就问了一个Spring有哪些拓展点,BeanPostProcessor、InitializingBean、还有Aware系列比如AppilicationContextAware这种,当时只记得这三个了。大概就这些,貌似也30-40min左右,哥们看手机显示您今天的面试已结束,还以为凉透了,刚准备去抽奖然后hr喊我名字说我通过了,前脚刚迈出来后脚就过了属于是,有点懵逼,然后抽奖走人,抽了个水杯正好拿来泡茶。总结就是真的蛮看运气的,周末两天复习实际上他问我的东西一点没看,上周刚被拷打过JVM于是恶补了一下,结果两面都基本在问线程池和408,所以感觉还是平常心看待吧,面试官想问啥确实不是面试者能左右的。。。主播以面一次赚一次的态度来的,降低预期,反而没这么紧张了,反正还是那句话,找工作就是找屎,别让一坨屎影响生活吧,虽然该找还得找。。。而且线下面的好处就是流程快和好沟通,一言不合直接画图给面试官看感觉确实比线上用手比划爽多了。发出来让大火了解一下线下面大概是个啥强度,同时希望后续顺利一些吧。。
查看14道真题和解析
点赞 评论 收藏
分享
评论
6
33
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务