当前位置: 首页 > 面试经验 >

百度25届提前批Java一面凉经

优质
小牛编辑
66浏览
2024-08-07

百度25届提前批Java一面凉经

一面7.15北京时间上午十点

简单自我介绍,

讲一下之前接触过的项目,只是简单的介绍了一下项目,没有太深问大概十分钟

开始问些简单八股--------------------------

1️⃣、讲一下hashcode()和equals()关系

equals()和==有什么区别‼️‼️

2️⃣、讲一下重载和重写的区别‼️

3️⃣、讲一下深拷贝、浅拷贝的区别‼️

深拷贝会从堆内存中完全复制一个对象,浅拷贝只是复制对象的符号引用,但是浅拷贝对象和原对象共指向同一个内存地址

4️⃣、讲一下Java异常的基类

运行时异常举几个例子,简单聊一下什么情况下会出现

StackOverFlow、ArrayIndexOutOfBoundsException、NullPointerException

5️⃣、Java并发了解吧

5.1 讲一下 线程的几种状态(new、ready、running、waiting、terminated)‼️

状态间是如何切换的、线程在ready状态能否sleep(不能,因为在ready状态还没有获取到资源,而sleep是线程运行时操作,且不会释放资源)

5.2 sleep 和 wait 的区别,sleep不会释放资源,wait会释放资源

6️⃣、聊一下锁吧(因为在聊线程并发的时候,我总是提到锁的问题,所以面试官就顺着聊了)

6.1 聊一下 乐观锁 和 悲观锁‼️

CAS 什么原理,属于什么,Java中哪些操作使用了CAS,CAS是否是原子性的,如何规避ABA的问题(这个是我自己提的,但是我忘了怎么解决了,扣分-1)

6.2 聊一下 公平锁 和 非公平锁‼️

自己聊到了 reentrantLock 是怎么实现公平锁和非公平锁的 (参数设置true / false),

synchronized 是公平的吗(这里又聊错了扣分-1,synchronized是非公平锁,这意味着在多个线程竞争同一个锁的时候,锁的分配是随机的,不能保证先等待的线程先获得锁)

(非公平锁的实现更加简单,不需要维护一个复杂的等待队列和公平调度机制,减少锁实现中的开销)

#软件开发笔面经#
 类似资料: