秋招Java岗,心态大崩,今年的面试真的有必要这么卷吗?

本文针对Java面试中常见的问题进行了总结,涵盖了面试八股文、线程、垃圾回收、数据库操作、JVM调优等多个方面。作者强调了在当前竞争激烈的面试环境中,熟悉Java面试题和掌握Java核心技术的重要性。文章提供了详细的面试题解答,并分享了一份《Java面试真题复盘笔记》,帮助求职者更好地准备秋招。
摘要由CSDN通过智能技术生成

前言

都说今年互联网寒冬,互联网红海,看遍众多大厂面试,牛客知乎各大招聘平台,一片怨声载道,都说难啊,的确,现在的互联网岗位,没以前那么好进了,随着人才的聚集,市场的逐步饱和,越来越多人倒在了面试一面上,即便如此,还是有人前赴后继,为的就是程序员这口饭。但你不卷,你不拼,就拿不到好的offer,找不到工作的忧虑就会一直萦绕在周围,没办法,还得卷。现在国内的环境就是卷就完事了,从基础就开始卷,很多人认为背面试八股文这种模式很死板,但事实就是,不背连面试一面都可能过不去,这已经是最合理最符合当前互联网环境的方法了。

鉴于此,我在网上看到虽然有不少Java面试题大全带答案,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案
可以说,你背好Java面试八股文,不一定保证能过面试,但如果不背 Java面试题的答案,肯定面试会挂!这是很现实的问题,国内的互联网面试环境如此,面试官要面对的是每天上百的求职者,可能最后录取的只要几个人,他没有太多时间浪费在同一个人身上,你背不好八股文,第一批被刷掉的就是你,很无奈,但也只能适应这个环境
为此我已将以下这些面试题整理成了一个<Java面试真题复盘笔记>,PDF版,免费分享,需要自取

1、CMS分为哪几个阶段?
CMS已经弃用。生活美好,时间有限,不建议再深入研究了。如果碰到问题,直接祭出回收过程即可。
1、 初始标记
2、 并发标记
3、 并发预清理
4、 并发可取消的预清理
5、 重新标记
6、 并发清理
由于《深入理解java虚拟机》一书的流行,面试时省略3、4步一般也是没问题的。

2、Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。
补充:可能不少人对什么是进程,什么是线程还比较模糊,对于为什么需要多线程编程也不是特别理解。简单的说:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程的划分尺度小于进程,这使得多线程程序的并发性高;进程在执行时通常拥有独立的内存单元,而线程之间可以共享内存。使用多线程的编程通常能够带来更好的性能和用户体验,但是多线程的程序对于其他程序是不友好的,因为它可能占用了更多的CPU资源。当然,也不是线程越多,程序的性能就越好,因为线程之间的调度和切换也会浪费CPU时间。时下很时髦的Node.js就采用了单线程异步I/O的工作模式。

3、请解释如何配置Tomcat来使用IIS和NTLM ?
必须遵循isapi_redirector.dll的标准指令
配置IIS使用“集成windows验证”
确保在服务器.xml中您已经禁用了tomcat身份验证

4、Java中的继承是单继承还是多继承
Java中既有单继承,又有多继承。对于java类来说只能有一个父类,对于接口来说可以同时继承多个接口

5、事务的使用场景在什么地方?
但一个业务逻辑包括多个数据库操作的时候,而且需要保证每个数据表操作都执行的成功进行下一个操作,这个时候可以使用事务

6、说一下垃圾分代收集的过程
分为新生代和老年代,新生代默认占总空间的 1/3,老年代默认占 2/3。
新生代使用复制算法,有 3 个分区:Eden、To Survivor、From Survivor,它们的默认占比是 8:1:1。
当新生代中的 Eden 区内存不足时,就会触发 Minor GC,过程如下:
1、 在 Eden 区执行了第一次 GC 之后,存活的对象会被移动到其中一个 Survivor 分区;
2、 Eden 区再次 GC,这时会采用复制算法,将 Eden 和 from 区一起清理,存活的对象会被复制到 to 区;
3、 移动一次,对象年龄加 1,对象年龄大于一定阀值会直接移动到老年代
4、 Survivor 区相同年龄所有对象大小的总和 (Survivor 区内存大小 * 这个目标使用率)时,大于或等于该年龄的对象直接进入老年代。其中这个使用率通过 -XX:TargetSurvivorRatio 指定,默认为 50%
5、 Survivor 区内存不足会发生担保分配
6、 超过指定大小的对象可以直接进入老年代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值