今天上午面试了一位工作12年的程序员,结果真给我整无语了,淦!
这位老哥有3年Android开发经验,2年H5,7年Java开发经验,简历上写着精通Java,Android,熟悉H5开发,没有具体的技术点。
面试时我打算聊点基础的,先打开一下话题,比如:
Git的分支你们是怎么管理的?
接口保证幂等性是基本的要求,那么幂等性你们是怎么做的?
你们有用@Transactional来控制事务是吧,那么能不能说出一些事务不生效的场景?
上面几个问题没有一个是“造火箭”的,结果发现,这些很基本的问题,他都答得很模糊,或者支支吾吾。
然后,他后来的这句话给我整懵了:
上面的问题我虽然都不懂,但是我都工作六年了,如果我不能胜任工作,那你告诉我,我这5年经验是怎么来的?
再说了,做Java开发,说到底,还不是产品输出原型,对着原型进行数据库建表,然后CRUD吗?
遇到问题网上搜索一下,再不行就群里问一下,我又不找什么中间件的团队,Java开发,不都是这样吗,还能有什么别的花样?
听完我沉思了良久,做为一个高级开发,只会对着产品原型CRUD,测试不提bug,代码都不想复盘多看一眼,谁愿意和这样的“高级大佬”一起干活?
其实我想了一下,他之所以有这样的想法,很大程度取决于他的经历,长年在传统行业,或者“小作坊”,平时就两三个Java开发,大家都是“难兄难弟”的水平。
让他认为,Java开发,就是对着原型CRUD,年限上去了,就是高级开发。思维一旦形成,就很难改变,但是,互联网是个瞬息万变的行业。
如果只是对着原型CRUD,有问题就把报错信息网上一搜,群里一丢等回复这种方式,迟早给淘汰。
🎁限时免费🎁
课程目录
第一天:JUC技术核心AQS同步队列设计与实现
1、Java并发包JUC结构体系
2、ReentrantLock背后的哲学
3、小白都能听得懂的:AQS设计与思考
4、小白都能听得懂的:AQS实现与优化
5、独家详解:AQS核心代码逐行分解
6、独家解密:AQS虚假唤醒问题?Doug Lea Bug还是故意为之!
第二天:微服务SpringCloud Alibaba高并发实战
1、抗住淘宝双十一的三大利器:Sentinel、Nacos、RocketMQ
2、Alibaba Sentinel在淘宝双十一洪峰时限流底层实现原理
3、Alibaba Sentinel对比 Netflix Hystrix区别与优势
4、微服务生态体系SpringCloud Netflix/Alibaba
5、Nacos 与 Apollo 、SpringCloud Config技术选型
6、SpringCloud+ Skywalking微服务全链路压测与监控预警
7、基于云原生Sentinel百万并发限流压测
8、Nginx+mysql方案 单机压测对比
9、SpringBoot + Mysql 方案 单机压测对比
10、SpringBoot + redis 方案 单机压测对比
11、Nginx+静态缓存方案 单机压测对比
12、Nginx+redis方案 单机压测对比
第三天:亿级电商秒杀系统数据库调优终极方案
1、一节课教你看懂mysql的执行计划
2、mysql索引的实现原理和数据结构
3、mysql索引设计的技巧
4、mysql聚簇索引和非聚簇索引的区别
5、mysql索引的终极调优方案
6、mysql分布式集群的设计原则
7、mysql如何实现高效的读写分离和分库分表
第四天:亿级电商秒杀系统:分布式事务全套解决方案
1、分布式场景系统中数据一致性问题如何解决
2、分布式事务的解决思路分析。
3、两阶段提交协议、三阶段提交协议。
4、TCC(Try Confirm Cancel)解决方案。
5、LCN(Lock Confirm Notify)解决方案。
6、阿里巴巴分布式事务框架:Seata实际落地方案。
7、消息队列+本地事件表+定时任务方案。
8、可靠消息服务方案。
9、最大努力通知方案。
第五天:马士兵亲授:尸横遍野,阿里问了这道题
1、不常用不代表不重要,详解强软弱虚四种引用
2、ThreadLocal到底存不存在内存泄漏?
3、深入JDK源码解读ThreadLocal的私有领地
4、面试官问题ThreadLocal泄漏问题如何回答才完善?
5、阿里P6级别的问题长啥样?
6、频繁被问到的1A2B3C问题如何解答?
7、运用synchronized解决经典面试题
8、运用ReentrantLock解决经典面试题
9、运用LockSupport解决经典面试题
10、解析面试题背后的大厂心理