今日头条上海Musical.ly Java后端开发面经
前言
今日头条的面试质量挺高的,总共是4+1面,流程也走的很快。一面是电面,其他都是视频面(包括Hr)。里面会有遗漏,只记得一些了,抱歉~
零面(简历面,电话)
-
Object类都有哪些方法,简单描述一下
-
equals()方法跟hashcode()方法的关系是怎样的
-
hashMap的实现了解吗,说一下实现?
-
红黑树代替链表,查询复杂度?有什么缺点吗
-
除了红黑树等树形结构?还有什么查询复杂度为logn的数据结构吗?(答跳表)
-
简单说下你对跳表的理解?
-
spring的依赖倒置有什么作用呢
-
了解哪些设计模式,在spring中的体现和你自己开发中的理解?(说了门面模式、责任链模式)
-
对mysql的索引了解吗,有哪些优缺点
-
做道算法题目吧,比如有10个明星,每个明星有一定量的粉丝,现在要进行一个5v5的pk,要求各方的粉丝数量大致相同,怎么解决这个问题?
(提示了0-1背包,但是我忘了,没做题= =)
-
小哥哥真的很耐心很温柔,还是有点烂尾了,不知道过没过。
一面
-
寻道算法有哪些
-
为什么是用补码来实现减法
-
缺页的处理过程是怎样的
-
SpringMVC的处理过程是怎样的
-
算法就给你一有序数组旋转后的形式,查找某个元素
二面
-
k个有序链表,合并成一个
-
一个http请求的整个过程
-
https的处理过程
-
https什么时候使用对称加密
-
ORM是怎么实现的
-
联合索引的索引过程
-
B+树的结构,插入一个元素的过程
-
Volatile变量的原理
-
HashMap相关
-
快排和归并排序哪个是稳定的,讲讲原因
-
如果用数组中有很多重复元素,怎么优化快排
-
leetcode的一个01矩阵找最大1矩阵的题目
三面
-
手写链表对折,比如1->2->3->4->…->n对折成1->n->2->n-1->3->…..(中点断开,反转,拼起来)
-
linux怎么看一个端口被什么进程占用(lsof -i:xxx)
-
有用过缓存吗(没用过缓存服务中间件,只是自己用Hashmap搞了个简单的缓存)
-
Hashmap线程安全问题,简单带过
-
怎么实现LRU缓存,讲讲你认为的实现LRU的三个最重要的考虑点,并说说思路
-
怎么实现一个阻塞队列,说了用信号量分别同步生产者跟消费者,然后问了怎么优化
-
给一个有序的单向链表,要查询里面的一个元素,怎么快速地查询(说了用类似跳表的思路)
Hr面
-
保研/工作
-
平常的学习方法
-
爱好兴趣
-
意向城市
-
还在面哪些公司
-
说两三天就会出结果(实际上一天就出结果了)