阿里巴巴一面
- 自我介绍这个就不说了,开头必问的
- 说一下StringBuilder 和 StringBuffer
- Spring bean加载,实例化的过程
- Spring AOP源码看过吗
- java内存模型说一下
- 如果给你一个map,里面有很多很多对象,那么这个map存放在哪
- 了解GC算法吗?
- 说一下CMS垃圾回收器
- B+树和B树的区别?
- haspmap底层讲一讲
- ConcurrentHashMap的底层实现?
- CAS是硬件实现还是软件实现?
- volatile是锁吗?
- 淘宝和京东的区别,你觉得是什么?
项目相关:
- 介绍一下你简历上写的项目?自己主要做了什么?
- 你觉得项目里给你最大的挑战是什么?遇到了什么问题?如何解决的?从中学到了什么?
- 项目的架构图能画一下不?
- 觉得项目有哪些地方可以改进完善?
- 如果我有很多字段都需要建立索引,怎么办?
- Mysql的存储引擎,你用的是哪种?
代码面:
- 设计一个多线程打印程序,第i个线程只打印i-1数字,比如第1个线程打印数字0,第2个线程只打印数字1,依次类推。任意给定一个数字序列,比如3382019835830,能够使用该程序打印出来。
- 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。
阿里巴巴二面
- 又聊了项目
- 你说到你项目里用了UDP,你为什么不用TCP
- 那你详细说一下TCP和UDP的区别
- 数据库用的是什么(MySQL)
- 那你的数据量是多少(几百万)
- 那你这几百万条,做了什么查询优化(索引)
- 怎么建的索引
- 为什么用时间和id来做索引?
- 数据库的隔离级别
- 知道什么是主从复制吗?
- 你说一下建立索引的规则
- JAVA类加载机制(加载验证准备解析初始化,又说到双亲委派模型)
- 线程池所有参数讲一讲
- ConcurrentHashMap的底层实现
- RPC用过吗?
- 消息队列呢?
总结:前面问了一些基础性的东西,然后就一直往深了问,问的也基本是有关项目的问题,因为之前做的本身就是一个小项目,也并没有什么亮点,二面结束我就回去等通知了,结果也肯定是凉凉了。
汲取教训,突破底层技术
其实每次面试不管成功还是失败,都是一次很好的学习机会,所以一定要认真对待每次面试,从面试中总结经验,在面试中扫盲,然后回家进行查漏补缺。
首先就是在面试结束后梳理自己的知识体系,这份大纲是目前一线大厂主流的技术,也是面试的重点,大家可以对照梳理自己的知识点,用来扫盲最好不过了
梳理完知识点后结合面试所问到的内容,大致可以看出是哪些不足,然后针对这些知识点再一步一步的深度挖掘,从这位读者的面试看出,他应该可以深度学习一下数据库方面的知识,那接下来我也就跟大家主要的分享一下关系型数据库——MySQL的深度进阶。
MySQL深度进阶
MySQL基础内容(稍微带过)
- MySQL基本介绍
- MySQL架构组成
- MySQL存储引擎简介
- MySQL安全管理
- MySQL备份与恢复
MySQL性能优化
- 影响MySQLServer性能的相关因素
- MySQL数据库锁定机制
- MySQL数据库Query的优化
- MySQL数据库Schema设计的性能优化
- MySQLServer性能优化
- 常用存储引擎优化
MySQL架构设计
- MySQL可扩展设计的基本原则
- 可扩展性设计之MySQLReplication
- 可扩展性设计之数据切分
- 可扩展性设计之Cache与Search的利用
- MySQLCluster
- 高可用设计之思路及方案
- 高可用设计之MySQL监控
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题