一面基础,二面项目经验,三面为人
一 基础
Java基础
https://zhuanlan.zhihu.com/p/37430187
-
java和C++ php等语言的区别
-
对象OOP思想
-
抽象类与接口
覆盖和重载
拆箱装箱
传值方式 http://ifeve.com/java-pass-value/ -
集合:
集合有那几种?
list和set的区别?
hashmap的实现,冲突,初始容量和加载因子?怎么扩容?
如何取出hashmap中的value存入list中?
hashmap扩容过程
currentHashMap和HashMap的区别
解决hash冲突的方法有哪些?
HashMap中如何解决hash冲突
谈谈hashmap原理
heap和stack的区别是什么? -
泛型
-
注解
-
Java IO 与 NIO
-
JDBC
JDBC是单例还是多例
JDBC和MyBatis -
JUnit
-
异常
Java中的异常分类 -
XML
-
网络编程
Socket讲讲。
高并发编程(JUC 包)
https://zhuanlan.zhihu.com/p/37430315
进程之间如何通信
进程和线程的区别
线程有哪些状态
如何创建线程
wait和sleep的区别
ThreadLocal
Atomic https://blog.csdn.net/zhangerqing/article/details/43057799
如何避免线程死锁
谈一下悲观锁和乐观锁的原理和应用场景
一个库存变量,多个线程需要操作,如何保证正确性?
创建100个线程,如何使得这100个线程几乎同时启动?
多线程包concurrent
说说volatile底层原理
JVM
https://zhuanlan.zhihu.com/p/37430400
内存调优工具
内存泄露和内存溢出
OOM异常的发生原因是什么?
JVM内存模型及调优
垃圾回收(GC)
JVM内存管理和回收机制
Java版本特征5 6 7 8
https://zhuanlan.zhihu.com/p/37430472
https://zhuanlan.zhihu.com/p/37430948
网络协议
TCP协议中的三次握手和四次挥手(图解)
tcp和udp的区别
Htttp协议
socket
websocket
restful
SOAP
数据库
https://zhuanlan.zhihu.com/p/37501500
数据库的范式
- 数据库引擎
- Mysql优化
- Redis
- MongoDb
- 数据库的锁有哪几种?语句怎么实现
数据库分页查询
数据库的搜索引擎
说说事务吧,事务的四大特性,四大隔离级别
having的用法,和where的区别
mysql和sqlserver的区别有哪些
limit的使用相关
死锁的四个必要条件
具体案例,如何避免死锁?某个线程只有获得A锁和B锁才能对某资源进行操作,在多线程条件下,如何避免死锁?
对MySQL的了解,和oracle的区别
设计模式
https://blog.csdn.net/qq_25827845/article/details/52932234
控制反转
手写模式
对设计模式的看法和认知
有哪些设计模式
模板模式
数据结构与算法
https://www.lintcode.com/zh-cn/tag/lintcode-copyright/
https://www.jiuzhang.com/solution/
- 快速排序怎么实现的?
- 数据库索引为什么用B树?原理
大量数据去重:Bitmap和布隆过滤器(Bloom Filter) - Java 中的数据结构和算法 set的底层数据结构是什么?
写个排序算法吧
什么因素会影响到你选择不同种类的排序算法
KMP算法
合并有序链表
单链表反转
单链表有环推导公式
LRU算法,最近被使用算法,使用链表实现一个
自己实现一个String2Int的算法。
找出一个数组中的多数元素?追问,时间复杂度可以再小吗?
二 项目实战
https://zhuanlan.zhihu.com/p/23517856
-
Linux
Linux中如何查看线程状态?指定一个线程怎么查看?
awk -
模块化的好处
-
浏览器的缓存机制
-
Web应用程序的工作原理(访问www.xxx.com过程)
-
Servlet
-
Tomcat/JBoss
-
Mybatis https://zhuanlan.zhihu.com/p/37359895
mybatis中#和$的区别?危险注入问题 -
Spring:Ioc+AOP https://zhuanlan.zhihu.com/p/37195663
AOP的两种实现:动态代理和静态代理的区别
介绍spring任意一个模块的实现 -
领域建模 OOA/D UML
OOA/D的过程:定义用例、定义领域模型、定义交互图、字义设计类图
SOLID (单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)设计原则
https://www.cnblogs.com/rgbw/archive/2009/09/01/1557843.html
http://www.cnblogs.com/AngelLee2009/p/3601879.html -
Spring MVC https://zhuanlan.zhihu.com/p/37359818
-
Spring boot https://zhuanlan.zhihu.com/p/37430067
-
Maven maven的打包命令
-
Git
git完全撤销
git用过是吧?让你设计实现一个git diff的算法,你会怎么实现?
架构
- 高并发
- 消息队列
消息队列设计精要 美团技术团队! - 负载均衡
- 微服务
- Docker
- 大数据(Spark+Hadoop)
spark streaming计算原理和过程 - 缓存 redis等 如何实现分布式缓存
- kafka分区
- 分布式
三 面试技巧
题库
简历
http://tieba.baidu.com/p/5152132217
简历应该突出表现自己优秀的地方,所以我将个人技术博客和 github 地址放到了相对靠前的位置,使面试官或者 HR 可以一眼看到。
给大家一个小提示,那就是必须对简历上所写的知识点有一定了解,不懂的就不要写上去了,因为你会被问的很惨(即使一面面试官不问,三面面试官也会问的)。
image.png
- 自我介绍
- 项目介绍
- 团队作用(领导力)
- 对新公司的认识 项目看法 团队看法等
网友评论