引言
技术好就一定能写出优质的代码吗?不能,对于做开发的人来说,学到的技术知识是理论性的,只有把知识代入到真实的实战案例中才能快速将理论转变为技能。
一直在网上看到过很多关于类似的资料,要么就是版本比较老,要么就是讲的太干,没有阅读下去的兴趣,以至于在这方面的学习止步不前。
今天,我跟大家要分享的这份阿里《互联网实战案例》共有22大实战案例,每一章节都有对应的完整代码,同时在学习的过程中需要了解并运行代码,再也不用担心学不会了。
一面
- 自我介绍
- 项目难度介绍
- 如何实现延时任务
- 如何实现限流
- 线程池的参数
- 能不能自己实现一个java.lang.String并加载
- Redis为什么这么快
- epoll和poll的区别
- 进程同步的方式
二面
- MySQL的索引机制
- 如何自己实现内存分配和管理?不太懂,然后说了jvm的垃圾回收机制
- 你们公司内部的RPC框架,介绍一下
- Redis的key过期策略
- 缓存穿透和缓存雪崩
- 分布式锁
- 如何实现全局的id生成策略
- 悲观锁和乐观锁
- 红黑树了解么
三面
- 如何实现群消息已读
- 消息推送如何保证不重复
- Kafka如何保证消息的可靠性
- RPC是什么,和http调用有什么区别
- 说一说你项目的架构
- GC
- MySQL的索引原理,给了一个场景,如何优化
- 。。。。。。
面完3面后居然又来了一个笔试题(内心无比崩溃~~)
附加笔试
- producer-consumer
- 两线程交替打印
- 多线程模拟100分钱随机分给20个人,每个人最少分配到2分钱
四面
- 写个producer-consumer吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2分钟写完完事。
- 项目难点
- MVCC
- HTTPS
- ElasticSearch的查询过程
- Kafka如何保证高可用
- Reids的集群和选主
- 知道什么分布式一致性算法
- 如何实现定时关单
- 。。。。。。
HR面(唉,阿里的hr面真是让我难忘。。。)
- 说说看,假如你是部门技术经理,线上商户数据丢失怎么办
- 怎么将一个产品推荐给其他的团队,怎么界定边界
- 怎么样协调关系(到这里我已经快冒汗了,生怕最后一关毙掉了)
- 你和同事相处的情况怎么样,说说你帮助同事的一次经历
- 薪资
说真的,阿里面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,这次虽然面的忐忑,最终三天内还是收到了offer,真的很庆幸。