字节跳动架构师讲解Java开发!5年crud经验,看这篇足矣了!

前言

大家在面试的时候不同程度会被问到JVM的垃圾回收,看面试官水平,有些就背个书就行,比如GC的工作原理,有哪些GC算法和回收器,分别优点和缺点等等,有些面试官估计自己也就背书水平,都没个追问;有些面试官就能追问,一追问就歇菜,比如低延迟的垃圾回收器有哪些以及其原理,跨代引用及解决方案,三色标记及漏标问题处理,等等。

还是那句话,虽然都是些理论的问题,但是在实际开发过程中真的能遇到这些问题来解决实际问题,所以多多了解JVM的实现原理总没有错,既能抗极限面试,又能在适时的时候帮忙解决实际问题,得到领导和同事的赞赏,何乐不为?

下面进入正题,先来个开胃菜,热热身。GC的工作原理就不说了,要准备面试的同学必须倒背如流,不然面试官要说出门右转了…

image.png

一面:

先是问了问项目,然后就开始问一些问题

1、每个请求耗时100ms,机器的配置是4核8G,问要达到10000TPS需要多少台机器?

没答上来,问了问是IO密集型还是CPU密集型,然后面试官说我想得太复杂了

2、怎么实现网页的自动跳转

答301 302的Location字段,然后又问了我这两个有什么区别

3、有一个10G大小的文件,里面都是32位的无符号整数,但是内存大小只有1G,问如何找出里面重复的数字

一开始说用hash,先hash到小文件。面试官说有没有更简单的,答位图,又问你觉得位图会占用多大的内存空间。算了一会,答512M

然后就是算法题,一个Unix的路径,简化这个路径,Leetcode上有原题

一面大概36分钟

二面:

围绕项目问了很多问题,和我讨论了怎么保证双写的一致性、消息队列中消息积压了怎么办、为什么要用到分布式锁、ZK的分布式锁的使用流程、ZK的选主策略、同步策略然后又围绕Kafka问了一些问题。

1、Kafka怎么保证顺序消费?

2、Kafka的架构是什么样的?

3、Kafka可以保证一个主题所有的分区都顺序消费吗?

算法,给一个数n,求所有和等于这个数的连续子序列,比如15=1+2+3+4+5=4+5+6=8+7,所以输出3.

三面:

主要是围绕着基础的知识问了一些问题:

1、Java的GC

2、反射,反射是怎么实现的。

没看过是怎么实现的,现场猜想了一下,应该答错了

3、讲一下乐观锁和悲观锁

4、网络协议的分层,每一层是干嘛用的

5、DNS是哪一层的,域名解析的过程是什么样的?

6、进程间通信的方式,什么情况下需要进程间通信?

这个题答得也不太好,讲了管道、信号、共享内存区域

7、volatile关键字

8、Synchronized和Lock

这个地方我是想等他来问我底层的原理,所以说的时候没说完。不过说完他也没反馈,也许知道什么就应该全部说出来?

做一道算法题,序列化和反序列化二叉树

9、内核态和用户态介绍一下

最后面试官和我聊了聊平时是怎么学习的,最近学什么东西比较有心得,以后的职业规划是什么。

Java高频面试专题合集解析:

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是免费分享给那些有需要的朋友,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

这些资料都以整理成了PDF文档,如果有需要可以狂戳这里免费下载即可!

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

更多Java架构进阶资料展示

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

展示**

[外链图片转存中…(img-c2miswf8-1615960862490)]

[外链图片转存中…(img-YiTquEwC-1615960862493)]

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值