Java面试者的经历,分享有关字节跳动(Java面试经验)已拿offer

字节跳动

一面
1.自我介绍

2.项目难点,如何解决的

3.redis:底层数据结构,过期策略,持久化方式及区别

4.kafka:如何保证消息持久性,如何确保消息不丢失,消息同步机制

5.zk如何选主(zab),一个写请求如何执行的,选举为什么要过半

6.java魔数是啥(这个不会。。。)

7.算法题


实现该方法,15分钟

public void printComposite(int[] array, int n) {…}

//给定一个array={1,2,3,4,5}

//当n=2, 输出[1,2],[1,3],[2,3]…

//当n=3, 输出[1,2,3],[1,2,4],[2,3,4]…


二面
1.自我介绍

2.java:aqs是如何实现的,synchronized如何实现的,这俩有啥区别,cas是啥

3.线程池有用过吗,讲下线程池是怎么实现的

4.其他问题忘了…

5.mysql锁机制


在Innodb,RR隔离级别下:

SELECT * FROM users WHERE name = ‘zhangsan’;

给name字段加不同的索引,有什么区别(锁)

case:

(1).唯一索引

(2).普通索引

(3).不创建索引


6.编程题:实现blockingqueue的put和get方法

三面
1.自我介绍,项目介绍,讲一个自己发现问题并解决的经历,聊业务

2.spring-bean是如何加载的,如何解决循环依赖

3.假如希望做一个集群限流器,怎么做,我答可以用redis,实现一个滑动窗口。再追问具体如何实现

4.其他问题忘了…

5.算法题,二叉树最远距离


定义:二叉树节点间距离指的是连接两个节点的边的个数,例如:下图中节点 S 和节点 E 的距离是3.

问题:对于一棵任意形状的二叉树,求二叉树中距离最远的两个节点的距离值。

示例:下面这棵树中最远距离是6 (节点S和H 或S和K 等).

A

/ \

B C

/ \ / \

D E F J

/ \ / \

S T H K


6.业务程序设计题

给了一个业务场景,大体意思是让设计一个异步导出excel的功能,如果有多个任务,如何平均分配到不同节点上

如果有大任务和小任务,希望小任务优先执行,如何设计

HR面
自我介绍,对公司面试的评价,实习时间
为什么转专业?
你认为你有什么优点?有什么缺点?有什么兴趣爱好?
在团队中习惯充当什么样的角色 遇到过比较困难的事情是什么?觉得自己很幸运的事情是什么?
对于未来的规划?有没有使用过公司的其他产品?有没有转正想法?
总结:
只有不断学习才能进步,机会是留给有准备的人!!我深知这个道理,所以年前也没闲着,在家狠狠地复习了一下!

这次能够拿到头条的offer也是多亏了这一个多月的复习,学到了不少的知识点,也劳心汇集了不少的资料文献,非常有帮助,欢迎您来和我一起学习,咱们共同进步

复习资料包括JVM、Spring、Redis、kafka、MySQL、数据库、并发编程、数据结构与算法等一系列Java学习资料。

Java企业面试真题合集:

Java核心复习点复习资料:

获取方式如下:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值