引言

技术好就一定能写出优质的代码吗?不能,对于做开发的人来说,学到的技术知识是理论性的,只有把知识代入到真实的实战案例中才能快速将理论转变为技能。

一直在网上看到过很多关于类似的资料,要么就是版本比较老,要么就是讲的太干,没有阅读下去的兴趣,以至于在这方面的学习止步不前。

今天,我跟大家要分享的这份阿里《互联网实战案例》共有22大实战案例,每一章节都有对应的完整代码,同时在学习的过程中需要了解并运行代码,再也不用担心学不会了。

一面

  1. 自我介绍
  2. 项目难度介绍
  3. 如何实现延时任务
  4. 如何实现限流
  5. 线程池的参数
  6. 能不能自己实现一个java.lang.String并加载
  7. Redis为什么这么快
  8. epoll和poll的区别
  9. 进程同步的方式

二面

  1. MySQL的索引机制
  2. 如何自己实现内存分配和管理?不太懂,然后说了jvm的垃圾回收机制
  3. 你们公司内部的RPC框架,介绍一下
  4. Redis的key过期策略
  5. 缓存穿透和缓存雪崩
  6. 分布式锁
  7. 如何实现全局的id生成策略
  8. 悲观锁和乐观锁
  9. 红黑树了解么

三面

  1. 如何实现群消息已读
  2. 消息推送如何保证不重复
  3. Kafka如何保证消息的可靠性
  4. RPC是什么,和http调用有什么区别
  5. 说一说你项目的架构
  6. GC
  7. MySQL的索引原理,给了一个场景,如何优化
  8. 。。。。。。

面完3面后居然又来了一个笔试题(内心无比崩溃~~)

附加笔试

  1. producer-consumer
  2. 两线程交替打印
  3. 多线程模拟100分钱随机分给20个人,每个人最少分配到2分钱

四面

  1. 写个producer-consumer吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2分钟写完完事。
  2. 项目难点
  3. MVCC
  4. HTTPS
  5. ElasticSearch的查询过程
  6. Kafka如何保证高可用
  7. Reids的集群和选主
  8. 知道什么分布式一致性算法
  9. 如何实现定时关单
  10. 。。。。。。

HR面(唉,阿里的hr面真是让我难忘。。。)

  • 说说看,假如你是部门技术经理,线上商户数据丢失怎么办
  • 怎么将一个产品推荐给其他的团队,怎么界定边界
  • 怎么样协调关系(到这里我已经快冒汗了,生怕最后一关毙掉了)
  • 你和同事相处的情况怎么样,说说你帮助同事的一次经历
  • 薪资

说真的,阿里面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,这次虽然面的忐忑,最终三天内还是收到了offer,真的很庆幸。