高级Java面试总结

时间:2018-08-20
本文章向大家介绍高级Java面试总结,需要的朋友可以参考一下

前不久刚换了单位,这段时间抽出时间来总结一下。

本人渣本毕业四年,无大厂工作经验,出来面高级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,二选一,已入职。

进大厂,路漫漫。做技术,途遥远。永远走不到头~

还需平时多积累,等到拿来用的时候方有用武之地~

亡羊补牢,为时未晚!共勉~