写点什么

2019-2021 历年阿里 Java 面试真题,面试官不讲武德

发布于: 19 小时前


一面:


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


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、内核态和用户态介绍一下


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

最后

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。


我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。


不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下


开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】


整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

用户头像

VX:Lzzzzzz63 领取资料 2021.07.29 加入

还未添加个人简介

评论

发布
暂无评论
2019-2021历年阿里Java面试真题,面试官不讲武德