Java教程

字节跳动2022秋招JAVA后端开发岗位三面面经,本人已成功入职!

本文主要是介绍字节跳动2022秋招JAVA后端开发岗位三面面经,本人已成功入职!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

今天刚收到字节的offer意向书,来和小伙伴们分享下面经,希望能对大家有所帮助!
通知书镇楼,证明下本面经的真实性。

先简单介绍下本人情况:

交大本硕,绩点3.85/4,通信专业,6月开始在阿里实习。

重点来了:

字节一面:

1、自我介绍

2、JAVA SDK起到的作用

3、项目

4、数据流(项目)

5、排序(介绍下你知道的排序和复杂度)

6、Arrays.sort底层的排序算法(有三种策略)

7、堆排序基本思路

8、linux,操作系统的开机流程(这题我不会。)

9、进程和线程的区别

10、进程切换会发生什么

11、进程调度算法有哪些

12、TCP、udp区别

13、java锁,关键字区别

14、公平锁、非公平锁解释一下

字节二面:

1.算法题:由前序遍历中序遍历重建子树;

2.为什么静态类中不能使用非静态类(从类加载过程回答);

3.java类加载过程;
3.1.加载阶段中,为什么要有自定义的类加载器;
3.2.双亲委派原则的机制;

4.HashMap数据结构;
4.1.为什么小于6是链表,大于8变成红黑树;
4.2.HashMap扩容机制;
4.3.HashMap是否线程安全,例子;
4.4.ConcurrentHashMap和HashTable的区别;
4.5.ConcurrentHashMap如何保证高效,为什么是线程安全,为什么比HashTable优秀,分段锁机制;
4.6.CAS能保证线程安全吗(我回答能,面试官说不能。。估计想考ABA问题),volatile关键字能保证线程安全吗;

5.随机数求根,比如根号二的值。(二分查询)

6.有n个筐,筐固定,每个筐内有不同数目的苹果,移动苹果,使每个筐苹果平均(移动的代价:12算1步,13算2步)使步数最小;

字节三面:

1、自我介绍

2、解决什么问题,做了些什么?(项目)

3、多个接口,有失败怎么办(项目)

4、redis分布式锁怎么实现

5、时间过期怎么办

6、ArrayList怎么扩容,时间复杂度O(n)?插尾部O(1),平均是多少,答案O(2)需要考虑扩容,小伙伴们可以自己推一下。

7、HashMap底层原理

8、mysql索引什么原理、B+树

9、mysql和redis区别(讲一下各自优缺点)

10、为什么不用redis存数据?

11、算法:LRU缓存(),先讲一下再写

个人总结和建议:

运气好,基本都答上来了,除了linux相关的。
给大家的建议是,
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
多刷剑指OFFER!!!!
这个真的好用
项目多准备
项目多准备
项目多准备
即使没做特别复杂也最好先搜一下遇到某些复杂场景的措施,比如redis突然挂了,db挂了,高并发之类的。

看完点个赞呗

这篇关于字节跳动2022秋招JAVA后端开发岗位三面面经,本人已成功入职!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!