拼凑硬币java_Java面试经验:百度Java工程师面试题目汇总

这是一场涵盖Java、数据库、并发、框架等多方面技术的面试总结,涉及到Spring事务隔离级别、数据库索引、JDBC、连接池、缓存、多线程、锁机制、数据结构等多个核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0eed7e7e114228eed34aa5c2c8d00431.png

一面:

1.Spring或者数据库的事物隔离级别和传播特性是怎样的

2.final都能修饰什么,起到什么作用

3.statement和prepareStatement有什么区别

4.HashMap和HashTable主要的区别是什么

5.LinkedList和ArrayList的区别是啥

6.HashMap底层的数据结构是怎样的

7.数据库的索引是如何实现的,主键索引和联合索引数据结构有什么区别

8.Servlet的原理是什么,是否是线程安全的

9.JDBC的目的是什么,是一种接口还是一种实现(JDBC本身是一种标准,每种数据库的JDBC是一种实现),有什么主要的技术

10.用过哪种连接池,为什么要用连接池

11.用过哪些缓存,用于什么场景,redis怎么实现分布式锁

2e4b7272a3038c5f242cf3ce07ea0613.png

二面:

1.写一个单例模式

2.斐波那契数列的递归与遍历实现

3.给定2,3,5面值的硬币若干,给出一个数字,计算拼凑这个数字最少用到硬币的个数

4.有10亿个数字,如何找出top100.(引申问题,链表与数组的的选用)

5.HashMap的内部数据结构(又问一遍),Rehash的实现

6.ConcurrentHashMap的实现原理,与HashTable区别是什么(分Segment)

7.Java有哪些同步机制

8.数据库有哪些锁,哪些引擎,分别共享锁和排他锁的区别,应用场景有什么不同

9.B树和B+树的区别,为什么选用B+树作为数据库索引,B+数的孩子节点索引用什么方法查找(二分法……),为什么mysql推荐自增int作为主键

10.redis的分布式锁用了什么方法实现(setNX背后的数据结构)

11.synchronize都能修饰什么,有什么区别

12.volatile解决了什么问题,原理是什么

三面:

1.Java的异常有几种

2.ThreadLoacl的原理是什么,怎么用

3.写一个观察者模式和修饰者模式

4.Java都有哪些连接池,连接池的的原理是什么,具体的技术细节,包括核心工作线程,linkedBlockingQueue的原理,一些场景会发生什么(队列满了会怎样,队列空了工作线程会怎样等等)

5.servlet的技术细节,原理,线程安全,工作流程

6.Stirng,StringBuilder,StringBuffer的区别

7.简述GC

8.简述AOP

9.Java有哪些Lock 10.Concurrent包下面都有哪些类,为什么要有concurrent类

11.TreeMap背后的数据结构是什么,红黑树的原理是什么……

12.一些复杂的SQL怎么写,四种连接都是什么样的

13.多线程程序怎么设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值