面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服

简介: 爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。

每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。


网络异常,图片无法展示
|

01 蚂蚁金服面试题之MySQL

之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是针对MySQL系列的,所以下面只展示了自己第一次面试阿里时被吊打问到的一些MySQL难题,其他专题内容(含答案)的文档资料

  1. 请解释关系型数据库概念及主要特点?
  2. 请说出关系型数据库的典型产品、特点及应用场景?
  3. 请详细描述 SQL 语句分类及对应代表性关键字。
  4. 什么是 MySQL 多实例,如何配置 MySQL 多实例?
  5. 如何加强 MySQL 安全,请给出可行的具体措施?
  6. 误操作执行了一个 drop 库 SQL 语句,如何完整恢复?
  7. 详述 MySQL 主从复制原理及配置主从的完整步骤。
  8. MySQL 如何实现双向互为主从复制,并说明应用场景?
  9. MySQL 如何实现级联同步,并说明应用场景?
  10. MySQL 主从复制故障如何解决?

02 二战阿里,天猫团队面试题(3轮技术面+HR面)

蚂蚁金服面试技术题:

  1. 自我介绍呗
  2. 项目介绍呗(先自己介绍项目,然后再聊天)
  3. junit用法,before,beforeClass,after,afterClass的执行顺序
  4. 分布式锁
  5. nginx的请求转发算法,如何配置根据权重转发
  6. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)
  7. 线程的状态
  8. 线程的阻塞的方式
  9. sleep和wait的区别
  10. hashmap的底层实现
  11. 一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁
  12. Java内存模型,垃圾回收机制,不可达算法
  13. 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化
  14. AOP的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理?
  15. 是否用过maven install、 maven test、git(make install是安装本地jar包)
  16. Tomcat的各种配置,如何配置docBase
  17. Spring的bean配置的几种方式
  18. Web.xml的配置
  19. Spring的监听器。
  20. Zookeeper的实现机制,有缓存,如何存储注册服务的
  21. IO会阻塞吗?readLine是不是阻塞的
  22. 用过 Spring的线程池还是java的线程池?
  23. 字符串的格式化方法 (20,21这两个问题问的太低级了)
  24. 时间的格式化方法
  25. 定时器用什么做的
  26. 线程如何退出结束
  27. java有哪些锁?乐观锁 悲观锁 synchronized 可重入锁 读写锁,用过reentrantlock吗?reentrantlock与synmchronized的区别
  28. ThreadLocal的使用场景
  29. Java的内存模型,垃圾回收机制
  30. 为什么线程执行要调用start而不是直接run(直接run,跟普通方法没什么区别,先调start,run才会作为一个线程方法运行)
  31. qmq消息的实现机制(qmq是去哪儿网自己封装的消息队列)
  32. 遍历hashmap的三种方式
  33. JVM的一些命令
  34. memcache和redis的区别
  35. Mysql的行级锁加在哪个位置
  36. ConcurrentHashmap的锁是如何加的?是不是分段越多越好
  37. myisam和innodb的区别(innodb是行级锁,myisam是表级锁)
  38. MySQL其他的性能优化方式
  39. Linux系统日志在哪里看
  40. 如何查看网络进程?
  41. 统计一个整数的二进制表示中bit为1的个数
  42. JVM内存模型,java内存模型

面试题答案:

网络异常,图片无法展示
|

03 二战前,我是如何复习的?

(1)MySQL 专题部分(先刷题)

  1. Mysql 中有哪几种锁?
  2. MYSQL 数据表在什么情况下容易损坏?
  3. MySQL 里记录货币用什么字段类型好
  4. MYSQL 支持事务吗?
  5. 解释访问控制列表
  6. 什么是通用 SQL 函数?
  7. 什么是非标准字符串类型?
  8. Mysql 表中允许有多少个 TRIGGERS?
  9. 什么样的对象可以使用 CREATE 语句创建?
  10. NOW()和 CURRENT_DATE()有什么区别?
  11. 可以使用多少列创建索引?
  12. InnoDB 是什么?
  13. Mysql 如何优化 DISTINCT?
  14. 如何输入字符为十六进制数字?
  15. 如何显示前 50 行?
  16. ......

