前不久刚换了单位,这段时间抽出时间来总结一下。
本人渣本毕业四年,无大厂工作经验,出来面高级Java。
上家单位是一个知名互联网平台,但是体量不大的小公司(5线互联网公司),但就是出名(职场人都知道~哈哈)。
下边来总结一下进更大体量互联网平台的要素。
1、工作背景,最好有互联网背景。(好多公司都说不看背景,不看学历,只看技术,那个其实是针对内推,海选是不现实的,假如你没互联网背景可以往后看)
2、学历,本科以上。(这个好多大公司海选阶段是硬性要求的,假如这个也达不到,只要你技术过硬,找朋友内推是最好的选择。)
3、技术水平。(这个不用多说了,下边会好好说说高级Java面临的问题。)
4、价值观。(这个玩意怎么说呢,每个人虽然价值观不同,但是只要抱着一颗中庸的心态经历HR面都是没问题的!)
高级Java面试,你将面临以下几块技术面试:
1.Java 基础(JVM/锁/多线程/线程安全)
①JVM内存模型的划分,GC的几种回收算法,JVM调优
②Java lock实现原理(深入到AQS实现)
③volatile关键字的作用
④Atomic类应用场景及内部原子实现原理
⑤Java synchronized实现原理
⑥Java 如何自定义线程池
⑦线程池的底层实现原理(一般会引申到多线程间的通讯)
⑧hashmap为什么线程不安全,内部的几种情况。(引申并发包相关问题)
等等
2.数据库基础
①mysql的索引结构。
②组合索引的应用及命中规律。
③B+树索引结构的优点。
④sql如何调优及关键字导致不命中索引的情况。
等等
3.中间件知识
①redis持久化策略,各自的优缺点。(RDB、AOF)
②如何保证redis集群高可用。
③redis的应用场景,都用来做什么。(缓存、计数器、分布式锁、排序等,不同场景还会引申不同的几个问题)
④kafka消息消费失败、重复消费有没有遇到过?分别怎么解决的。
⑤为什么用kafka?为什么没有考虑其他MQ?
⑥你都了解几种分布式锁?(redis分布式锁、zk锁等(zk锁加分项))
4.数据结构算法
一般都是手写排序或者leetCode上的题拿来问,不会的可以压宝力扣,大神忽略~哈哈。
5.设计模式
①说说你了解的设计模式?
补充一下我的结果,提离职之后一周面了四家(二线互联网),拿了两个offer,二选一,已入职。
进大厂,路漫漫。做技术,途遥远。永远走不到头~
还需平时多积累,等到拿来用的时候方有用武之地~
亡羊补牢,为时未晚!共勉~