如何看待现在的Java面试变成八股文?

本文探讨了Java面试中常见的“八股文”问题,包括Java基础、IO、JVM、面试策略等内容。作者指出,虽然这些面试题可能显得机械,但了解并掌握它们对于进入大厂至关重要。文章列举了大量Java基础知识点,如数据结构、并发、设计模式等,并提及面试中可能会遇到的Kafka、Linux、MySQL、Redis、Spring等相关技术的常见问题。
摘要由CSDN通过智能技术生成

1000 道 Java 题面无表情的回答到:怪我喽?

2022 秋招即将来临,很多同学会问 Java 面试八股文有必要背吗?

我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。

国内的互联网面试,恐怕是现存的、最接近科举考试的制度。

简单来说,互联网IT行业的求职者太多了,如果考察的是清一溜的算法题和设计题,那么会要求面试官有极高的技术水平,还要花大量的时间成本和精力。

也许现行的八股文面试不是最优的解法,但的确是最符合当前国内IT环境的做法。

篇幅所限本文就只贴一下题目了,同学们可以自己先看看有哪些题是会的,不会的可以点击链接查看答案。

一、Java基础
1.JDK动态代理和CGLIB动态代理的区别

2.静态代理和动态代理的区别

3.ArrayList和LinkedList有什么区别?

4.重写和重载的区别

5.Java 8的接口新增了哪些特性?

6.抽象类和接口(Java7)的区别

7.为什么要有 hashCode

8.hashCode()介绍

9.hashCode 与 equals (重要)

10.Java中异常分为哪些种类?

11.内部类的分类有哪些

12.什么是内部类?

13.什么是方法的返回值?返回值的作用是什么?

14.静态方法和实例方法有何不同?

15.静态变量和实例变量区别

16.构造方法有哪些特性?

17.在Java中定义一个不做事且没有参数的构造方法的作用

18.break ,continue ,return 的区别及作用

19.static注意事项

20.static应用场景

21.static的独特之处

22.static存在的主要意义

23.this与super的区别

24.super关键字的用法

25.String类的常用方法有哪些?

26.char型变量中能否能不能存储一个中文汉字,为什么?

27.是否可以继承String类?

28.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对 不对?

29.构造器(constructor)是否可被重写(override)?

30.谈谈你对多态的理解?

31.Java中实现多态的机制是什么?

32.new一个对象的过程和clone一个对象的区别?

33.深克隆和浅克隆?

34.Java中为什么要用 clone?

35.Java 中操作字符串都有哪些类?它们之间有什么区别?

36.String str = “i” 和String str = new String(“1”)一样吗?

37.final finally finalize的区别

38.final 有什么用?

39.Java有哪些数据类型

40.什么是Java注释

41.用最有效率的方法计算2乘以8?

42.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

43.&和&&的区别?

44.Java有没有goto?

45.float f=3.4;是否正确?

46.访问修饰符public,private,protected,以及不写(默认)时的区别?

47.Java语言有哪些特点

48.什么是Java程序的主类?应用程序和小程序的主类有何不同?

49.说下面向对象四大特性

二、Java IO
1.IO多路复用的底层原理

2.缓冲区是什么意思?

3.通道是个什么意思?

4.同步、异步、阻塞、非堵塞

5.阻塞与非阻塞

6.同步与异步

7.什么是AIO

8.什么是NIO

9.什么是BIO

10.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?

11.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?

12.PrintStream、BufferedWriter、PrintWriter的比较?

13.字节流和字符流的区别?

14.如何实现 java 序列化?

15.什么是 java序列化?

16.Java 中有几种类型的流?

三、Java虚拟机
1.如何判断一个常量是废弃常量 ?

2.程序计数器为什么是私有的?

3.JRE、JDK、JVM 及 JIT 之间有什么不同?

4.JVM调优命令有哪些?

5.说一下 JVM 调优的工具?

6.介绍一下类文件结构吧!

7.如何判断一个类是无用的类?

8.Java会存在内存泄漏吗?请简单描述。

