美文网首页Java职业生涯规划Java架构技术进阶
渣硕二面阿里受挫,被逼无奈开始狂啃底层技术,却拿下华为offer

渣硕二面阿里受挫,被逼无奈开始狂啃底层技术,却拿下华为offer

作者: 傻姑不傻 | 来源:发表于2020-07-29 18:06 被阅读0次

    事情是这样的

    这篇文章是一位读者的面试阿里的经历分享,虽然说在第二次面试完之后就凉凉了,但是这次面试经历对于他来说是有很大的收获以及帮助的。

    先来看下这次面试都问了些什么问题吧,下面这些问题既是高频面试题也是非常具有代表性的面试题。

    文章内容有限,你们需要的面试题(含参考答案)以及一些架构方面的笔记已经整理好了,大家可以【转发+关注】后点击这里:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU即可获取!

    阿里巴巴一面

    • 自我介绍这个就不说了,开头必问的
    • 说一下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用过吗?
    • 消息队列呢?

    总结:前面问了一些基础性的东西,然后就一直往深了问,问的也基本是有关项目的问题,因为之前做的本身就是一个小项目,也并没有什么亮点,二面结束我就回去等通知了,结果也肯定是凉凉了。

    汲取教训,突破底层技术

    其实每次面试不管成功还是失败,都是一次很好的学习机会,所以一定要认真对待每次面试,从面试中总结经验,在面试中扫盲,然后回家进行查漏补缺。

    首先就是在面试结束后梳理自己的知识体系,这份大纲是目前一线大厂主流的技术,也是面试的重点,大家可以对照梳理自己的知识点,用来扫盲最好不过了,高清完整版请【转发+关注】后点击这里:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU获取!

    梳理完知识点后结合面试所问到的内容,大致可以看出是哪些不足,然后针对这些知识点再一步一步的深度挖掘,从这位读者的面试看出,他应该可以深度学习一下数据库方面的知识,那接下来我也就跟大家主要的分享一下关系型数据库——MySQL的深度进阶。

    MySQL深度进阶

    MySQL基础内容(稍微带过)

    • MySQL基本介绍
    • MySQL架构组成
    • MySQL存储引擎简介
    • MySQL安全管理
    • MySQL备份与恢复

    MySQL性能优化

    • 影响MySQLServer性能的相关因素
    • MySQL数据库锁定机制
    • MySQL数据库Query的优化
    • MySQL数据库Schema设计的性能优化
    • MySQLServer性能优化
    • 常用存储引擎优化

    MySQL架构设计

    • MySQL可扩展设计的基本原则
    • 可扩展性设计之MySQLReplication
    • 可扩展性设计之数据切分
    • 可扩展性设计之Cache与Search的利用
    • MySQLCluster
    • 高可用设计之思路及方案
    • 高可用设计之MySQL监控

    总结

    在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了,有需要的朋友可以【转发+关注】后点击这里:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU获取!

    面试真题 Spring源码笔记

    相关文章

      网友评论

        本文标题:渣硕二面阿里受挫,被逼无奈开始狂啃底层技术,却拿下华为offer

        本文链接:https://www.haomeiwen.com/subject/mxjkrktx.html