前言
我朋友也是个写了四年Java代码的程序员,跟女友已经恋爱多年,最近突然结婚了。
他结婚以前,换了一家公司,咱俩就好久没见过面了。刚好今天出门办事碰上了,找了一家店坐一起喝酒聊天。
我聊天时打趣他:“亏得你小子运气好,还能娶到老婆。咱们这一行,不是加班就是加班,天天就是和代码过日子。”
朋友说:“做这一行也就工资看着高点,确实是每天都累死累活。我还不是一样的加班,都没时间陪老婆!”
跟着又聊到了工作,朋友听到我还在写业务代码非常意外:“你还在原来的公司做?我跳槽后就开始学习分布式架构、微服务、JVM调优、并发编程、SpringCloud等,虽然过程很是艰辛;但是后面接手做了几个大项目后就升职了,薪水也涨了不少、不然就凭以前那点工资,哪敢结婚买房。”
我于是问了问他的月薪税后28K,不由得心底一凉…瞬间觉得最该同情的是自己。同时我也有点心动了,谁不想升职加薪呢?
我和朋友倒起了苦水:自己在公司干了这么久了,工资也没有提升,每天都是写业务代码,技术也得不到提高,很焦虑。我也想自己去学点东西,增加自己的价值,就是遇到瓶颈,不知道从哪入手。
他一听就说:“现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技术),要是你上对车,自身能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的Coder而已!
你现在就是缺少进阶Java中高级的机会,去深入去学习下数据结构算法、JVM调优、分布式架构设计等等;不然你在市场上没有核心竞争力,根本拿不到高薪!时间就是金钱,我向你推荐一套免费精品Java高级教程,保证你学了以后保证薪资上升一个台阶。”
一面
- 介绍项目
- java 线程池的实现原理,threadpoolexecutor关键参数解释
- hashmap的原理,容量为什么是2的幂次
- 为什么要同时重写hashcode和equals
- ConcurrentHashMap如何实现线程安全?
- 介绍Java多线程的5大状态,以及状态图流转过程
- 介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景
- B+树和红黑树时间复杂度
- 如果频繁老年代回收怎么分析解决
- JVM内存模型,新生代和老年的回收机制
- mysql limit分页如何保证可靠性
二面
- 了解哪些排序算法,讲讲复杂度
- 手撕归并排序
- Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?
- redis的hash数据结构最多能存储多少个元素
- 自己如何实现RPC?
- mysql默认存储引擎?MyISAM、InnoDB、MEMORY的区别
- 什么是幻读,如何解决
- 事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
- 乐观锁与悲观锁的使用场景
三面:
- 自我介绍
- 参与的并发项目,从设计到部署,按照流程讲一遍。
- 项目相关你用过redis,用在什么场景,怎么使用的?
- mysql同步机制原理,有哪几种同步方法
- 数据库主从同步如何实现,事务如何实现
- 谈谈你对SOA和微服务的理解,以及分布式架构从应用层面涉及到的调整和挑战。
- 阿里系中间件metaQ及原理与现有的kafka有什么异同
- 在阿里有了解过什么中间件吗?实现原理?与其他开源消息队列有什么特点?
- 为什么选择换公司?
- 三年到五年的职业规划?
Ending
Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下,点击这里即可解锁全部内容!
如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)
img-CtjfE65x-1619671575586)]
[外链图片转存中…(img-asUxQXuC-1619671575588)]
吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。