9.Minor Gc和Full GC 有什么不同呢?

10.说一下堆内存中对象的分配的基本策略

11.对象的访问定位有哪几种方式?

12.说一下Java对象的创建过程

13.Java 8 为什么要将永久代(PermGen)替换为元空间(MetaSpace)呢?

14.说一下堆和栈的区别

15.怎么打破双亲委派模型?

16.为什么需要双亲委派模式?

17.怎么打出线程栈信息?

18.说说你知道的几种主要的JVM参数

19.什么是happen-before原则?

20.什么是内存屏障?

21.什么是指令重排序?

22.JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?

23.JVM新生代中为什么要分为Eden和Survivor?

24.什么情况下会发生栈内存溢出?

25.Java对象的布局了解过吗?

26.Tomcat是怎么打破双亲委派机制的呢?

27.什么是双亲委派机制?

28.说下有哪些类加载器?

29.说说类加载的过程

30.ZGC收集器中的染色指针有什么用?

31.说说ZGC垃圾收集器的工作原理

32.说说G1垃圾收集器的工作原理

33.说说CMS垃圾收集器的工作原理

34.你了解过哪些垃圾收集器?

35.对象都是优先分配在年轻代上的吗?

36.GC Roots有哪些?

37.JVM怎么判断一个对象是不是要回收?

38.Java里有哪些引用类型?

39.你熟悉哪些垃圾收集算法?

40.字符串常量存放在哪个区域?

41.程序计数器有什么作用?

42.栈帧里面包含哪些东西?

四、Kafka
1.简述Follower副本消息同步的完整流程

2.JavaConsumer为什么采用单线程来获取消息?

3.Controller发生网络分区(NetworkPartitioning)时,Kafka会怎么样?

4.Kafka的哪些场景中使用了零拷贝(ZeroCopy)?

5.分区Leader选举策略有几种?

6.consumer_offsets是做什么用的?

7.Kafka能手动删除消息吗?

8.LEO、LSO、AR、ISR、HW都表示什么含义?

9.Leader总是-1,怎么破?

10.如何估算Kafka集群的机器数量?

11.Broker的HeapSize如何设置?

12.监控Kafka的框架都有哪些?

13.如何设置Kafka能接收的最大消息的大小?

14.阐述下Kafka中的领导者副本(LeaderReplica)和追随者副本(FollowerReplica)的区别

15.解释下Kafka中位移(offset)的作用

16.什么是消费者组?

17.kafka如何实现延迟队列?

18.Kafka中是怎么体现消息顺序性的?

19.为什么Kafka不支持读写分离?

20.Kafka中的消息是否会丢失和重复消费?

21.kafka的message格式是什么样的?

22.如果leadercrash时,ISR为空怎么办?

23.kafkaunclean配置代表啥?会对sparkstreaming消费有什么影响?

24.kafkaproducer打数据,ack为0,1,-1的时候代表啥,设置-1的时候,什么情况下,leader会认为一条消息commit了

25.kafkaproducer如何优化打入速度?

26.kafka为什么那么快?

27.什么情况下一个broker会从ISR中被踢出去?

28.kafkafollower如何与leader同步数据?

29.kafka中的zookeeper起到什么作用?可以不用zookeeper么?

30.kafka中的broker是干什么的?

31.Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么?

32.为什么要使用kafka?为什么要使用消息队列?

五、Linux
1.在Linux下如何指定dns服务器,来解析某个域名?

2.设置DNS需要修改哪个配置文件?

3.如何禁止服务器被ping?

4.用一条命令显示本机eth0网卡的IP地址,不显示其它字符?

5.whereis命令

6.service命令

7.shutdown命令

8.rpm命令

9.yum命令

10.export命令

11.unzip命令

12.bzip2命令

13.gzip命令

14.tar命令

15.把当前目录下所有后缀名为.txt的文件的权限修改为777?

16.xargs命令

17.sort命令

18.diff命令

19.vim命令

20.打印/etc/passwd的1到3行?

21.awk

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值