爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在我身上实现了。
每一个程序员都拥有一座大厂梦,我也不例外,去年面试阿里P6,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了阿里,被天猫团队录用。
01 阿里面试题之MySQL
- 请解释关系型数据库概念及主要特点?
- 请说出关系型数据库的典型产品、特点及应用场景?
- 请详细描述 SQL 语句分类及对应代表性关键字。
- 什么是 MySQL 多实例,如何配置 MySQL 多实例?
- 如何加强 MySQL 安全,请给出可行的具体措施?
- 误操作执行了一个 drop 库 SQL 语句,如何完整恢复?
- 详述 MySQL 主从复制原理及配置主从的完整步骤。
- MySQL 如何实现双向互为主从复制,并说明应用场景?
- MySQL 如何实现级联同步,并说明应用场景?
- MySQL 主从复制故障如何解决?
02 二战阿里,天猫团队面试题(3轮技术面+HR面)
阿里面试技术题:
- 自我介绍呗
- 项目介绍呗(先自己介绍项目,然后再聊天)
- junit用法,before,beforeClass,after,afterClass的执行顺序
- 分布式锁
- nginx的请求转发算法,如何配置根据权重转发
- 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)
- 线程的状态
- 线程的阻塞的方式
- sleep和wait的区别
- hashmap的底层实现
- 一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁
- Java内存模型,垃圾回收机制,不可达算法
- 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化
- AOP的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理?
- 是否用过maven install、 maven test、git(make install是安装本地jar包)
- Tomcat的各种配置,如何配置docBase
- Spring的bean配置的几种方式
- Web.xml的配置
- Spring的监听器。
- Zookeeper的实现机制,有缓存,如何存储注册服务的
- IO会阻塞吗?readLine是不是阻塞的
- 用过 Spring的线程池还是java的线程池?
- 字符串的格式化方法 (20,21这两个问题问的太低级了)
- 时间的格式化方法
- 定时器用什么做的
- 线程如何退出结束
- java有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过reentrantlock吗?reentrantlock与synmchronized的区别
- ThreadLocal的使用场景
- Java的内存模型,垃圾回收机制
- 为什么线程执行要调用start而不是直接run(直接run,跟普通方法没什么区别,先调start,run才会作为一个线程方法运行)
- qmq消息的实现机制(qmq是去哪儿网自己封装的消息队列)
- 遍历hashmap的三种方式
- JVM的一些命令
- memcache和redis的区别
- Mysql的行级锁加在哪个位置
- ConcurrentHashmap的锁是如何加的?是不是分段越多越好
- myisam和innodb的区别(innodb是行级锁,myisam是表级锁)
- MySQL其他的性能优化方式
- Linux系统日志在哪里看
- 如何查看网络进程?
- 统计一个整数的二进制表示中bit为1的个数
- JVM内存模型,java内存模型
03 二战前,我是如何复习的?
MySQL 专题部分(先刷题)
- Mysql 中有哪几种锁?
- MYSQL 数据表在什么情况下容易损坏?
- MySQL 里记录货币用什么字段类型好
- MYSQL 支持事务吗?
- 解释访问控制列表
- 什么是通用 SQL 函数?
- 什么是非标准字符串类型?
- Mysql 表中允许有多少个 TRIGGERS?
- 什么样的对象可以使用 CREATE 语句创建?
- NOW()和 CURRENT_DATE()有什么区别?
- 可以使用多少列创建索引?
- InnoDB 是什么?
- Mysql 如何优化 DISTINCT?
- 如何输入字符为十六进制数字?
- 如何显示前 50 行?
- ......
MySQL 面试题答案:
04 我的复习宝典资料
(1)Java面试手册
- 性能优化面试专栏
- 微服务架构面试专栏
- 并发编程高级面试专栏
- 开源框架面试题专栏
- 分布式面试专栏
(2)实战文档
- Redis实战
- MySQL实战
- Spring Boot实战
- Spring Cloud实战
- 实战Java虚拟机
以实战Java虚拟机为例:
- 初探Java虚拟机
- 认识Java虚拟机的基本结构
- 常用Java 虚拟机参数
- 垃圾回收概念与算法
- 垃圾收集器和内存分配
- 性能监控工具
- 分析Java堆
- 锁与并发
- Class 文件结构
- Class 装载系统
- 字节码执行
看完上面的内容,相信大家已经有了清晰的目标与方向,接下来就是查找学习资料了,我们为大家准备了一套体系化的架构师学习资料包以及阿里面试资料,供大家参考,学习资料包内容及领取方法如下:
部分资料展示:
领取方法:加我微信即可免费获得!
记得备注:博客园
来源:oschina
链接:https://my.oschina.net/u/4300655/blog/4310173