没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
2020 年 Java 开发百度面试篇
一面
首先是项目部分,问的比较细;
如果一个对象有多个方法加了 synchronized,那么该对象有几把锁
答:对象锁是在一个类的对象上加的的锁,只有一把,不管有几个方法进行了同步。这些
同步方法都共有一把锁,只要一个线程获得了这个对象锁,其他的线程就不能访问该对象
的任何一个同步方法。
NIO 与 AIO 的区别以及各自的作用;
(1)Java NIO :同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接
请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行
处理。NIO 方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器。
(2)Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的
I/O 请求都是由 OS 先完成了再通知服务器应用去启动线程进行处理。 AIO 方式使用于连接
数目多且连接比较长(重操作)的架构,比如相册服务器。
IOC 的实现原理;
Spring 的 IOC 实现原理就是工厂模式加反射机制,通俗来讲就是根据给出的类名(字符串
方式)来动态地生成对象,这种编程方式可以让对象在生成时才被决定到底是哪一种对象
把 IOC 容器的工作模式看做是工厂模式的升华,可以把 IOC 容器看作是一个工厂,这个工
厂里要生产的对象都在配置文件中给出定义,然后利用编程语言提供的反射机制,根据配
置文件中给出的类名生成相应的对象。
反射的原理;
反射首先是能够获取到 Java 中的反射类的字节码,然后将字节码中的方法,变量,构造函
数等映射成 相应的 Method、Filed、Constructor 等类。
数据库调优思路的思路;
开放性的问题,如何提高系统 QPS。
二面
redis 做分布式锁怎么做的?
Redis 能做分布式锁的原理?
答:Redis 为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对
Redis 的连接并不存在竞争关系。
JUC 下面主要用哪些东西?
说一下 AQS?
ReentrantLock 非公平锁和公平锁的实现原理?
三面
redis 分布式锁如何保证原子性?
用过 ThreadLocal 吗?简单说一下?
答:ThreadLocal 采用的是以空间换时间的方式,为每个线程提供一份变量副本。每一个线
程都可以独立的改变自己的副本。
Java8 之后的 ConcurrentHashMap, 舍弃分段锁
介绍下 cms 收集器
redis 缓存与数据库一致性问题?
答:一致性问题主要出现在数据更新的时候,通常在更新时采取删除缓存而不是更新缓存
具体一点,先淘汰缓存,再写数据库。因为如果先写数据库可能出现如果有读请求发生,
可能导致旧数据入缓存,引发数据不一致。
dubbo 有哪几种负载均衡策略?
介绍下一致性 hash?
介绍下 mysql 的回表和覆盖索引?
说下模板方法模式?
19 年
1.HashMap 为什么不是线程安全的?
2.ConcurrentHashmap 底层实现?
3.线程池(包含什么,core、max 联系)原理?
5.Synchronized 原理?
6.Volatile 原理?
7.JMM(主内存、工作内存、happens-before)是什么?
8.有哪些无锁数据结构?无锁实现的原理?
9.设计模式(装饰器设计模式、代理模式、单例模式、工厂模式)
10.Dubbo 设计思路、netty 原理是什么?
11.说下一次 RPC 请求的过程
12.MySQL 怎么创建合理索引、索引怎么优化?
13.B+tree 怎么分裂、什么时候分裂、为什么是平衡的?
14.MySQL 事务实现原理,ACID 实现原理
15.MySQL 怎么优化 table scan?
16.算法:有 3n+1 个数字,其中 3n 个中是重复的,只有 1 个是不重复的,怎么找出来?
17.Dubbo 的底层实现原理和机制?
18.分布式系统怎么做服务治理?
百度面试题汇总
基本概念
操作系统中 heap 和 stack 的区别
什么是基于注解的切面实现
什么是 对象/ 关系 映射集成模块
什么是 Java 的反射机制
什么是 ACID
BS 与 CS 的联系与区别
Cookie 和 Session 的区别
fail-fast 与 fail-safe 机制有什么区别
get 和 post 请求的区别
Interface 与 abstract 类的区别
IOC 的优点是什么
IO 和 NIO 的区别,NIO 优点
Java 8 / Java 7 为我们提供了什么新功能
什么是竞态条件? 举个例子说明。
JRE、JDK、JVM 及 JIT 之间有什么不同
MVC 的各个部分都有那些技术来实现?如何实现?
RPC 通信和 RMI 区别
什么是 Web Service(Web 服务)
JSWDL 开发包的介绍。JAXP、JAXM 的解释。SOAP、UDDI,WSDL 解释。
WEB 容器主要有哪些功能? 并请列出一些常见的 WEB 容器名字。
”一个 .java”源文件中是否可以包含多个类(不是内部类)?有什么限制
简单说说你了解的类加载器。是否实现过类加载器
解释一下什么叫 AOP(面向切面编程)
请简述 Servlet 的生命周期及其相关的方法
请简述一下 Ajax 的原理及实现步骤
简单描述 Struts 的主要功能
什么是 N 层架构
什么是 CORBA?用途是什么
什么是 Java 虚拟机?为什么 Java “ ”被称作是 平台无关的编程语言
什么是正则表达式?用途是什么?哪个包使用正则表达式来实现模式匹配
什么是懒加载(Lazy Loading)
什么是尾递归,为什么需要尾递归
什么是控制反转(Inversion of Control)与依赖注入(Dependency Injection)
关键字
finalize
什么是 finalize()方法
1. finalize()方法什么时候被调用
2. 析构函数(finalization)的目的是什么
3. final 和 finalize 的区别
4. final
final 关键字有哪些用法
1. final 与 static 关键字可以用于哪里?它们的作用是什么
2. final, finally, finalize 的区别
3. final、finalize 和 finally 的不同之处?
能否在运行时向 static final 类型的赋值
剩余23页未读,继续阅读
编程ID
- 粉丝: 7w+
- 资源: 471
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0