一、前言一直以来都有小伙伴问我什么时候出一些面试系列的文章,脑袋一热一口答应下来,《重学Java设计模式》写完就安排。但是怎么写,要写成什么样才对读者有帮助成了难点。 再三思考,面试只是一时的,工作、学习,才是长久坚持的。很多人面试不理想多半也是来自于自我学习能力的不足和工作内容的单一以及业务体量小导致。所以我想从全局培养人才的角度出发,也算是技术成长的经历中提取学习框架,帮助小伙伴们提升技术能力的同时也可以应对面试。
招聘一个合格的研发有多难?近半年我差不多收了400份简历,筛选简历到初面通过的不足10%。这里面很多人连简历都写不好,面试时也经常回答不到点上,技术栈广度不够深度不足,项目经验缺乏,没有解决复杂场景的经验等等。但也同样有很多优秀的,手里有多个offer最后流失。对于企业是损失,但对于个人来说,我佩服这样的人,他们技术好有更多的选择。
有时候不是面试难,而是年龄与能力不匹配,对企业招聘来说,同样能力下你价格还高,为什么不招聘个年轻有活力的呢?(
手里有个 这一篇我会从简历的视角出发,简要概况出研发人员应该具备的能力 有了这篇的基础上,后续在逐步扩展系列的面试场景,以及对应的面试题细节讲解和从哪学习这些知识的一个引导。 二、程序员的愿望5年,时间不长不短,有人结婚生娃、有人回家开店、也有人继续在大城市打拼。 头两天在研发群里做了一次愿望留言,期待下5年后的自己。如图; 留言心愿集中的点,在于;
努力!也照顾好自己。奋斗!也爱惜好身体。 愿望地址:https://github.com/fuzhengwei/CodeGuide/issues/111 三、谢飞机简历这是一份工作4年的谢飞机简历,如下;
四、面试框架1. 自我介绍
你要透露出的核心点就是个人的一个基本信息,以及项目和技术上的沉淀,给面试官流出和你留下去的话题 例如: 面试官好,我叫谢飞机,16年毕业于天津工业大学,软件工程专业,目前已工作4年。我从毕业后就职于途乐数字科技,负责营销和订单系统开发。在系统搭建、代码优化、问题处理上有较丰富的经验和处理能力。同时也喜欢写一些技术博客和看一些技术书籍,另外在Spring、Dubbo等源码学习上有过一些研究以及复用到业务开发中。感谢! 2. 面试类型依赖于面试官的不同,与你一起进入面试的方式也不同,比如;
直接提问型 需要你有一定的技术栈广度和深度,问题往往也比较有跳跃性。但大部分题目会是热点问题,但可能不是日常开发中频率最高的技术点。 场景引导型 需要你有一定的开发架构经验和项目落地能力,这部分问题基本都会结合实际的业务场景进行提问,每一个场景就是一个复杂问题问题的解决能力。这里问到的场景会与你简历中的工作经历和项目相关,但复杂程度可能会超过你目前简历中的项目内容。比如;你写了一个订单类的,那么会问你秒杀的实际解决方案。这样的问题很难背题应付,需要真的经历过,研究过。 连环追问型 从一个小的技术点开始,一层层往下剥,每一次的回答也几乎都是下一个问题的深入点的来源。这种问题不仅考察面试者,也是对面试官的考验。往往在招聘高级别开发时会进行定向深入挖掘提问,找到匹配的行业专家级技术人员。 压力逼问型 这种面试方式一般不多,但可能有的高级面试官会让你感受到这种气场。一方面是确实人家有这样的技术气势,另外一个是来自自己的紧张。如果会不是问题,还会在面试官那留下很高的打分。如果不会,那么会感觉到你越不会什么,面试官越问你什么。 以上就是基本这四类面试官的风格,求职除了技术能力外还有一部分是眼缘,不一定一个问题不会就是你不优秀,而是在寻找这个职位最适合匹配度的人员。 3. 算法算法一整块内容来考的互联网公司目前有一些,比如;头条、谷歌、百度,但不一定所有职位都需要去考算法。热频考点大部分可以分如下几块:
在题目上一般会有排序、二分查找、回文链表、反链链表,和数据结构设计方面。这些题目可以通过 leetcode-cn.com 刷题进行练习。 4. 技术栈技术栈考查的是程序员在编程开发领域学习的广度很深度,日常的业务开发往往提升都是对API使用的熟练程度,如果再缺少一些系统设计和技术难点攻克,或者说没有大流量的冲击。那么确实很难回答一些技术深度问题。如下汇总了基本会再技术栈面试中涉及的考题,可以参考提升个人技术能力。 4.1 技能4.1.1 JavaJDK源码
并发编程(j.u.c)
多线程
JVM
设计模式
反射、代理
4.1.2 Redis命令
架构
应用
4.1.3 Mysql锁
事务
日志
索引
引擎
4.2 框架4.2.1 Spring
4.2.2 Mybatis
4.3.3 SpringBoot
4.2.4 SpringCloud
4.3 组件4.3.1 Dubbo
4.3.2 Mq
4.3.3 elasticsearch
4.3.4 Hbase
4.3.5 otter
4.4 工具
4.5 架构4.5.1 系统搭建
4.5.2 数据库设计
4.5.3 服务治理
4.5.4 分布式任务
4.5.5 监控
4.5.6 压测
4.6 环境
5. 项目5.1 项目经验
5.2 工作业绩
5.3 技术沉淀
5.4 工程师品质
5.5 疑难问题处理
5.6 项目推进
5.7 专业影响力
6. 个人&面试官6.1 个人
6.2 面试官
五、总结
推荐阅读
|
|