字节跳动 Java后端开发 实习生 三轮面经
一面:
进程和线程,区别,哪个效率高,为什么
事务的特性,具体介绍
隔离级别,具体介绍
幻读
死锁的条件,如何解决
java的基本数据类型和字节数
Java,volatile关键字
进程如何同步
mysql索引结构,特点,为什么使用这个
如果查询比较高效
查询学生成绩大于等于60的所有人的姓名和编号
聚集索引和非聚集索引
String,StringBuffer,StringBuilder区别
HashMap,为什么使用红黑树
垃圾回收机制GC,cms,G1,垃圾回收的算法
TCP连接和释放
编程题:
36进制由0-9,a-z,共36个字符表示,最小为'0'
'0'~'9'对应十进制的0~9,'a'~'z'对应十进制的10~35
例如:'1b' 换算成10进制等于 1 36^1 + 11 36^0 = 36 + 11 = 47
要求按照加法规则计算出任意两个36进制正整数的和
如:按照加法规则,计算'1b' + '2x' = '48'
要求:不允许把36进制数字整体转为10进制数字,计算出10进制累加结果再转回为36进制
二面:
谈谈项目???
mongodb底层原理或者数据结构是什么,事务处理,插入和mysql有什么区别,为什么会慢
类加载过程(Java),每一步做了什么
子类和父类的实例变量和方法有什么区别
重载和覆盖区别,返回值类型不同,可以重载吗,为什么,底层如何实现的
java多线程,状态图,画出来,阻塞的状态有哪几种,运行顺序,多线程的一些方法
java泛型
ThreadLocal,Concurrent下面的包,原理是什么,
AtomicInteger,原理是什么,如何做到高效率的,有什么优化措施
悲观锁和乐观锁
@Transaction的原理,还有比如在一个类中两个方法,一个是B方法,一个是C方法,B上没有注解,C上有那么在外面调用B方***有事务,为什么,根据底层原理能不能推断出来(给提示问你能不能推断出来)
查询学生成绩不及格的所有人的姓名和编号,根据这个语句,如何建立索引,为什么,
mysql底层是什么,为什么效率高,主键能不能太大,为什么,如果太大,底层数据结构会不会变化,为什么
linux查询tcp连接处理CLOSE_WAIT的状态的数目
了不了解RabbitMQ,kafka,RocketMQ,ActiveMQ,以及其他消息中间件
redis为什么效率高,线程,数据结构,网络模型,aio,nio,bio,为什么这么设计?如何处理高并发
编程题:
这是一个多叉树,Node应该是这样,当时并没有给,这是我觉得是这样的,当时只给了方法和说明是多叉树
Node <T>{
T value;
Node[] children;
}
public Integer getValue(Node<Integer> root, int level, int index){
}
找到第 i 层的第 index 个结点的值,如果没有,返回null,时间复杂度是多少
三面:
数据仓库,雪花模型和星型模型区别和用处,数据仓库的过程(分层),如何设计
数据仓库和数据湖的区别
分布系统的设计,分布式系统CAP,分布式系统的模型
linux环境下的线上业务管理 有没有,如何管理
redis的集合有没有限制,限制是多少
redis的1w条的插入和更新有什么区别
mysql join的底层原理是什么,有哪几种(不是左右连接这种)
linux命令查询一个文件内出现重复最多的数字的
linux命令查询一个文件的行数
编程题:
使用程序如何查询一个文件内的重复最多的次数的数字,如何高效实现,时间复杂度,空间复杂度
镜像二叉树
快排或堆排
还一个智力,也很简单,就不写了
总体来说第三面有点难呀,前两面还行,但是编程题也太简单了。。。。。没想到
肯定还有一些我可能没记住,而且还有一些我就要根本没听懂的问题。。。。
#字节跳动##实习##Java工程师##面经#
进程和线程,区别,哪个效率高,为什么
事务的特性,具体介绍
隔离级别,具体介绍
幻读
死锁的条件,如何解决
java的基本数据类型和字节数
Java,volatile关键字
进程如何同步
mysql索引结构,特点,为什么使用这个
如果查询比较高效
查询学生成绩大于等于60的所有人的姓名和编号
聚集索引和非聚集索引
String,StringBuffer,StringBuilder区别
HashMap,为什么使用红黑树
垃圾回收机制GC,cms,G1,垃圾回收的算法
TCP连接和释放
编程题:
36进制由0-9,a-z,共36个字符表示,最小为'0'
'0'~'9'对应十进制的0~9,'a'~'z'对应十进制的10~35
例如:'1b' 换算成10进制等于 1 36^1 + 11 36^0 = 36 + 11 = 47
要求按照加法规则计算出任意两个36进制正整数的和
如:按照加法规则,计算'1b' + '2x' = '48'
要求:不允许把36进制数字整体转为10进制数字,计算出10进制累加结果再转回为36进制
二面:
谈谈项目???
mongodb底层原理或者数据结构是什么,事务处理,插入和mysql有什么区别,为什么会慢
类加载过程(Java),每一步做了什么
子类和父类的实例变量和方法有什么区别
重载和覆盖区别,返回值类型不同,可以重载吗,为什么,底层如何实现的
java多线程,状态图,画出来,阻塞的状态有哪几种,运行顺序,多线程的一些方法
java泛型
ThreadLocal,Concurrent下面的包,原理是什么,
AtomicInteger,原理是什么,如何做到高效率的,有什么优化措施
悲观锁和乐观锁
@Transaction的原理,还有比如在一个类中两个方法,一个是B方法,一个是C方法,B上没有注解,C上有那么在外面调用B方***有事务,为什么,根据底层原理能不能推断出来(给提示问你能不能推断出来)
查询学生成绩不及格的所有人的姓名和编号,根据这个语句,如何建立索引,为什么,
mysql底层是什么,为什么效率高,主键能不能太大,为什么,如果太大,底层数据结构会不会变化,为什么
linux查询tcp连接处理CLOSE_WAIT的状态的数目
了不了解RabbitMQ,kafka,RocketMQ,ActiveMQ,以及其他消息中间件
redis为什么效率高,线程,数据结构,网络模型,aio,nio,bio,为什么这么设计?如何处理高并发
编程题:
这是一个多叉树,Node应该是这样,当时并没有给,这是我觉得是这样的,当时只给了方法和说明是多叉树
Node <T>{
T value;
Node[] children;
}
public Integer getValue(Node<Integer> root, int level, int index){
}
找到第 i 层的第 index 个结点的值,如果没有,返回null,时间复杂度是多少
三面:
数据仓库,雪花模型和星型模型区别和用处,数据仓库的过程(分层),如何设计
数据仓库和数据湖的区别
分布系统的设计,分布式系统CAP,分布式系统的模型
linux环境下的线上业务管理 有没有,如何管理
redis的集合有没有限制,限制是多少
redis的1w条的插入和更新有什么区别
mysql join的底层原理是什么,有哪几种(不是左右连接这种)
linux命令查询一个文件内出现重复最多的数字的
linux命令查询一个文件的行数
编程题:
使用程序如何查询一个文件内的重复最多的次数的数字,如何高效实现,时间复杂度,空间复杂度
镜像二叉树
快排或堆排
还一个智力,也很简单,就不写了
总体来说第三面有点难呀,前两面还行,但是编程题也太简单了。。。。。没想到
肯定还有一些我可能没记住,而且还有一些我就要根本没听懂的问题。。。。