面经1

java
面向对象和面向过程的区别
字符型常量和字符串常量的区别
重载和重写的区别【重要】
Java 面向对象编程三大特性: 封装 继承 多态。怎么理解多态?【重要】
String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的【重要】
接口和抽象类的区别是什么【重要】
成员变量与局部变量的区别有那些
创建一个对象用什么运算符?对象实体与对象引用有何不同?
静态方法和实例方法有何不同
== 与 equals(重要)
hashCode 与 equals (重要):你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?
简述线程,程序,进程的基本概念.以及他们之间关系是什么?
线程有哪些基本状态?
关于 final 关键字的一些总结
Java 中的异常处理
sleep和wait的区别【重点】
notify()和notifyAll()的区别【重点】
java类加载及new对象的过程
Java集合框架常见面试题总结
List,Set,Map三者的区别及总结
Arraylist 与 LinkedList 区别
ArrayList 与 Vector 区别
HashMap 和 Hashtable 的区别
HashMap 和 HashSet 区别
HashMap 的工作原理及代码实现(红黑树要掌握)
ConcurrentHashMap 的工作原理及代码实现
HashMap 和 ConcurrentHashMap 的区别
HashSet如何检查重复
comparable 和 comparator的区别
如何对Object的list排序
如何实现数组与List的相互转换
如何求ArrayList集合的交集 并集 差集 去重复并集
Arraylist 与 LinkedList 异同
ArrayList 与 Vector 区别
HashMap的底层实现
ConcurrentHashMap的底层实现
HashMap 的长度为什么是2的幂次方
HashMap 多线程操作导致死循环问题
HashSet 和 HashMap 区别
ConcurrentHashMap 和 Hashtable 的区别
ConcurrentHashMap线程安全的具体实现方式/底层具体实现
Java虚拟机(jvm)
内存区域问题
介绍下Java内存区域(运行时数据区)
对象的访问定位的两种方式
垃圾回收
如何判断对象是否死亡(两种方法)
简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)
垃圾收集有哪些算法,各自的特点
HotSpot为什么要分为新生代和老年代
常见的垃圾回收器有那些
介绍一下CMS,G1收集器
Minor GC和Full GC 有什么不同呢
多线程
votatile的可见性:
synchronized关键字和volatile关键字比较
Java中CyclicBarrier 和CountDownLatch有什么不同?
线程池
java有哪些常见线程池
ThreadPoolExecutor方法参数作用
什么时候将请求加入队列
execute和submit的区别
线程池都有哪几种工作队列
高并发
线程与进程
守护线程 setDaemon()
java thread状态
请说出与线程同步以及线程调度相关的方法
wait()和sleep()的区别
ThreadLocal是什么
Volatile和Synchronized
CAS
Java中Unsafe类
线程池
ThreadPoolExecutor构造方法参数说明
Executor拒绝策略
CachedThreadPool 、 FixedThreadPool、SingleThreadPool
死锁产生的四个必要条件和解决死锁
进程间的通信方式
为什么wait()和notify()属于Object类
计算机网络
五层协议的体系结构
TCP 三次握手和四次挥手(面试常客)
三次握手过程
为什么要三次握手
为什么要传回 SYN
传了 SYN,为啥还要传 ACK
四次挥手
为什么要四次挥手
TCP、UDP 协议的区别
TCP 协议如何保证可靠传输
停止等待协议
自动重传请求 ARQ 协议
连续ARQ协议
滑动窗口
流量控制
拥塞控制
在浏览器中输入url地址 ->> 显示主页的过程(面试常客)
状态码
200
301
302
403
404
500
501
各种协议与HTTP协议之间的关系
HTTP长连接、短连接
get和post
http和https
设计模式
单例模式
定义
为什么要用单例模式呢(优点)?
为什么不使用全局变量确保一个类只有一个实例呢?
单例的模式的实现
饿汉方式(线程安全)
懒汉式(非线程安全和synchronized关键字线程安全版本 )
懒汉式(双重检查加锁版本)
懒汉式(登记式/静态内部类方式)
饿汉式(枚举方式)
适配器模式
定义:将一个类的接口转换成客户希望的另外一个接口
主要作用
解决的问题
优缺点
更好的复用性
透明、简单
更好的扩展性
解耦行
缺点:过多的使用适配器,会让系统非常零乱,不易整体进行把握
JDK使用实例
Java I/O 库大量使用了适配器模式,例如 ByteArrayInputStream 是一个适配器类,它继承了 InputStream 的接口,并且封装了一个 byte 数组。换言之,它将一个 byte 数组的接口适配成 InputStream 流处理器的接口。
模式
定义:给目标对象提供一个
对象,并由对象控制对目标对象的引用
主要作用:通过引入
对象的方式来间接访问目标对象
解决的问题
优缺点
优点:
协调调用者和被调用者,降低了系统的耦合度
对象作为客户端和目标对象之间的中介,起到了保护目标对象的作用
缺点:
由于在客户端和真实主题之间增加了
对象,因此会造成请求的处理速度变慢
实现模式需要额外的工作(有些模式的实现非常复杂),从而增加了系统实现的复杂度。
使用实例:
延迟加载
MySQL
delete, truncate , drop 的区别?
数据库四大语言分类
varchar和char的区别
什么是事务?事务的四大特征及隔离级别
数据库的存储引擎
索引的目的,好处,缺点,使用情况,不是能使用的情况
sql优化
索引法则
使用索引的注意事项
sql慢查询日志
mysql资源消耗情况
全局查询日志
怎么避免高并发引起数据不一致问题?通过乐观锁和悲观锁
数据库的主备
redis
redis为什么采用单线程架构
Redis有哪些数据结构?
什么是pipeline
(1)假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?(2)如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?
redis有哪几种持久化方式,它们的优缺点有哪些?
说说Redis哈希槽的概念?
redis常见性能问题和解决方案
redis sentinel是什么?redis sentinel故障转移步骤?如何选择合适的slave节点?
redis cluster和sentinel区别
Redis的同步机制了解么?
缓存的优缺点
缓存雪崩、穿透、更新策略

全部评论

相关推荐

2024-12-27 13:08
华南理工大学 Java
蝴蝶飞出了潜水钟丿:多看一眼就会💥
点赞 评论 收藏
分享
找不到工作死了算了:你已经熟练掌握c语言啦,可以投简历参加秋招了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务