乐趣区

关于java:面时不慌2021年秋招十多家大厂Java岗面试总结

金九银十,又到了技术面试求职高峰期,你是否还在为面试不晓得筹备哪些技术问题而焦虑?在面了十多家公司之后,我特地汇总 100 道 Java 高频重点面试题,想要面试 Java 工程师的小伙伴能够依据本人的进度筹备这些问题,把握了这些重点问题能够帮忙咱们大大增加通过前两轮技术面试的几率,顺利拿下心仪 Offer。

因为篇幅起因,就只展现了所有的题目,大家能够自测一下看看可能答出多少道题目;须要参考答案点赞 + 转发之后【戳此处】获取!

我的项目相干

1.1 介绍一下你简历上写的我的项目?本人次要做了什么?

1.2 你感觉我的项目里给你最大的挑战是什么?遇到了什么问题?如何解决的?从中学到了什么?

我的项目外面会一直呈现各种问题,比方数据量过大造成的内存溢出问题,如何让程序运行效率更高,如何证实咱们的算法比他人的算法效率高,如何找到新的观点来撑持咱们现有的实践,如何向导师和师兄进行沟通实现接下来的工作。

1.3 我的项目的架构图能画一下不?

1.4 感觉我的项目有哪些地方能够改良欠缺?(比方:能够加一个 redis 缓存把热点数据缓存起来)

1.5 有没有遇到过内存透露的场景?

根底问题

2.1 过程和线程的区别?

2.2 过程的调度算法有哪些?(重要)

2.3 罕用 IO 模型?

2.4 select、poll 和 epoll 的区别?epoll 的底层应用的数据结构。

2.5 过程的通信形式有哪些?线程呢?

2.6 fork 函数的作用?

2.7 协程的概念?

2.8. linux 过程和线程?

2.9 通过过程 id 查看占用的端口,通过端口号查看占用的过程 id?

2.10 如何查看占用内存比拟多的过程?

2.11 僵尸过程产生的起因?

2.12 孤儿过程产生的起因?

2.13 讲一下虚拟内存。虚拟内存和物理内存的关系是什么?

2.14 分段和分页讲一下?以及对应的场景?

2.15 讲一下用户态和内核态?所有的零碎调用都会进入到内核态吗?

2.16 平时用什么 linux 命令比拟多?如何关上文件并进行查找某个单词?怎么在某个目录下找到蕴含 txt 的文件?

2.17 用过 ping 命令么?简略介绍一下。TTL 是什么意思?

2.18 怎么判断一个主机是不是凋谢某个端口?

2.19 说一下你最用的比拟多得模式(我说的工厂模式和观察者模式),再实现一个单例模式。

2.20 排序算法哪些是稳固的,为什么间接插入排序是稳固的,各种排序算法的工夫复杂度和空间复杂度?

2.21 如何进行二叉树的各种遍历的非递归算法实现?简要讲述。

2.22 硬链接和软链接?

2.23 中断的分类?

2.24 软中断和硬中断?

2.25 红黑树和均衡二叉树?

Java 根底

3.1 StringBuilder 和 StringBuffer

3.2 Java 实现间断空间的内存调配?

3.3 创建对象的形式有哪几种?

3.4 接口和抽象类有什么区别?

3.5 深拷贝和浅拷贝区别?

3.6 讲一讲封装,继承,多态(重要)

  • 编译时多态
  • 运行时多态

3.7 泛型是什么? 类型擦除?

3.8 如何实现动态代理?有啥缺点?

3.9 动静代理的作用?在哪些地方用到了?(AOP、RPC 框架中都有用到,面试口试中常常要求手写一个动静代理)

3.10 JDK 的动静代理和 CGLIB 有什么区别?

3.11 谈谈对 Java 注解的了解,解决了什么问题?

3.12 Java 反射?反射有什么毛病?你是怎么了解反射的(为什么框架须要反射)?

3.13 为什么框架须要反射技术?

3.14 获取 Class 对象的两种形式

3.15 内存泄露和内存溢出的场景。

  • 内存泄露的场景
  • 内存溢出场景

3.16 讲一下,强援用,弱援用,软援用,虚援用。

3.17 一个对象是否有虚援用的存在,不会对其生存工夫造成影响,也无奈通过虚援用 失去一个对象。

3.18 讲一下 Java 的 NIO,AIO, BIO?

