个人情况
-
学历:二本
-
工作年限:2 年半
面试准备
复习
你信我,真学习还得看书,看书能让你的知识体系更加健全。
当然,平时也可以看一些大佬的文章扩充一下知识库。
我看过的 Java 相关的书单如下:
-
Java:《Java 并发编程的艺术》、《Java 并发编程实战》
-
JVM:《深入理解 Java 虚拟机》第三版、《深入 Java 虚拟机:JVM G1GC 的算法与实现》、《新一代垃圾回收器 ZGC 设计与实现》、美团技术团队相关 JVM 的文章、R 大相关 JVM 文章
-
MySQL:《MySQL 技术内幕:InnoDB 存储引擎》、《高性能 MySQL》、《MySQL 实战 45 讲》、《从根儿上理解 MySQL》、《从零开始带你成为 MySQL 实战优化高手》
-
Redis:《Redis 设计与实现》、《Redis 开发与运维》、水滴与银弹Redis 系列文章
-
Kafka:半兽人博客、《Apache Kafka 实战》
-
Zookeeper:《从 Paxos 到 Zookeeper:分布式一致性原理与实践》
-
架构:《凤凰架构》、《领域驱动设计:软件核心复杂性应对之道》
还有一个点是,看书的时候可以尝试记一下笔记,这样效率会高一些,不至于看完就忘记了。
算法
算法的话,没有那么多高超的技巧,LeetCode 前 200 道反复刷就行了,应付社招绰绰有余。
我只刷了 170 道题,面了十几个大公司,大多的算法题都是原题。
刚开始刷的时候会很痛苦,坚持几天,没有思路的就看答案,看完答案继续写代码,写不出代码继续看答案,反反复复坚持下来算法就搞定了。
简历
简历的话,从大学毕业到现在,我一直用的是超级简历:https://www.wondercv.com/ ,我感觉挺好用的。
至于怎么写简历,我也不是专家,不说些花里花哨的,直接给一个我的简历模板吧,仅供参考。
提一个点,你写的简历就是划了一个知识范围,然后让面试官从题库里面选题,如果你自己划的知识点你都不清楚,那你面试肯定没有把握的。所以,一定要对你简历上面的每一字负责,要对你在简历上写的每一个技术点都熟悉。
面试过程
自我介绍
自我介绍是简历的精简,不需要说一些没意义的事情,面试官也不关注你喜不喜欢打篮球,爱不爱唱歌,你只需要把你做过的最牛逼的事情,解决过的最复杂的问题讲出来就行了。
举个例子:
面试官你好,我叫 CoderW,19 年毕业于哈佛大学。
从毕业到现在一直从事后台研发相关工作。
19 年-22 年在谷歌中间件团队,主要负责 xx 中间件的设计与开发,在这期间,完成了对 xxx 进行改造和优化,整体性能提升了 80%;
22 年去了微软电商团队,负责微软电商体系的设计,两年的时间,完成了微软电商从 0 到 1 的搭建过程。上线至今,日活量达到了 10 亿,系统平均 QPS 达到 1W。
这一次应聘的是贵公司中间件团队的资深专家岗位,在业务方向和技术栈方面,我个人认为我的匹配度还是比较高的,非常希望能够加入贵公司,一起打造 xx 系统。谢谢!
技术讨论
自我介绍完之后,一般就是技术讨论环节,这个环节一般 30 到 50 分钟,是整个面试最重要的一个环节。