2021年秋招Java研发岗的面试高频考点
Posted 牛牛最爱喝兽奶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年秋招Java研发岗的面试高频考点相关的知识,希望对你有一定的参考价值。
高频考点建议收藏!!!
(稍后整理答案!!!)
东方财富一面 JAVA
1、集合常用哪些类,arraylist和linkedlist的比较
2、Java多线程(线程如何创建、怎么使用线程池)
3、锁升级
4、JMM
5、垃圾回收 算法
6、HashMap一套
7、 redis 数据类型及底层实现(主要跳表)
8、缓存一致性
9、mysql引擎知道哪些,区别是什么(我说了myisam和innodb)
10、mysql慢查询
11、mysql组件(不太了解,尴尬)
12、索引以及explain使用
13、各种mq的优势以及怎么选择
14、zk选举(说了一种场景,详细说说选举过程)
15、cas底层实现
美团一面JAVA
操作系统
- 进程和线程的区别?
- 什么是临界区?
- 进程间通信的方法?
- 进程有哪些调度 算法 ?
- 什么是死锁?死锁的条件?
计算机网络
- HTTP属于哪一层?
- TCP和UDP处于哪一层?
- TCP和UDP有什么运用场景?有哪些区别?
- TCP为什么需要三次握手和四次挥手?
- 浏览器输入网址之后发生了什么?
- Cookie和Session的区别?
追问:分布式Session如何实现?
Java基础
- Java的异常体系?
- 遇见过什么Error?
答:OOM
追问:OOM你是怎么排查的? - 遇到过NoSuchMethodException吗?
有见过,但是没啥印象是什么场景了。。 - Integer类有缓存吗?为什么需要缓存?
- 我可以自己实现一个包名和类名都一样的Integer类吗?
JVM
- JVM的类加载机制
- 有几种类加载器?为什么要有双亲委派模型?
- 打破双亲委派模型的例子
- Java的锁升级机制?
追问:锁升级机制怎么实现的?可以从对象头来说 - Java有哪些GC 算法 ?
- 了解过G1收集器吗?
追问:四个步骤中哪些步骤会STW? - Java的内存区域
Java数据结构
- HashMap底层实现
- HashMap扩容时发生死循环是什么情况?
- ConcurrentHashMap底层
追问:ConcurrentHashMap扩容机制 - LinkedHashMap了解过吗?用于解决什么问题?
- ArrayList和LinkedList的区别?
逻辑题
40亿个不重复、未 排序 的unsigned int,给一个x,有2G内存,如果判断x是否在这40亿个数之中?
算法题
LeetCode 88 合并两个有序数组
最后没有反问环节,感觉有点凉的意思
美团二面JAVA
基础
Java并发
- ConcurrentHashMap和HashMap的区别?
- ConcurrentHashMap锁的粒度?
- Java与并发相关的关键字?
谈了一下synchronized,主要说了一下锁升级。 - 同步方法和同步代码块?
追问:一般更推荐用哪种?
计算机网络
- 得到网页的IP地址之后是如何建立连接的?
MySQL
- 索引设计的原则
追问:给一个简单的SQL,问如何设计索引。
追问:两个用=判断的可以变换顺序吗? - 脏读、幻读是如何解决的?
追问:next-key lock的上锁区间是如何确定的?
这块问的比较细,追问了挺多关于锁的细节的,具体有点记不起了。
Redis
- Redis是单线程还是多线程?单线程为什么依然快?
- Redis的多路复用是如何保证读写的顺序正确?
- Redis实现分布式锁
计组
- 从磁盘I/O的大致过程?
算法
LeetCode 2 两数相加
逻辑题
要吃一颗A药一颗B药,两种药看起来一样,现在手上有一粒A两粒B,怎样吃才能不浪费?
1000瓶液体,1瓶有毒,一小时毒发,需要多少只老鼠才能一小时试出哪瓶有毒?
字节一面JAVA
1.自我介绍阶段还是有笑容的,下面的问题给我整郁闷了
2.专业知识部分:Java高并发部分,happensbefor讲一下;
volatile关键字讲一下;
Linux与Java的多线程有什么区别?
ArrayList底层一个框的大小?
讲一下泛型;
讲一下可重入锁;
讲一下synochronizd关键字;
Java中线程被阻塞了如何被唤醒?
讲一下concurrentHashMap底层原理;
说一下hashcode(),equals()和==的区别,重写前两个方法的作用是?
讲一下操作系统中的内核态与用户态;
讲一下用户态什么情况下会进入内核态?
讲一下Linux的锁机制?
讲一下HTTP包含的方法?(get() post()等)
讲一下post请求下上传一定大小的数据怎样判别数据大小?
3.编程题: 1:实现字典树
2:两个有序 链表 的合并,楼主写了递归,要求再写一个循环的。
日用友一面
1.Java有哪些集合,以及他们有哪些实现?
2、HashMap底层实现,扩容了解吗?
3、说一说ConcurrentHashMap
4、synchronized加静态方法和成员方法上有什么区别?
5、sleep()和wait()有什么区别?
6、比如说有两个线程,有一个线程走到了synchronized方法里面了,另一个线程也掉入了这个synchronized方法,那么线程会怎么样?
7、线程池有哪些类型?
8、如果线程池的线程满了的话(线程池里面所有的线程都在工作),再往里面塞任务,会怎么做?它会再往哪个位置去存放这些东西?或者做一些其他处理?有什么一些策略?
9、CAS是什么概念?
10、MySQL常用存储引擎
11、事务隔离级别
12、如果要存放金额等带精度的数据,使用什么字段类型?
13、分页用什么关键词?
14、索引类型有哪些?
15、有没有看到过组合索引?
16、使用where时哪些语法尽量不要用?
17、最左优先原则说一说
18、mybatis里面#与$的区别,怎么理解预编译?为什么执行sql时要生成一个带❓的sql?
19、有没有看过框架的 源码 ?
20、接触过哪些 算法 ?
21、Java内存管理
22、 redis 有了解过吗?
23、微服务有接触过吗?
24、springboot和springMVC区别
最后
1、除了平时上课外如何去学习Java的相关内容的?
2、评价
//----------------------------------------------------------------------------------------------------------------------------------//
BIO、NIO、AIO
线程间通信方式
以上是关于2021年秋招Java研发岗的面试高频考点的主要内容,如果未能解决你的问题,请参考以下文章
刷完前端面试题高频考点,再琢磨深挖题,面试官你还有什么招尽管使出来!