You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.8 KiB
132 lines
3.8 KiB
---
|
|
校招面试
|
|
---
|
|
|
|
技术面试
|
|
|
|
Java
|
|
|
|
1. 了解 StringBuilder 和 StringBuffer 的区别嘛?
|
|
|
|
2. 说说抽象类和接口的区别,运用场景是什么?
|
|
|
|
3. 说说你对继承和多态的理解,为什么 Java 是单继承呢,多继承有啥问题?
|
|
|
|
4. 如何理解面向对象?面向过程了解嘛?
|
|
|
|
5. 说说 ArrayList 和 LinkedList 的区别?是否有线程安全问题?ConcurrentModificationException 遇到过嘛?
|
|
|
|
6. 说说 HashMap 定位 key 索引的过程?HashMap 为什么容量是 2 的 n 次方的设计,为啥不是一个质数设计呢比如 HashTable?
|
|
|
|
7. 说说 Java 的异常机制,finally 的作用?final 和 finally 的区别?OOM 和 StackOverFlow 是如何发生的?
|
|
|
|
8. IO 和 NIO 的区别?
|
|
|
|
9. 说说你对反射的理解?有使用过嘛?反射为什么会损耗性能?获取 Class 有哪几种方式?
|
|
|
|
10. 说说你对泛型的理解?如何理解 Java 所谓的假泛型?泛型能够解决什么问题呢?extends 和 super 的区别?
|
|
|
|
11. 说说线程池的理解?它的出现解决了哪些问题?ThreadPoolExecutor 几个参数的意思?
|
|
|
|
12. 说说你对 synchronized 的理解?说说锁升级的过程?synchronized 锁普通方法和静态方法有啥区别?
|
|
|
|
13. 说说你对 volatie 的理解?
|
|
|
|
14. Object 有哪些方法?wait/notify 能够解决什么问题?
|
|
|
|
15. 说说 sleep、wait、join、yield 的区别?
|
|
|
|
16. 静态内部类和成员内部类的区别?
|
|
|
|
17. 线程有哪几种状态,如何切换的?
|
|
|
|
|
|
JVM
|
|
|
|
1. 说说 JVM 的内存区域划分?哪些是线程私有的?方法的参数以及局部变量放在哪个区域?
|
|
|
|
2. 说一下类加载机制?
|
|
|
|
3. 内存模型了解嘛?
|
|
|
|
4. GC 回收算法有了解嘛?
|
|
|
|
|
|
Network
|
|
|
|
1. 说说 TCP/IP 四层分层结构,每一层有哪些网络协议?
|
|
|
|
2. 说说 Get 和 Post 的区别?Restful API 了解嘛?
|
|
|
|
3. Session 和 Cookie 的区别?
|
|
|
|
4. 说说你对 Http 的理解?Http header 里面通常有哪些信息?常见的 Http 状态码有哪些?Http 如何传输大文件?
|
|
|
|
5. Http 有哪些问题?Https 解决了哪些问题?加密算法了解哪些?如何防止中间人攻击?简单说下 RSA?
|
|
|
|
6. 说下 TCP 和 UDP 的区别?TCP 是如何实现可靠传输的?
|
|
|
|
7. 说下 TCP 的三次握手?FYN 洪水攻击了解嘛?如何防范?三次握手改成两次可以不?
|
|
|
|
8. TCP 的四次挥手,为什么最后需要两个 MSL?
|
|
|
|
9. DNS 有啥作用?ARP 协议呢?
|
|
|
|
操作系统
|
|
|
|
1. 进程和线程的区别?
|
|
|
|
2. 进程间通信方式有哪几种?在 Android 都有使用了哪些?
|
|
|
|
3. 死锁的几种条件?
|
|
|
|
4. 虚拟内存了解嘛?内存的分段和分页的区别?
|
|
|
|
|
|
设计模式
|
|
|
|
1. 说说你知道的设计原则?
|
|
|
|
2. 手写单例模式,应用场景在哪?
|
|
|
|
3. 说说你对观察者模式的理解?使用过 Java 中的 Observe/Observable 嘛?有啥弊端?
|
|
|
|
4. 项目中有使用到设计模式吗?
|
|
|
|
|
|
Git
|
|
|
|
1. 使用过哪些命令?
|
|
|
|
2. merge 和 rebase 的区别?
|
|
|
|
3. reset --hard 和 --soft 的区别?
|
|
|
|
项目
|
|
|
|
1. 检测出来的权限,如何知道是在哪个模块的呢?或者说,如何知道每个模块有哪些权限呢?
|
|
|
|
2. 说说你使用的静态分析?Lint 有了解嘛?项目中爆红的 API 有警告是如何做到的?
|
|
|
|
3. 说说序列化?如何重写序列化流程呢(ArrayList)?序列化会走构造方法嘛?序列化后的对象和之前的对象是同一个对象嘛?Android 的序列化机制了解嘛?
|
|
|
|
4. 项目中有遇到哪些难点,是如何解决的呢?
|
|
|
|
5. GitHub 看过哪些项目?
|
|
|
|
算法
|
|
|
|
1. 手写二分查找
|
|
|
|
2. 判断合法的 ip 地址
|
|
|
|
|
|
非技术面试
|
|
|
|
1. 自己的优势在哪?说一下对自己的评价
|
|
|
|
2. 为什么没有面 xx 呢?
|
|
|
|
3. 平时有哪些学习途径?
|
|
|
|
4. 如何看待面试造火箭,工作拧螺丝? |