跟谁学一面凉经(Java)
之前做了笔试,一直没消息,还以为凉了,没想到捞起来面试了,首先常规自我介绍,加稍稍问了点实习的项目,面试中途视频网络不给力,疯狂找点面试,太难了,折腾了一下,接着面试。大概面了3,40分钟,问了下面的一些问题,记录一下。
Java
- 说一下 Java 序列化,如何实现序列化
- 场景:类 A 实现了序列化接口,类 A 中有一个属性值,这个属性值的类型是 类 B,而类 B 没有实现序列化接口,那么序列化时这个属性会被序列化吗?(不会)
- 说一下 Java 反射及其应用场景(JDBC 的数据库的连接,Spring 框架里面的 CgLib 反射机制,动态***设计模式)。
- 说一下 CgLib 反射机制,再说一下 Spring 另外一种反射策略 利用 JDK 的反射。
- ThreadLocal 了解吗?它是怎么跟线程绑定的?
- 说一下你知道的 Java 的锁?(悲观锁,乐观锁)
- CAS 会出现 ABA 问题,如何解决?(加版本号)
- 说一下 Java 里面的线程池
- 当提交一个新任务到线程池时,线程池的处理流程?
- 当线程池中的工作队列(workQueue)已满,但未达到 maximumPoolSize ,此时如何处理?
- 当运行的线程的数量超出 maximumPoolSize,是如何处理新来的任务的?是直接拒绝吗?
- 场景:首先线程池中有 10 个线程,由于任务增多,将线程池中的线程增加到 100 个,当处理完任务后,假设线程池中的线程需要回收到只剩 10 个,此时是回收后续增加的 90 个线程,还是说随机回收?
- 队列同步器了解吗?了解的话就讲一下的你对它的理解
- 如何判断一个对象是否可以回收?(引用计数法,可达性分析法)
- 说一下 GC Roots 主要包含哪些内容?
- 说一下垃圾回收算法
- 说一下类加载过程
数据库
- 说一下事务的特性
- 在并发环境下,事务会发生哪些问题?
- 说一下事务的隔离级别
- 说一下数据库的索引
- 哈希索引与 B+ 树索引的区别
- 为什么用 B+ 树做索引?
- 说一下哈希索引及其使用场景
- 说一下数据库的左连接,右连接
- Group by 语句的作用
- 说一下 Order by,它需要建立索引吗?
计网/操作系统
- TCP 如何进行拥塞控制?(慢开始、拥塞避免、快重传、快恢复)
- 操作系统中的虚拟内存了解吗?说一下它的作用
- 页面置换算法有哪些?(最近最久未使用LRU,先进先出FIFO, 最佳OPT,最近未使用NRU等)
- LRU 使用Java 中哪种数据结构来实现?(LinkedHashMap)
- 当建立 TCP 连接时,一个机器的端口和另一个机器的端口可以建立多条连接吗?
- 以 JDBC 来举例,JDBC 是基于 TCP 的,应用程序相当于数据库的客户端,它有个数据库连接池,连接池中有多个 jdbc 的连接,数据库那边暴露一个端口让客户端来连接这个端口,那此时应用程序这边的连接是从相同的端口出去还是从不同的端口出去的?