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

操作系统

  1. 进程和线程的区别?
  2. 什么是临界区?
  3. 进程间通信的方法?
  4. 进程有哪些调度 算法 ?
  5. 什么是死锁?死锁的条件?

计算机网络

  1. HTTP属于哪一层?
  2. TCP和UDP处于哪一层?
  3. TCP和UDP有什么运用场景?有哪些区别?
  4. TCP为什么需要三次握手和四次挥手?
  5. 浏览器输入网址之后发生了什么?
  6. Cookie和Session的区别?
    追问:分布式Session如何实现?

Java基础

  1. Java的异常体系?
  2. 遇见过什么Error?
    答:OOM
    追问:OOM你是怎么排查的?
  3. 遇到过NoSuchMethodException吗?
    有见过,但是没啥印象是什么场景了。。
  4. Integer类有缓存吗?为什么需要缓存?
  5. 我可以自己实现一个包名和类名都一样的Integer类吗?

JVM

  1. JVM的类加载机制
  2. 有几种类加载器?为什么要有双亲委派模型?
  3. 打破双亲委派模型的例子
  4. Java的锁升级机制?
    追问:锁升级机制怎么实现的?可以从对象头来说
  5. Java有哪些GC 算法 ?
  6. 了解过G1收集器吗?
    追问:四个步骤中哪些步骤会STW?
  7. Java的内存区域

Java数据结构

  1. HashMap底层实现
  2. HashMap扩容时发生死循环是什么情况?
  3. ConcurrentHashMap底层
    追问:ConcurrentHashMap扩容机制
  4. LinkedHashMap了解过吗?用于解决什么问题?
  5. ArrayList和LinkedList的区别?

逻辑题
40亿个不重复、未 排序 的unsigned int,给一个x,有2G内存,如果判断x是否在这40亿个数之中?

算法题
LeetCode 88 合并两个有序数组

最后没有反问环节,感觉有点凉的意思

美团二面JAVA

基础
Java并发

  1. ConcurrentHashMap和HashMap的区别?
  2. ConcurrentHashMap锁的粒度?
  3. Java与并发相关的关键字?
    谈了一下synchronized,主要说了一下锁升级。
  4. 同步方法和同步代码块?
    追问:一般更推荐用哪种?

计算机网络

  1. 得到网页的IP地址之后是如何建立连接的?

MySQL

  1. 索引设计的原则
    追问:给一个简单的SQL,问如何设计索引。
    追问:两个用=判断的可以变换顺序吗?
  2. 脏读、幻读是如何解决的?
    追问:next-key lock的上锁区间是如何确定的?
    这块问的比较细,追问了挺多关于锁的细节的,具体有点记不起了。

Redis

  1. Redis是单线程还是多线程?单线程为什么依然快?
  2. Redis的多路复用是如何保证读写的顺序正确?
  3. Redis实现分布式锁

计组

  1. 从磁盘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

在这里插入图片描述

线程间通信方式

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cout_s/article/details/120112895