最后
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档
还有更多面试复习笔记分享如下
9)淘宝里如果按照1-5星的店面,从五家店里一共推送出10个同一类产品,都是随机推送,但是最后大量的随机测试后,要保证五颗星的店家推送的商品数量大概是一颗星店家推送的商品数量的五倍,且不能破坏其他概率输出
- 思维能力:这个问题跟他讨论了有10几分钟,最后他问我有没有优化。。。我哪知道怎么优化
10)一个已知存储了数据的HashMap中如何让所有的键修改成"网易+原来的键",意思是在所有的key中添加"网易"这个前缀。
- Java核心技术:我说迭代处理,但是会有fail-fast问题,然后我就瞎扯了同步操作一下
11)spring的AOP原理和底层实现
- 框架技术:扯了一下概念和反射机制
12)Spring的注解讲一下;(框架技术)
13)静态代理和动态代理区别讲一下;(Java核心技术)
14)静态代理和适配器设计模式的区别;(Java核心技术)
15)tcp和udp的区别;
- 计算机网络知识:就从可靠性,通讯方式,数据大小,应用方面说了说
16)cglib底层实现;(框架技术:懵逼)
17)数据库的乐观锁原理和实现;(数据库:懵逼)
差不多这么多吧,还有的记不得了,主要是实际问题考虑和讨论的时间长一点。
1)数据库索引的设计原理以及意义
- 数据库:讲了一下概念和聚集索引,非聚集索引
2)接着上面的问题,问了给定一个数据库,如何设计索引,有什么要注意的?
- 数据库:我说我没用过,没设计过基本上,就讲了一下语法,还有那些索引的使用场景
3)给定淘宝秒杀场景,请设计系统实现秒杀
- 思维能力:又是淘宝,我就说了一下多线程,生产者消费者也扯上去了,他说是多节点实现,其实我没听明白他想让我说啥。。。
4)微博粉丝和关注者,以及用户信息,请实现数据库表,来关联起这些表
- 数据库:我画图,然后讲了一下,问我有没有优化,我说想不出来
5)针对我设计的表,进行查询操作,问我所有的表查询完后,多少次操作。(数据库)
6)之前实习的做了什么项目?讲解一下。(项目经验)
7)就着项目,提出海量数据的时候,集合存不下怎么办
- Java核心技术:我实在想不到方法,就说了一下把文件进行分割然后再存集合里。
8)Spring中的事务原理讲一下;
- 框架技术:只说了个声明性事务,其他的也不了解
9)数据库里的事务原理讲一下;
- 数据库:我就扯了一下隔离级别以及脏读,不可重复读以及幻读中事务的问题
10)手写jdbc连接数据库的代码
- Java核心技术:真心记不得了,只记得流程和类,直接写了一堆注释上去
10)数据库的事务特性有哪些?(数据库)
11)课题讲一下做的什么;(个人课题)
12)通信是偏软件还是硬件?为什么学Java
- 听到这个我就有点崩溃了,依据我的直觉,gg了(职业发展规划)
13)最后问我有什么要问的?
最后
分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。
这些面试题相对应的技术点:
- JVM
- MySQL
- Mybatis
- MongoDB
- Redis
- Spring
- Spring boot
- Spring cloud
- Kafka
- RabbitMQ
- Nginx
- …
大类就是:
- Java基础
- 数据结构与算法
- 并发编程
- 数据库
- 设计模式
- 微服务
- 消息中间件