MySQL 面试题答案:

网络异常,图片无法展示
|

(2)MySQL 性能优化的21个最佳实践

  1. 为查询缓存优化你的查询
  2. EXPLAIN 你的 SELECT 查询
  3. 当只要一行数据时使用 LIMIT 1
  4. 为搜索字段建索引
  5. 在 Join 表的时候使用相当类型的例,并将其索引
  6. 千万不要 ORDER BY RAND()
  7. 避免 SELECT *
  8. 永远为每张表设置一个 ID
  9. 使用 ENUM 而不是 VARCHAR
  10. 从 PROCEDURE ANALYSE() 取得建议
  11. 尽可能的使用 NOT NULL
  12. Prepared Statements
  13. 无缓冲的查询
  14. 把 IP 地址存成 UNSIGNED INT
  15. 固定长度的表会更快
  16. 垂直分割
  17. 拆分大的 DELETE 或 INSERT 语句
  18. 越小的列会越快
  19. 选择正确的存储引擎
  20. 使用一个对象关系映射器(Object Relational Mapper)
  21. 小心“永久链接”

网络异常,图片无法展示
|

(3)MySQL 性能调优与架构设计

  • 基础篇:
  1. MySQL基本介绍
  2. MySQL架构组成
  3. MySQL存储引擎简介
  4. MySQL安全管理
  5. MySQL备份与恢复
  • 性能优化篇:
  1. 影响MySQLServer性能的相关因素
  2. MySQL数据库锁定机制
  3. MySQL数据库Query的优化
  4. MySQL数据库Schema设计的性能优化
  5. MySQLServer性能优化
  6. 常用存储引擎优化
  • 架构设计篇:
  1. MySQL可扩展设计的基本原则
  2. 可扩展性设计之MySQLReplication
  3. 可扩展性设计之数据切分
  4. 可扩展性设计之Cache与Search的..
  5. MySQLCluster
  6. 高可用设计之思路及方案
  7. 高可用设计之MySQL监控

网络异常,图片无法展示
|

04 我的复习宝典资料

(1)Java面试手册

  • 性能优化面试专栏
  • 微服务架构面试专栏
  • 并发编程高级面试专栏
  • 开源框架面试题专栏
  • 分布式面试专栏

网络异常,图片无法展示
|

(2)实战文档

  • Redis实战
  • MySQL实战
  • Spring Boot实战
  • Spring Cloud实战
  • 实战Java虚拟机

以实战Java虚拟机为例:

  1. 初探Java虚拟机
  2. 认识Java虚拟机的基本结构
  3. 常用Java 虚拟机参数
  4. 垃圾回收概念与算法
  5. 垃圾收集器和内存分配
  6. 性能监控工具
  7. 分析Java堆
  8. 锁与并发
  9. Class 文件结构
  10. Class 装载系统
  11. 字节码执行

网络异常,图片无法展示
|

(3)Java核心知识点整理文档

网络异常,图片无法展示
|

网络异常,图片无法展示
|

由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以免费分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
7月前
|
存储 关系型数据库 MySQL
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
|
5月前
|
关系型数据库 MySQL Java
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
|
7月前
|
存储 SQL 关系型数据库
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
|
7月前
|
SQL 存储 关系型数据库
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
|
10月前
|
SQL 关系型数据库 MySQL
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
1.请解释什么是MVCC,它在数据库中的作用是什么? 2.在MySQL中,MVCC是如何实现的?请简述其工作原理。 3.MVCC是如何解决读-写和写-写冲突的? 4.在并发环境中,当多个事务同时读取同一行数据时,MVCC是如何保证每个事务看到的数据版本是一致的? 5.MVCC如何帮助提高数据库的并发性能?
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
|
9月前
|
消息中间件 NoSQL 关系型数据库
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
165 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
802 152

热门文章

最新文章

推荐镜像

更多