今日头条后端Java社招面经分享

今日头条后端Java社招面经分享_第1张图片

来自:程序员面试

作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人

今日头条后端一面社招面经,内容比较偏计算机基础和项目,全程50分钟左右。问的问题大概包含以下几点:

1.自我介绍,挑一个你最熟悉的项目说一下?你这个项目最大的难点是什么?在项目中有没有遇到什么难题?你说你在项目中用到了一些设计模式,都讲讲你是怎么用的。项目中有分布式事务处理吗?有哪些常见的分布式事务处理方式?说一下你们在项目中怎么用的。

2.建立HTTP连接的三次握手的过程?,客户端和服务端分别是什么状态。讲一讲Http和Https的区别。

3.线程间通信的方式?假如现在在同一台机器上开两个java项目,有几个java虚拟机?产生死锁的四个必要条件还记得吗?聊聊linux吧,lsof这个命令用过吗?讲一讲linux系统的启动过程?

4.数据库事务的隔离级别有哪些?Mysql默认的隔离级别?不同的隔离级别是通过什么实现的?mysql的explain有用过吗?讲一讲数据库的慢查询?数据库的悲观和乐观锁都说一下吧,什么时候用乐观锁比较合适?什么时候用悲观锁呢?

5.你对tomcat有多少了解,nginx呢?把你知道的都说一下。有做过tomcat调优吗?

6.Java的内存模型,分为哪几块存储区,各个存储区域的作用?说一说volatile,一般什么时候用这个,给我举个例子呗。在项目中有用过ThreadLocal吗?为什么要用这个?ThreadLocal内存泄漏问题了解吗?要不你说下为什么会有这个现象?

7.如果web服务器突然出现频率很高的FullGC,可能是什么原因?你会怎么去排查呢?

8.讲一讲类加载器工作机制?你知道强引用、弱引用和软引用吗?为什么要有这些东西?他们有什么作用?你在项目中用过吗?

基础知识先问这么多,平时有刷题的习惯吗?要不咱写个题吧。

题目很基础leetcode110原题. 平衡二叉树。还是很幸运的。

给定一个二叉树,判断它是否是高度平衡的二叉树。题目描述如下:

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

示例 1:给定二叉树 [3,9,20,null,null,15,7]

3

/ \

9 20

/ \

15 7

返回 true 。

示例 2:

给定二叉树 [1,2,2,3,3,null,null,4,4]

1

/ \

2 2

/ \

3 3

/ \

4 4

返回 false 。

时间也差不多了,今天就聊到这吧,你有什么想问的吗?问了下过去是不是要转go语言,面试官说是的,不过会给一段时间作为适应期。问了下我排斥转语言不?那当然是不排斥了。。。

长按订阅更多精彩▼

如有收获,点个在看,诚挚感谢

你可能感兴趣的:(今日头条后端Java社招面经分享)