从小厂逆袭快手,我是如何准备面试的
我将文中提到的的 MySQL、Redis、Kafka 思维导图放到了我的公众号中,大家可以关注我的公众号【haxianhe】,回复 “思维导图” 领取高清 pdf 版思维导图。
在上一篇文章 涨薪50%,从小厂逆袭快手 - 附面经 中,我概述性的给出了社招跳槽有哪些环节要去准备,那么今天我会给出面试复习比较推荐的复习资料、如何复习以及有哪些常见的注意事项。
自我介绍
自我介绍是面试的一场面试第一个环节,而一个好的自我介绍是可以引导整场面试的节奏的,下面就简单介绍一下如何准备一份“合适”的自我介绍。
首先,我们要知道面试官想通过自我介绍了解什么信息。
在技术面试中,面试官除了想在你自我介绍的时间看应聘者的简历之外,一般会想了解以下几点信息:年龄,毕业院校,工作年限,工作经历,行业背景,项目经验,技术面等这些基础信息,然后根据自我介绍和简历信息就可以深入的聊一下具体的项目经验,技术问题等。
一般在进行自我介绍的时候概述性的介绍一下自己的学历背景、工作经历、项目经验,以及自己擅长的技术面即可。如果面试官对你介绍的哪部分内容感兴趣,他会具体问你的。
项目经验
这部分是社招面试的重头戏,总的原则是 以“项目经验”容纳“线上问题”,支撑“技术亮点”。
面试提到的技术亮点是需要项目经验来支撑的。
大多数人在日常的工作中,用到的技术是非常有限的,可能就是 CRUD 外带一些调优,这也是普遍现象。反之,如果一个初级开发,在面试中说,之前开发的模块既有 jvm 调优、又有分布式组件,再外带数据库性能优化,似乎可信度也不高。
对此,你需要用“解决过的线上问题”去支撑想要展开的技术亮点,需要你平时工作中积极主动的去参与线上问题的解决,比如有 oom 问题、redis 缓存被击穿,或者其他分布式组件的 case,你参与排查并解决,那么将来面试的时候,你自然可以以此为基础去展开你事先准备好的技术亮点。
这样的话,就像上面的那张图一样,你就有足够的支撑物去支撑你的分布式组件以及其他值钱的技能了。
总之,技术本身不值钱,面试官只关心你如何使用技术去解决线上问题的。
项目介绍
在面试时,经过寒暄后,一般面试官会让介绍项目经验,常见的问法是:“说下你最近的(或最拿得出手的)一个项目”。
在面试前准备项目描述,别害怕,因为面试官什么都不知道
面试官是人,不是神,拿到你的简历的时候,是没法核实你的项目细节的(一般公司会到录用后,用背景调查的方式来核实)。
更何况,你做的项目是以月为单位算的,而面试官最多用 3 分钟来从你的简历上了解你的项目经验,所以你对项目的熟悉程度要远远超过面试官,所以你一点也不用紧张。
如果你的工作经验比面试官还丰富的话,甚至还可以控制整个面试流程。
线上问题
大家平时工作中一定要 把握住出现“线上问题”的机会。
因为,功能做了只是具备了项目经验,但是面试的时候真正“值钱”的其实是技术的难点与解决方案,而一般技术难点普遍伴随着“线上问题”。所以,平时工作中积极主动点,出现了线上问题不管是不是自己的都去查、去解决,事后围绕着“问题现象、问题分析、问题影响、解决方案、问题扩展”等去总结、记录到自己的笔记总,后续都是自己最宝贵的财富。
技术亮点
结合自己遇到过的线上问题,优先准备分布式组件方面的技术亮点,常用的分布式组件主要有 MySQL、Redis、Kafka 等。
这部分内容可以参考 JD 上对技术要求,有针对性的去准备,也可以参考我下面介绍的关于中间件部分的内容。
编程语言
关于这部分内容,转语言的同学可能更需要关注一下。
首先,需要明确的是你想转到什么语言,那你就需要事先准备好那个语言面试可能要问的内容,因为企业招你进去是干活的而不是再像校招那样,先把你招进去再去培养你。投简历前你是能看到 JD 的,JD 上一般都有关于需要掌握的技术的明确的要求。
关于 Java 的复习材料,推荐开源项目
中间件
常见的中间件主要有:MySQL、Redis、Kafka,接下来我简单介绍一下我的复习经验。
复习材料
关于中间件的复习材料,推荐开源项目
MySQL 复习的话,还有两本书给大家推荐一下:
《MySQL 技术内幕:InnoDB 存储引擎》
《高性能 MySQL》
Redis 复习的话,也给大家推荐一本书:
《Redis 设计与实现》
复习方法
一般我会结合上面推荐的书和开源项目去整理一份自己的思维导图(思维导图我在下面放了截图)和笔记。
MySQL
Redis
Kafka
完整的思维导图太长了不好截图,有需要的同学可以 关注我的公众号【haxianhe】,回复 “思维导图” 领取高清 pdf 版思维导图。
场景题
推荐一个秒杀的开源学习项目
一篇比较好的关于秒杀的场景设计的文章
算法题
算法的话推荐大家最起码刷一下牛客网上的 《剑指offer》67题
答案的话大家可以在网上搜一下“牛客网《剑指 Offer》66 题题解”,我本人参考的 leetcode 上的《画解剑指 Offer》不过这个要开会员,大家可以根据自己的需求进行选择。
之后要是还有时间和精力的话推荐大家再刷一下 牛客霸题,上面可以筛选企业和考察次数等
提问环节
最后,就是提问环节了,这个环节和第一个环节一样是唯二应聘者可以掌握主动权的环节,一般透过这个环节你可以表现自己的面试团队的兴趣,也可以表现出自己的虚心好学都可以。
下面我给出我给自己准备的几个经典问题,给大家用作参考:
1.能和我介绍一下你们的业务嘛?
2.能和我介绍一下你们的技术栈嘛?
3.如果有我有幸能拿到 offer,你认为我入职之后最需要注意的点是什么?
4.这个职位在公司的发展前景是怎样的?有什么晋升机制?在什么条件下,可以获得晋升机会?
5.团队成员有多少人?大家怎么分工?目前团队的核心工作是哪些?
小结
到这这篇文章大体上把我想要分享的东西都讲清楚了,但是其实这里面还是有很多细节没有展开去讲,比如我总结的 MySQL、Redis、Kafka 的学习笔记等等,这部分内容后续我会简单整理一下陆陆续续到我的公众号和个人博客上,可能就不会放到牛客网这种讨论区了,所以有需要的同学可以关注我的公众号【haxianhe】第一时间阅读。
我将文中提到的的 MySQL、Redis、Kafka 思维导图放到了我的公众号中,大家可以关注我的公众号【haxianhe】,回复 “思维导图” 领取高清 pdf 版思维导图。
版权声明: 本文为 InfoQ 作者【haxianhe】的原创文章。
原文链接:【http://xie.infoq.cn/article/b0d52eb2e2b323496d5121ea7】。文章转载请联系作者。
评论