从青铜到王者的路线,mysql 视频教程,MongoDB 数据分布不均的解决方案
阿里巴巴一面
自我介绍这个就不说了,开头必问的
说一下 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 监控
难道这样就够了吗?不,远远不够!
提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。
备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之 70,这是一些我学习期间觉得还是很不错的一些学习笔记
我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在 csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。
今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!
评论