高级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,二选一,已入职。
进大厂,路漫漫。做技术,途遥远。永远走不到头~
还需平时多积累,等到拿来用的时候方有用武之地~
亡羊补牢,为时未晚!共勉~
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 为什么别人不想回答你提的问题?
- python面试题搜集:史上最全python面试题详解(一)
- 一日一技:在 Golang 中如何快速判断字符串是否在一个数组中
- 面试问题之操作系统
- 软技能提升:转转中后台规范落地实践
- python面试题搜集(三)
- 什么是计算机网络?为什么需要网络通信?如何进行网络编程?
- Python中好用又高效的Collections 模块
- 正确创建Python二维数组
- 深入理解Python内存管理与垃圾回收,再也不怕问了(一)
- 走进面向“对象”编程的理想国(一)——深入理解Python中的一切皆对象
- 深入理解Python内存管理与垃圾回收,再也不怕问了(二)
- 如何利用Python实现二分查找(迭代和递归)
- 详解排序算法(Python实现)
- Python垃圾回收机制