3.19 Java 中 finalize() 办法的应用?

3.20 GC Root 对象有哪些

3.21 Java 中 Class.forName 和 ClassLoader 的区别?

3.22 讲一下 CopyOnWriteArrayList 和 CopyOnWriteArraySet?

  • CopyOnWrite 容器:
  • CopyOnWrite 的毛病

3.23 单例模式(重要)

3.24 Java 中 >> 和 >>> 的区别

因为篇幅起因,就只展现了所有的题目,大家能够自测一下看看可能答出多少道题目;须要参考答案点赞 + 转发之后【戳此处】获取!

计网

4.1 为什么网络要分层?

4.2 TCP/IP 4 层模型理解么?

4.3 HTTP 是哪一层的协定?http 常见的状态码

4.4 HTTP 和 HTTPS 什么区别?

4.5 讲一下对称加密算法和非对称加密算法?

4.6 HTTP2.0 讲一下

4.7 HTTP 报文详解?具体说一下申请报文,以及 HTTP 和 TCP 的区别

4.8 TCP 三次握手的过程,以及三次握手的起因?

4.9 TCP 四次挥手的过程,以及四次挥手的起因?

4.10 TCP 滑动窗口是干什么的?TCP 的可靠性体现在哪里?拥塞管制如何实现的?

4.11 TCP 和 UDP 有什么区别?及其实用的场景。

4.12 Mac 地址和 ip 地址的区别?既然有了 Mac 地址,为什么还要 ip 地址呢?

4.13 当你关上一个电商网站,都须要经验哪些过程?别离用到了什么协定。

4.14. 电子邮件的发送过程?

4.15 DNS 解析过程,DNS 劫持理解吗?

4.16 GET 和 POST 有什么不一样?

4.17 session 和 cookie 的问题?

4.18 HTTP 是不保留状态的协定, 如何保留用户状态?

4.19 Arp 协定?

4.20 DDos 攻打理解吗?

汇合框架

5.1 ArrayList 的扩容机制?

5.2 HashMap 的底层实现、JDK 1.8 的时候为啥将链表转换成红黑树?HashMap 的负载因子

5.3 ConcurrentHashMap 的底层实现

5.5 什么 ConcurrentHashMap 的读操作不须要加锁?

5.6 HashMap,LinkedHashMap,TreeMap 有什么区别?HashMap,TreeMap

5.7 有哪些汇合是线程不平安的,又有哪些汇合是线程不平安的?怎么解决呢?线程平安的汇合类.

5.8 什么是疾速失败 (fail-fast)、能举个例子吗?什么是平安失败 (fail-safe) 呢?

5.8 HashMap 多线程操作导致死循环问题异样

多线程

6.1 在多线程状况下如何保障线程平安。

6.2 写一个死锁的例子

6.3 讲一下 volatile 关键字的作用。

6.4 synchronized 作用,讲一讲底层实现。

6.5 ReetrantLock 和 synchronized 的区别

6.6 说说 synchronized 关键字和 volatile 关键字的区别

6.7 ReetrantLock 实现形式

6.8 interrupt,interrupted 与 isInterrupted 办法的区别? 如何进行一个正在运行的线程

6.9 线程池作用?Java 线程池有哪些参数?阻塞队列有几种?回绝策略有几种?线程池的工作机制?

6.10 线程池回绝策略别离应用在什么场景?

6.11 线程死锁,解除线程死锁有哪几种形式?(两次栽倒这题上了,工夫太久又遗记了,如何解决很重要)

6.12 ThreadLocal 是什么,利用场景是什么,原理是怎么的?

6.13 ThreadLocal 类为什么要加上 private static 润饰?

6.14 ThreadLocal 有什么缺点?如果线程池的线程应用 ThreadLocal 会有什么问题?

6.15 介绍一下 Java 有哪些锁

6.16 乐观锁和乐观锁讲一下,哪些地方用到。

以上内容是 Java 高频重点面试问题总结,问题答案可参考以下链接,心愿可能帮忙大家疾速达到面试状态,顺利拿到心仪 offer。

最全学习笔记大厂真题 + 微服务 +MySQL+ 分布式 +SSM 框架 +Java+Redis+ 数据结构与算法 + 网络 +Linux+Spring 全家桶 +JVM+ 高并发 + 各大学习思维脑图 + 面试汇合

退出移动版