技术面试问题汇总
Catalogue
梳理一套面试框架,用于通用的技术面试.

1. 基础知识
1.1 语言基础(开发技能)
不同语言考查内容
1.1.1 扎实的Java编程基础
1. Java基础
基本类库
- 为什么重写equals时必须重写hashCode方法? 如果不重写hashCode会有什么问题
- 引用:说说java有哪些引用,它们的区别
- Java编码:Java中String占用几个字节
- Java编码:谈谈你对Unicode的理解(忽略)
- Java编码:谈谈对utf-8的理解(忽略)
- String:StringBuilder、StringBuffer的区别
- String:String类为什么是final的?
- String:String str1 = new String(“aa”); 这段代码创建了几个对象?
2. JVM
- java类加载的流程
3. 常用框架
4. 集合
队列 、 map、list
5. 并发
6. WEB
1.1.2 熟悉Python或者Go语言
开发架构、框架
1.1.3 C++基础
- 简述一下左值和右值,以及引用折叠(进阶)
- 简述shared——ptr和weak——ptr的功能、原理和使用场景
1.2 数据结构和算法
归并排徐原理并实现(基础)
LRU的原理和实现(中等)
给一个对称领接矩阵,分析共有几个独立的联通集合。(进阶)
1.3 中间件基础
mysql、redis、kafka、zk等
1.3.1 MySQL
索引:索引的最左前缀
1.3.2 Redis
redis持久化机制
1.3.3 Kafka
1.3.4 RocksDB
rockesdb的写入流程
1.4 网络与操作系统(校)
1.4.1 计算机网络
1.4.2 操作系统
什么是虚拟内存,内存访问时发生页缺失时会发生怎样的流程(进阶)
什么是进程和线程,区别和联系