首页 > 腾讯、字节、快手、滴滴后端实习面经
头像
奔跑的洲洲
编辑于 2021-01-07 17:16
+ 关注

腾讯、字节、快手、滴滴后端实习面经

一:前言

大家好,我是洲洲,目前北京门头沟学院研一在读,
趁考试周之前的两个星期,找了一波实习,历时半个月左右
踩过很多坑,也有裸面被怼的哑口无言的时候
总的来说,体验是找大厂实习真的很难
投很多岗位就是没有后续,石沉大海,相信不止我一个人这样😥😥
准备的过程中看了不少牛油的帖子,现在回馈一下大家😃
发个帖子攒攒人品,许愿后续过过过!!😘😘

二:项目和实习部分

问项目相关:
1.java的锁了解多少
悲观锁、乐观锁、可重入锁、中断锁、读锁、写锁、synchronized锁升级(偏向锁、轻量级锁、重量级锁)
2.树的节点是权重,取最大权重的路径,状态压缩,树的剪枝聊了一些,聊了一些记忆化搜索在项目中的运用
问实习相关:
1.你的那部分是离线还是在线处理?
2.正则表达式怎么过滤敏感词?
3.怎么得到文本中的关键词?

三:基础知识

题目就不分公司写了,全写一起好了
1.string和stringbuffer和stringbuilder的区别
2.concurrenthashmap了解多少,1.7和1.8区别
3.分段锁说一说
4.CAS知道吗,介绍一下
4.hashmap底层数据结构,jdk1.8之前和jdk1.8
5.hashmap为什么链表超过8转化为红黑树?
6.介绍一下线程池,如果自己创建一个线程池,线程池包括哪些参数
7.多线程start和run方法的区别
8.抽象类和接口的区别,为什么要有抽象类?
9.arraylist和linkedlist区别,是不是线程安全
10.jvm了解多少,重要!!【垃圾回收机制】【类加载机制】
追问:双亲委派、jvm内存模型和内存结构、minor gc和full gc
11.mysql创建索引的注意事项
12.redis怎么样、缓存类中间件用过哪些?kafka和rocketMQ了解多少
13.自动装箱 int和integer比较
14.try catch执行顺序 中间插入return,执行顺序
15.多态的理解
三个条件,继承、重写、向上转型(父类引用指向子类对象)
16.手写单例模式,
懒汉式、饿汉式
追加:如何保证线程安全
17.arraylist和linkedlist区别,
追问:两个都是不是线程安全的
arraylist底层为啥线程不安全,
答:并发情况下 size++ 不安全
考虑并发要用vector
18.手写SQL 查找成绩总和top3的学生
19.创建线程的几种方法,都介绍一下
20.三层的B+树可以存多少信息,页表自己定义,节点大小自己估算
上亿级别,按页表16KB算,long占4个字节,16KB/4B = 4K
4K × 4K × 4K = 6.4×10^10
21.B树和B+树介绍一下,说说区别
22.死锁四大条件
23.如何避免死锁
24.银行家算法(预防死锁的方法)
25.linux会哪些命令,介绍10个
26.socket编程了解多少
27.聚簇索引和非聚簇索引
28.linux文件系统
29.你知道哪些文件系统,说说结构
30.http是有状态还是无状态?是有连接还是无连接?
无状态、无连接
追问:200、404(原谅我笑场了🤣)、500都是什么含义
追问:会不会被劫持和篡改?

四:手写代码

算法相关:
1.两数之和
最优解:hashmap一遍遍历 ,O(n)

2.反转链表
迭代和递归分别解
(不要觉得这题送分,这个递归很容易写错的)

3.手写LRU
自己定义节点、双向链表和缓存区结构

解法:双向链表+哈希表,满足put和get都是O(1)

4.给定一个数组,里面的数都是1~10,找到其中的中位数
这种题要是调API,铁定挂
计数排序 O(n)

5.中位数是一段数据的50%的位置
如果改成找一段数据中m%位置的数字呢?

答:这题是查找第K大的数(可能要找top_(k-1)和top_(k+1)),topK的变形
时间复杂度O(n) 减治法+快排思想

6.思考题(要我回去想想)
100w数据,甚至上亿数量级,找其中m%到n%这一段的数据(m<n)

提示往多个节点,并发处理这块考虑

7.螺旋遍历矩阵
模拟题,分四个方向走

8.给出树a和树b,判断a是不是b的子结构
递归解

---------------------------------------------------------
有些题目要求写单元测试,如果出bug,
检验临场debug能力,大家可以多多培养debug能力
不要每次刷题写不出来就去看题解,最好一步步调对自己的代码,理解也更深刻

五:面试官建议环节:

面试官建议环节:如果愿意教你这些,说明对你印象至少不差,认真听就行了
建议1:其实业务很简单(我:??)就是增删改查,然后辅助大量的中间件,【数据库和缓存】很重要的
建议2:代码写完之后会不会format处理,命名、格式等,最好养成这个习惯
建议3:建议去看看kafka源码,多了解一些缓存相关
建议4:我:redis不太会,建议去看看redis源码

六:反问环节:

到了最喜欢的反问环节了,也预示着这轮面试即将结束,
--------------------------------------------
(一般面试发挥还行的时候问)
1.部门主要业务是什么,然后选一个感兴趣的追问
2.部门上班下班时间是什么
3.如果面试过了,后续实习要用哪些技术栈
--------------------------------------------
(一般觉得自己比较凉的时候问)
4.对在校生学习建议是什么
5.您觉得我在哪些方面还要加强

七:Hr面

聊人生,聊规划

更多模拟面试

全部评论

(11) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