JAVA面经---23届秋招面经总结----(三)

JAVA面经—23届秋招面经总结----(三)

沃尔沃 9.18一面(能源优化测试工程师):

1.英文自我介绍
2.英文文献翻译及对于文章的看法
    内容关于负载均衡算法。(不太了解)
3.空指针异常怎么排查?
    赋值对象未实例化,造成空指针异常; 值为空,未经判断直接赋给对象,造成空指针异常。
4.OutOfMemory异常怎么排查?
    调用jstat 查看监控 JVM 的内存和 GC 情况,先观察问题大概出在什么区域; 使用 MAT 工具载入到 dump 文件,分析大对象的占用情况,比如 HashMap 做缓存未清理,时间长了就会内存溢出,可以把改为弱引用 。
5.String对象怎么创建存放?
    使用String a = “aaa” ;,程序运行时会在常量池中查找”aaa”字符串,若没有,会将”aaa”字符串放进常量池,再将其地址赋给a;若有,将找到的”aaa”字符串的地址赋给a。 使用String b = new String(“aaa”);`,程序会在堆内存中开辟一片新空间存放新对象,同时会将”aaa”字符串放入常量池,相当于创建了两个对象,无论常量池中有没有”aaa”字符串,程序都会在堆内存中开辟一片新空间存放新对象。
6.GC 回收机制介绍
    java中有四种垃圾回收算法,分别是标记清除法、标记整理法、复制算法、分代收集算法。 主要对分代收集算法进行了详细地描述,分代即分为:Young区和Old区,Young区中的Elden区满时,触发MinorGC;Old区满时,触发FullGC。
7.TCP与UDP区别、以及分别的适应场景
8.TCP三次握手阶段传递的消息是什么
    第一次客户端请求建立连接,向服务端发送一个同步报文SYN=1; 第二次握手:服务端收到连接请求报文后,如果同意建立连接,则向客户端发送同步确认报文**(SYN=1,ACK=1)**; 第三次握手:客户端收到服务端的确认后,向服务端发送一个确认报文ACK=1。 第三次握手是可以携带数据的,前两次握手是不可以携带数据的。
9.手撕:输出字符串中的无重复的第一个字符,最后问算法的时间复杂度与空间复杂度。

一道简单题,卡半天,很尴尬。

10.有无汽车公司的相关工作经验?

11.什么时候能来实习?
经验分享 程序员 微信小程序 职场和发展