「始」前沿
有幸在 5 月 31 号参加了《第八届前端早早聊大会》主办的《前端跳槽的新起点|前端如何搞面试》。在这次大会中从早上 9 点半一直到下午 6 点多结束,大会含金量超高,我此次受益匪浅,屁股坐到起茧都是超级值得的。本次大会一共有15 位来源于各大厂公司的高级前端工程师和技术专家,每个讲师都给我带来了精彩绝伦的知识与干货。
这次大会的内容不只给我的技术生涯中带来了冲劲,让我认知到自己还有很多的不足与未知。同时也让我认知到了优秀的技术人才与团队的能力模型,讲师们有说到他们的经历和三观,引发了我对自己“保安式”的灵魂拷问。
听完本次大会后,真的让我重新认识了自己,也重新找到了前进方向与目标。最后还收获了许多知识与秘诀。下来我来总结一下我在这个大会上吸收到的知识精华。
「一」候选人视角看待面试
首先我们从候选人(面试者)的角度来剖析和分析一下面试者应该怎么从准备到面试成功,最后拿到心仪的 Offer。
「1.」面试准备
我以前准备面试的时候都会非常慌张,不知道自己需要复习什么,或者做什么准备工作。甚至还有在某宝,某猫,某东买下了一堆的书籍开始刨书。还有就是下了几个 TG 的视频,然后天天晚上熬夜刨视频学习。这种方法其实作用真的不是很大,而且前端那么多知识,要全部都会,都能深入了解,是并不可能的。更重要的是我们平时每天的累积和沉淀。
那应该怎么准备呢?通过大会中各位优秀的候选人的分享,其实我们第一步应该是重新认识自己。
「1.1」 重新认识自己
在大会中我认识到如何深度剖析自己,从性格和心态、优点与缺点、思维、技能与知识、项目经验等维度开始剖析。
每位讲师都有重点提及到,在优秀的团队中更看重的是一个人的自我修养,包括积极乐观面对挑战的态度,自信但保持谦虚的心态和突破瓶颈的魄力。如果在技术中没有,那在生活中我们有没有这样的修养,如果都没有那肯定是有待提升的。
性格与心态 —— 深入了解和懂得自己的性格,会对我们在面试和工作中有很大的帮助
- 自卑不自信 —— 谦虚但不自卑
- 很多小伙伴如果没有强大的学历背景和经历,往往会内心很自卑,不自信,在面试前中后都非常紧张、害怕和焦虑;
- 如果我们是有一些自卑不自信的,那我们是需要去调整和克服的;
- 但是每一个人的缺点也同时是他的优点,拿内向来说,自然会特别敏感,但是同时也具有洞察和感知他人情绪的能力;
- 在面试之前,先平复自己的内心,给自己心理暗示(我们是可以的!)
- 面试的过程中,多使用我们的洞察力来看清面试官当前的情绪从而做出调整,让自己在面试中表现的更好;
- 自信 —— 自信但保持谦虚
- 自信是我们的优点,那同理也会是我们的缺点;
- 自信很容易让我们自大,过于自信时就会忘记谦虚;
- 我们要时刻保持着谦虚的心,自信而不自大,谦虚而不自卑;
- 自信更多要来源于我们的准备和硬实力,而不是空虚无力的自信;
- 积极乐观 —— 阳光正面面对挑战
- 我们可以问问自己是喜欢在一个积极乐观的团队中,遇到问题大家都积极面对,共同寻找解决办法,还是遇到挑战都会一起刷屏“我太难了”?
- 个人心态会影响身边的人,一个团队的环境更会影响着大家的效率和工作激情;
- 所以优秀的团队都会选择积极乐观,勇于挑战,有主见,有想法,有自信的人来加入;
- 注意以下两种消极心态的自己:
- 二元轮认知 - 解决问题的态度要正面,找到成功的可能,不是站在对立项目的问题;
- 偏执型人格 - 不要为自己的失败辩解找理由,只为成功找办法;
找到自己的性格,可以从而先解决自己性格上的缺陷,这个也是我们内心最基本的素养。一个优秀的技术人员首先就要有一个优秀的内心素养。良好的素养可以提高我们的面对困难,面对挑战时的心态,也是能让我们在技术道路上走的更远的基本功底。
自我审视,重新思考 —— 挖掘自己的优势与劣势
讲师们讲到的认识自己也包括挖掘自己的优势与劣势。那有哪些是要在面试前要挖掘自己的呢?
深入思考后发现能自我探索,找到自己的能力和缺陷所在,才能让自己持续的成长,让每一件事情下一次做都能做的更好。有一句话“失败是成功之母”,其实这句话里面还有更深层的意思,如果我们失败后不总结,不找出自己失败的原因,无法自我挖掘自己在这件事情中做的好与不好的地方,那再去尝试总归还是会失败的。
每一次失败都是一个学习的过程,重点不是我们失败的结果,而是我们在失败的过程中得到了什么,然后我们应该怎么去改变做的更好。
在开发或者是工作中无非就是从失败到成功,从做的不够好到做的更好的过程。所以我们要善于总结自己,找到自己的优点与缺点,扬长避短,不断提升改变自己,才能让自己越来越优秀,越来越成功。
认识自己是一个很漫长的过程,持续的自我探索本身也是一种能力。只有发现自身的优势与劣势才能更好的让自己持续突破瓶颈往前迈进,也是一种发现自信的过程。
那么我们具体要挖掘自己哪些东西呢?
从古到今:
- 学习到的知识;
- 工作中参与过和负责过的项目;
- 在每个项目中的角色和做的事情;
- 最终我们得到了什么“量化”的效果和结果;
首先讲讲知识:
具体剖析自己懂得哪些,哪些是自己的强项,哪些是自己的弱项。强项就深挖学习,弱项就刻意学习。
- 需要我们懂什么知识?
- 基础知识
- JavaScript, HTML(5),CSS(3),HTTP,浏览器等
- 要懂方法实现和工作原理
- 框架能力
- 3 大框架必须至少熟悉到精通使用其一;
- 并且深耕到框架底层实现和工作原理;
- 重点复习 React 和 Vue;
- 还有每个框架的周边产品的运用和原理;
- 常见设计模式
- 不能就准备如何实现;
- 更多的需要知道设计模式如何在项目中如何应用与实现;
- 作用是什么?为了什么?
- 前端性能优化
- 4 个层面资源优化,请求优化,渲染优化,JS 优化;
- 每一个优化知道 1-2 种优化;
- 数据结构及算法
- LeetCode 刷题量(每天 1-2 题),有较强的逻辑思维与能力;
- 以简单到中等难度为主,偶尔练一练高难度的题目;
- 常用数据结构:树、栈、队列等;
- 运用了数据结构及算法解决了什么复杂的业务问题;
- 源码阅读
- 熟悉的技术栈关键源码;
- 源码的实现逻辑;
- 懂得为什么这么实现,有什么好处,可以列举出来;
- 基础知识
分析出我们懂得哪些知识和有哪些我们需要加强的,我们应该怎么学习和加强呢?讲师们给到以下意见:
- 学习与加大知识库:
- 形成知识体系
- 知识点
- 理论
- 体系
- 学习 - 输入知识
- 看书 - 技术书籍、技术以外的书籍
- 看文章 - 博客、官方文档
- 源码 - 通过看懂看透底层原理
- 看视频 - 报课程
- 构建关系
- 思维导图 - 牢固的知识是从有树干到树杈到树叶,都是一环扣一环的
- 5 个 Why - 构建知识脑图时的 5 大重点
- 背景 - 技术诞生的背景以及迭代史是什么?
- 原理 - 技术原理是什么?
- 场景 - 有哪些应用场景?
- 比较 - 横向比较同类技术,各自的优点,缺点是什么?
- 未来 - 未来会支持哪些新特性?
- 稳固 - 费曼技巧(以教为学)
- 提取压缩 - 写成自己的笔记,脑图等等,抽出知识的重点与精华
- 转为语言 - 明确任务、拆分知识、清理关系
- 列举例子 - 新例子、新视角
- 能教能传授 - 能教会一个不懂这门知识的人,这个知识你才是真的达到精通水平
- 形成知识体系
然后我们来讲讲项目:
各位讲师都反复强调,在面试的过程中我们要习惯使用STAR
法则来剖析我们的项目经历和经验:
- Situation - 场景
- Target - 目标
- Action - 行动
- Result - 结果
具体表述时使用以下部分,一步一步来讲述自己的项目经验:
- 背景:项目背景,是什么情况下发生的
- 角色:我当时承担了什么角色
- 职责:负责工作的哪一方面,协调/开发/等等
- 难题:遇到了什么难题,怎么解决的,为什么这么解决
- 结果:项目结果如何,有数据支撑更有说服力
- 沉淀:做完这个项目沉淀了什么,给别人带来了什么
- 复盘:如果重新让你做这件事,你会怎么做,有什么更好的方案
- 评价:项目中的表现,你周围小伙伴怎么评价的,上级怎么评价的
梳理“关键”经历和经验:(阶段性需要回顾经历和经验,以项目或者半年为周期)
- 梳理2-3 个亮点项目,并能通过 STAR 法则描述
- 让面试官了解,我们做了这个项目不只是为了 KAI,我们是有思考,有主动思辩思维
- 这个也能体现出 Owner 精神
- 在项目中的角色和起到的价值
- 工作中对团队/他人的影响(不只局限于做好自己)
- 梳理人生的失败经历,传递看法、描述行为、获得成长
- “项目黄了=没有受益”?❌❗️,不是的
- 通过失败的经历,传递你面对失败的态度
- 并且能够反思自己,并加以改变,最后获得了成长
- 反面例子:遇到失败就堕落,抱怨,退缩,这样反而让面试官觉你逆商不够
- 梳理人生的高光时刻,传递你的价值观和需求层次
- 首先问自己:这件事情为什么让你觉得是人生的高光时刻?
- 当前处在《马斯洛》的《需求层次》的那个层次呢?
- 梳理职业规划方向,思考未来想成为一个什么样的人?
- 在面试中都是一个高频的问题
最后再多想想我们自己的经历,过往的人生中做过成功的事情和失败的事情,在这些事情当中多问自己“为什么”。为什么会成功?为什么会失败?做了什么让事情得到了好的结果,又做错了什么导致自己的失败。这个过程其实是很有趣的。
「1.2」明确梦想公司与团队
在大会中讲师们也有重复强调一个点“找到合适你的公司/团队/项目”非常重要。
这个也是为什么我们第一步先要剖析自己,重新认识自己,因为只有了解自己的能力和自己是怎么样的人,才能更好的找到合适你的公司,团队和项目。
- 何为合适?
- 公司
- 企业文化
- 企业价值观
- 企业规模
- 企业发展方向
- 团队
- 团队文化
- 团队价值观
- 团队使用的技术栈
- 能否让你成长
- 项目
- 业务是否是你感兴趣的
- 项目的发展方向
- 价值观相同
- 能否让你成长
- 公司
找到自己合适,有共同价值观,共同努力目标的公司和团队是完全不一样的体验。在大会中好几个候选人都分享了进入团队后的感想,这里也分享一下他们的感悟:
- 见识到阿里工程师最基本的职业素养
- 既要有过硬的前端基础技术能力打底
- 也要有 ONWER 意识,团队推动力,跨团队协作能力,沟通能力非常重要
- 优秀人才多,互相吸引,互相敦促成长,共同进退
- 真-海量知识
- 进来的第一周感觉知识像洪水一样涌入,技术产品和业务沉淀齐飞
- 有非常多的优秀知识在内网
- 无论是软实力还是硬实力都在压力下极速成长
- 完备的基础设施和工作流
- 终于在国民级应用上大展拳脚
- 爽,刺激,有成就感,能让很多亲朋好友都见到自己亲手写的代码
- 同时也面临着更大的挑战,千万级流量下更严苛的性能挑战,线上稳定性保障
- 为何要选择阿里巴巴
- 大平台、大公司、大机会
- 为何选择淘系技术部
- 稳定成熟业务体系
- 不缺乏创新点
经历过这次大会,我发现人生中最重要的两个选择,也是会陪伴我们最长的,那就是梦想公司/团队和终身伴侣。
「1.3」准备简历
一个好的简历就像等于一块 3 级敲门砖,为我们敲开进入大厂的第一扇门。
简历中需要注意的:
- 书写原则:
- 排版清晰,技术的简历模版不要“标新立异”(导出 PDF)
- 挑选重要、突出的优势表达
- 无关次要的不要表达
- 适度包装、不能造假
- 用量化指标去说明
- 职位 JD:
- 挑与岗位匹配的内容
- 岗位职责、硬技能、找差距、不齐差距
- 内容排版:
- 基本信息(要全面:包括邮箱、联系方式等基本信息)
- 专业技能(专业技能按掌、熟悉、了解程度依次罗列)
- 项目经验(亮点项目详细写,附带数据描述成果更具说服力)
- 教育背景
- 简历模版
- WonderCV、五百丁
- 多份简历
- 不同岗位
- 不同公司
- 不同等级
- 以上不同的都需要针对的去调整简历内容
「2.」面试技巧
任何事情要做好,首先我们要先了解清楚这个事情的来龙去脉。那面试也是一样的。
「2.1」岗位职级
这里主要讲说的是阿里巴巴的技术岗位职级。很多时候去面试失败怀疑自己是不是哪里表现的不好,往往有可能是自己对自己的能力认知有误差。能力在 P6 时,去投了 P7 等级的岗位面试,这样结果很大可能会失败。所以首先要找到对标的岗位职级!
- P5 级别
- 独立执行既定的任务,寻找更优解
- 培养潜力巨大,较强学习能力
- P6 级别
- 独挡一面,能负责多个业务模块
- 能团队协同做项目,担任项目 PM
- P7 级别
- 专家,一杆到底的系统性思考
- 技术方案可被复制
注: 详细的岗位职级会在“面试官视角看面试”的部分详细讲说
「2.2」形象建设
在面试之前,我们要整理好自己的形象。一般来说在我们首次与陌生人相见,第一形象和眼缘是会给别人带来很大的吸引力。
- 声音形象 —— 通常第一轮面试都是电话面试,所以我们都是通过声音来交流
- 语速
- 反面例子:语速过快导致听不清,语速过慢会让面试官失去耐心
- 正面例子:保持均匀的水平(一分钟大概 200 字左右)
- 语气
- 反面例子:语气上扬太高会显得你很轻浮,不够稳重
- 正面例子:心平气和,温和的语气,外显的是平和、尊重与体贴
- 语调
- 反面例子:语调太低,语调微弱,会给人感觉胆怯懦弱
- 正面例子:用胸腔偏下的位子发声,这样发出来的声音是雄浑有力的,不会显得很沉闷反而会有一些磁性
- 语速
- 外在形象
- 简单、干练、不邋遢
- 头发洗一洗
- 头发鼻毛剪一剪
- 胡子剃一剃
- 穿着干净简单大方
- 内在形象
- 人格上吸引力
- 自信、踏实、皮实、乐观
「2.3」面试流程
根据各位候选人的总结,阿里面试基本上都是 5-6 轮。一般在 1-3 周左右完成。
我从几个优秀的候选人的面试经历,总结出的大概面试流程:(因为不同部门,不同团队,会更具部门要求有所差异,只供参考)
- 技术一面 - 同岗研发/直属主管(30 分钟左右)
- 考察重点:基础和知识广度(专业 80% + 软素质 20%)
- 内容:
- 计算机基础:算法、数据结构
- 前端基础:JS/CSS、前端框架、Node、浏览器原理、网络、安全、跨端能力(后端或客户端)
- 编码能力:逻辑是否清晰、辩解是否考虑到、思维是否活跃、设计模式能否应用、方案设计与细节
- 技术视野: 行业技术现状、新技术的了解和实战
- 技术二面 - 部门主管/前端负责人(40 分钟左右)
- 考察重点:工程能力、设计能力、规划能力(专业 60% + 软素质 40%)
- 内容:
- 工程能力:效率、质量、性能、定义标准、产出规范
- 设计能力:抽象能力、拆解能力、健壮性、扩展性
- 规划能力:做事的思路是什么
- 沟通和推动力:是否有一套自己的项目推动方法和成功案例
- 产品意识:事情的目标是什么?存在哪些问题?如何解决?价值体现在哪里?规范?共建(也就是项目 STAR 讲述过程)
- 其他软实力:聪明程度、学习能力、责任心、价值观等。
- 技术三面 - 部门 TL/总经理(100 分钟左右)
- 考察重点:技术格局和视野、人生规划、软技能考察
- 内容:
- 沟通表达能力
- 工程架构能力
- 业务/行业思考理解
- 综合能力与成长性
- PS:这一轮有可能出现笔试
- 技术四面 - 交叉面(20 分钟左右)
- 考察重点:项目经验、价值和解决问题能力
- 内容:
- 方案选型与设计细节
- 技术五面 - 大 BOSS/HRG(60 分钟左右)
- 考察重点:项目中的亮点技术方案、业务能力、抗压能力
- 内容:
- HR 更注重软实力
- 综合能力与成长性
- 人才调性与匹配度
- 发展与薪酬待遇
如果面试官觉得还需要深入了解或者确定候选人的能力,还会加多一轮交叉面试。主要还是为了能对候选人有一个公平公正的评估,让候选人能拿到与能力相配比的岗位职级。
「2.4 」面试技巧
这次大会中候选人提出了很多不同的面试技巧,这里我总结了我觉得最实用的技巧分享给大家。
面试模拟
- 自我模拟
- 讲给自己听
- 讲给朋友听
- 找一个在你水平之上的前辈模拟面试
- 实战模拟
- 收集反馈
- 分析问题
- 自我调整
- 反复实战
沟通技巧
- 沟通原则 ——
- 客观描述事实,不做主观臆断
- 三说 ——
- 知道的知识-自信说
- 模糊的知识-假设说(分情况说)
- 陌生的知识-诚实说(比如说我的知识还没有接触到这一块,“但是”我知道什么什么,我可以跟你聊什么什么,把不擅长的话题往你知道的带)
- 三不说 ——
- 不说谎话
- 不说抱怨的话
- 不说轻浮的话
面试节凑
- 引导对方
- 每个面试官会问的问题都是无法预测的
- 所以我们可以引导面试官问我们擅长的问题
- 知识点 A 引申出知识点 B、C,预埋问题坑位,引导对方提问
- 注意重点还是要在回答 A 上,顺带 B 和 C 来做引导下一个问题的主题
- 渲染情绪
- 在面试的时候要多感知对方的情绪
- 感知对方情绪,判断策略,引发对方的共情
- 特别是我们有高光时刻,这些是很容易让别人产生共情的
- 反问阶段
- 如果在这个阶段不知道问什么的时候,有一个保守的问法
- 了解对方团队、技术栈、痛点问题、组织定位
面试后加微信
- 夸赞对方 —— 夸赞对方在技术领域的专业性
- 承认不足 —— 勇敢承认自己当前的不足
- 询问建议 —— 询问从面试官视角给予你未来的建议
- 建立人脉 —— 弱关系,未来关键时刻能帮上你
面试复盘
- 复盘结果 —— 梳理答的好/不好的知识点,记录,找差距,反复实践
- 复盘情绪 —— 回忆面试那种情绪占比多,紧张、开始、严肃、调整心态
「二」面试官视角说招聘
站在候选人(面试者)的视角,我们总是会去思考面试官会怎么面试我们,需要我们具备什么技能和能力,拥有哪些人格魅力与高光点。这一次大会有一半讲师都是从面试官的视角来讲招聘。我们一起来学习,会对我们求职的过程中有很大的帮助。
「1.」简历来源渠道
- 熟人内推 (推荐 👍👍👍)
- 猎头(推荐 👍)
- 招聘平台 - BOSS 直聘,拉钩等
- 技术大会 - (推荐 👍👍)各类技术大会,会在现场互相认识加微信获得机会
- 社区 - 通过朋友圈或者其他活动社交
- 自主投递 - 邮箱投递
虽然说每个大公司和团队都有在各个渠道上去招聘。但是占比最大还是内推,毕竟是熟人内推,比其他渠道更可靠,加上有内部朋友背书,TL 会更加认真对待。所以“推荐简历投递渠道:熟人内推、猎头、技术大会和社区”。
「2.」对候选人的要求
大会上几个讲师都有讲到这个,优秀的团队都会看重候选人身上是否拥有以下特征。
「2.1」优势特征 - 能通过的候选人
- 基本功扎实
- 良好的技术基本功(计算机基础,前端基础,框架应用与底层原理等等)
- 良好的开发流程理解
- 对既往负责业务的理解
- Api 外对原理的一定探究
- 要性强
- 良好的主动性
- 能主动探索更多可能性
- 对平庸的低忍耐
- 抓机会及落地能力
- 证明自己
- 主导过的业务
- 推动过的建设
- 解决过的复杂度
- 个人作品
- 较好的认知
- 非被动执行思维
- 对技术的嗅觉
- 非二元论认知
- 良好的合作性格
「2.2」共性问题 - 未通过的候选人
- 专业能力的问题
- 相关基本工不行
- 7 年时间 2 年工作经验
- 4 年销售自学前端 2 年 - 基本不是热爱前端知识为了分工作的
- 面试沟通一直外围绕圈子
- 职业能力问题
- 3 年 4 条(稳定性)
- 基本的沟通能力堪忧
- 业务经验差,被动执行
- 综合深度浅,做完而已
- 性格问题
- 二元轮认知 - 解决问题的态度要正面,找到成功的可能,不是对立项目的问题;
- 偏执型人格
- 匹配度问题
- 简历造假(诚信是红线)
- 匹配度(双向阶段匹配)
- 背调,口碑
- 背面经,过度包装自己
「3.」岗位剖析
层级关键能力:
- P4 - 前端工程师(做完)
- 独立承担,独立执行
- P5 - 高级前端工程师(做好)
- 能思考并践行如何能做得更好
- P6 - 资深前端工程师(影响)
- 通过影响和带动他人,帮助业务和团队拿到更好的结果
- P7 - 前端技术专家(改变)
- 前瞻性、目标感、主导性、整合力
- 推动力、拿结果、影响力、领导力
P6 为例,P6 的关键能力拆解:
- 专业能力:
- 良好的基础知识及运用能力
- 熟悉常用规范、类库及周边应用
- 能完成相对复杂前端技术方案设计
- 快速定位及解决疑难杂症的能力
- 一定的 Node.js 或其他服务端语言能力
- 职业能力:
- 良好的沟通,沟通及时有效
- 独立的前端业务接口能力
- 领导跨部门项目的 PM 能力
- 理解业务优先级,有效管理业务预期
- 跳出前端看问题,寻找最优解方案
- 场景方案:
- 业务场景的有效方案沉淀
- 能承担团队体系内某专项的建设突破
- 思考处理业务场景/问题的通用方式
- 通过处理一个问题,解决一类问题
- 考虑必要的投入产出比
- 推动及落地能力:
- 抓住工作重点,解决关键问题
- 主导职能领域某一方面的建设
- 有效利用团队的力量获取最大的结果
- 规划路径,落地既定目标,永不放弃
「4.」面试必要准备
- 表述清晰的简历 (10%)
- 真实陈述,勿造假
- 避免关键词堆砌,空洞
- 倒序,提炼,避免“万字文”
- PDF 格式优先
- 必要的基本功复习(30%)
- 前端三件套
- 基础的算法
- 常见的业务场景方案
- 别背概念,有价值的是如何应用
- 复盘既往工作中的价值(50%)
- 背景、角色、过程、结果
- 重点要体现个人生产的影响
- 减少执行性陈述的堆砌
- 结构性认知、体系化思维(如有)
- 过去一段时间最大的成长
- 自己后续的职业规划(10%)
- 目前的成长短板
- 后续的职业成长方向
- 这个方向需要什么样的空间
- 为新团队带来的价值是什么
- 什么能放大你的价值
「5.」面试官的面试方法
一般都会从“聊聊最深刻的项目”开始,在深入到以下点:
- 业务目标 - 对业务了解是否清楚
- 方案选型 - 有没有符合逻辑的思考
- 技术细节 - 了解是不是比较深入,基础知识的考查
- 最终结果 - 拿结果的能力,是不是可量化的,比如性能优化,最后有没有一些明确数据来证明
- 学习思辨 - 思维,思考,思辨,学习的能力,是否有潜力
「6.」应聘建议
- 第一印象:
- 一份有诚意的简历
- 👍 项目罗列要突显项目的亮点和思考
- 👎 如果以流水账的形式列举就会有不好的印象了
- 明确意向:
- 明确个人诉求,确定目标团队
- 👍 懂得自己想要什么,确定自己的目标团队
- 👎 不希望是大海捞针,随便乱头,碰碰运气
- 回顾总结:
- 过去的工作经历、沉淀、成长、收获
- 面试之前需要提前准备好
- 自我认知:
- 给自己的定位
- 有哪些核心竞争力和不足
- 面谈技巧:
- STAR (SITUATION / TARGET / ACTION / RESULT)
- 根据 STAR 原则来应对和面对问题
- 面试复盘:
- 不管成功还是失败
- 总结自己面试中的表现、经验教训
- 面试中的误区:
- 不要死记硬背概念、知识速成、海量刷题
- 可做适量的准备,但是不要为了面试而面试
- 不要一问一答、不问不答、话唠、东扯西扯
- 找到自己答案中的明确目标和中心点,讲重点,不要跑题
- 勿辩解,忌装懂
- 可以从中心点扩张,不止于现状,寻求更优方案
- 不知道自己是谁、自己有什么、自己要什么、该去往何处
- 目前定位是什么
- 核心竞争力是什么
- 自己未来的规划是什么)
- 诚信问题!不要造假,不要造假,不要造假
- 出现诚信问题,以后就与面试的公司说 88 了
- 尾声时没有问问题
- 这个时候可以补充自己的一些亮点
- 别错过咨询面试官的机会
- 主动加面试官微信,可以继续练习加深第二印象
- 不要死记硬背概念、知识速成、海量刷题
「三」Q&A - 问答环节
问:如何看懂源码?
- 先从使用场景开始深挖源码;
- 了解在这个场景下的实现逻辑;
- 然后再从大局的原理来理解;
- 不要焦急一下子了解全部源码;
问:工作中项目没有亮点?
- 跟面试官反馈让自己负责更难更大的事情;
- 归纳总结,有自我思考那些简单的业务有什么提升点,用什么技术点可以更好的提高;
- 提出自己的优化方案,和提高项目技术的方案;
问:怎么克服业务代码的瓶颈?
- 只有做业务才能成为专家
- 还在执行认知,还在想着怎么做完,没有思考怎么才能做的更好
- 代码的分层架构,组件化,设计合理性等方面
- 如何跟业务方保持好良好的沟通
- 通过定义一个问题来定义一种问题,解决一个问题,解决一种问题。
问:业务执行转架构师怎么做?
- 用通用方式来解决问题
- 架构师不能脱离业务,要深度了解业务
- 业务的玩法,运作方式,前端开发中遇到的问题,找落地方案
- 落地方案:面线业务的整个闭环 - 团队最大的痛点(人效,成本,体验)
- 深入了解业务,再开始深入开始架构
- 尝新最新的技术架构选型要优先考虑团队
问:跳槽太平凡可以进入大厂吗?(在小公司)
- 你女朋友过去两年换了 5 个男朋友你会怎么想?
- 公司都是看长期受益的,跳的太平凡都是影响你的稳定性和信誉的。
- 有人给你做背书能为你争取;(内推,有朋友在内部)
- 先降低你的预期,下一个工作挑一个好的公司稳定一下,沉淀一下;
问:如何控制面试阿里的面试频率?一次面试简历会锁多久?
- 按照我自己的经历来说,并没有锁的概念
- 我失败过一次之后,我还是会被其他面试官撩起来邀请过来面试
- 如果同学想要去阿里的话,还是建议好好复习
问: 请问蚂蚁金服招人是否有年龄上的限制?或者有更细的年龄分成?比如:30 岁只有 P7 才能进入
- 确实是不能很详细说的,年龄不是最重要的考核标准
- 在 P6 这样一个起步的职位要求,是希望有独当一面,辅助团队的能力
- 比如说应届生或者工作 1 年左右经验的是不太有这些沉淀(一般情况来说,但是也有个别的)
- 所以更看重的是有一些 2-3 年工作经验以上的沉淀的,这样会更合适
- 像 P7 需要有一写领域深入的理解,一般没有长期的沉淀是不可能符合的(也有同学工作 1-2 年就沉淀了很多很多,所以一加入进来就 P7 了)
- 总的来说我们都建议不同的层级有一定时间的沉淀,但是这个是建议不是要求
问: 在前端打磨了 9 年,目前技术专家级别刚入职,但是心里有一个阿里梦,再过两年阿里还要我这样的人么?请问阿里对学历有什么要求?
- 不管是几年,只要你的能力能达到你的发展的状况,比如说工作了 9 年,你是的能力是否能与你的工龄相匹配,能在一个领域里面成为一个专家。然后通过这些年的沉淀,在各个方面都有全面的知识沉淀和成长。只要是能够有对应这个能力的成长的话,都是能够进入到面试,也可能会成功。
- 重点是自己技术的成长,能对的起自己那么多年的沉淀和学习。
- 学历来说,举个例子,我团队这里也有专科学历毕业的,重点还是能力和亮点,能搞证明自己的技术实力,这些不是学历能够达到的。(但是也要看团队,像钉钉就不接受专科)
问:工作了 2 年不是主动的情况下换了 3 加公司,如果这种情况想进大厂的话,会不会经历太平凡受到影响呢?
- 分两个层面,主动和被动跳槽,不会一刀切
- 我们都会详细了解跳槽背后的原因是什么
- 但是经常换公司会对自己沉淀和成长有一定的影响的
- 所以频繁跳槽还是会有一定影响,但是不绝对,还是要看个人实力和沉淀
问:是什么帮助你在技术上和认识上的到一个很好的修炼呢?
- 技术上更多是兴趣吧,因为接触的比较早,在技术上就是要不断的去尝试和不同的方面,一定要找自己感兴趣的方向,因为兴趣还是一个重要的老师,让自己去探索技术里面的价值和潜力所在。
- 认知的话更多的是数学思维,数学对我的帮助是非常大的。它能让我去理解一些从代码角度很难理解的事情,也让我能更好的理解需求和代码上的解耦。
问:平时是如何学习新东西的呢?
- 这个我也会问候选人这个问题。一般来说每天开始,到公司之前我都会浏览一下科技型的网站。一方面拓宽自己的视野,慢慢这些知识会形成你自己的一个理解之后,就可以分析自己需要深挖的领域或者感兴趣的领域。
- 这个前提是非常重要的,如果我们盲目去接触新的领域和框架,自己的精力会非常分散。所以我一般都会经常去听一些业界的声音,大家对这些事情的评论。先从对方的一个主管角度去接收到这些信息,这个可以帮助自己有一个大局观,了解到业界在做一些什么,大家对某一些事情的理解是怎么样的。慢慢变成自己的理解以后你就知道应该去学一些什么知识了
- 到了想如何去学习这个知识的时候,那就相对比较简单,因为肯定有很多人,或者某一个知识领域推荐有哪些书籍是最佳实践,最后去找这些书籍去看就好了。
- 重点是在这个过程你要非常明确你想要的是什么,千万不要今天出了几个知识点或者框架,我先去把它吃透了,我们要把精力集中在一个你希望深入的领域去探索。忌“什么我都要”,“什么我都会”,这个样是不可取的。
问:你是怎么成长起来的呢?你是怎么安排自己的时间管理?
- 在业务中多思考,在工作中时间太精凑无法思考,所以这个时候可以考虑在业务中提升自己的能力。站在业务的指点上去学习新的技能和知识。然后在日常积累和封装成论证,放到 GitHub 上,让更多的人给你建议,这样也能提升自己的能力。
- 算法上必须每天去 LeetCode 进行练习,每天抽半个小时去刷题,对自己不熟悉的题要反复的去练习。慢慢自己就会慢慢好起来了。算法这一块知识会对你学习新知识会有很大的帮助。
- 现在新技术勤出不穷,你要学会在一些网站上去关注一下这些新技术,用自己以往的经历来去对这些新技术的原理有基本的认识,考虑为什么要出这个技术,这个技术给我带来的技术方向是什么,我以后要朝着什么方向学习。
- 最后尽量去大厂吧,大厂的话像阿里巴巴这样的平台,学习资源有很多。会发现以前你花很多时间解决的问题,在内网看一篇文章就能解决了。
问:你负责那么多方向,你是怎么兼备的呢?
- 作为一个 Leader 你要为你的团队找到方向,打开更多的空间。只有帮你的团队往上打开的空间足够大之后,你团队下的小伙伴才能朝着这个方向有足够的发展。
- 让团队每一个同学找到位子,能好好的做事,做的事情能得到公平公正的回报。
- 根据发展来设计团队的方向。
- 更空闲之后就会关注技术方向和落地。
- 如何兼备其实重点在于更具事情和阶段来动态调配。
问:阿里 P7 有哪些具象的要求?要做一些什么事情?
- 技术开发的核心骨干,写代码写的好写的快是基本要求。
- 在本专业的技术深度和广度要足够。
- 懂如何分析综合性问题的能力。
- 技术选型方案,并且与其他团队做到更好的落地。
- 技术量级应该如何应对。
问:腾讯与阿里那个更适合上升期的发展?
- 前端时间我和腾讯的一些朋友聚在一起讨论我应该去那种公司/团队呢?技术好的?还是钱多的?其实都不对,应该加入成长性更大的团队。
- 主要看这个部门和团队的业务成长性暴发性更大的。无乱是阿里巴巴还是腾讯都在众多的领域中有他的规划,重点还是业务和成长性更高的团队。
问:候选人面试的准备,阅读源码是不是重要的一项?
- 有源码阅读经验的同学是非常喜欢的,比如说度过 React,Vue,webpack 的源码等,我们就能判断这个小伙伴对于这一块技术有浓厚的兴趣和专研。
问:前端有没有遇到过瓶颈期,是怎么突破的呢?
- 当时在创业公司待了三年,一个小团队,没有什么学习氛围。如果当时我停下来拿肯定就废了。
- 那那时候是怎么做的呢?持续关注行业的动态,注意最流行的技术趋势是什么,我们的业务可能会需要什么。当时创业的时候还写了 node.js 的书。
- 当时也是很累的,晚上 12 点回到家继续看博客总结继续输出。
- 当时团队需要我做什么我就去接什么,当时做的最杂的时候,前端,PHP,nodejs,甚至最后 C++,IOS 都会接触到。
- 遇到瓶颈的时候问自己一个事情
- 现在自己想往那个方面去发展?
- 当前业务,团队甚至是集团需要你去做什么?
- 回答以上两个问题,基本上你就可以知道一个答案了
问:跨行业面试有什么要求(转行的)?
- 这个同学应该说是之前做的是两外一个行业,然后对前端特别热爱。
- 面试这种跨行业的话,一般来说都会看这个同学的潜力。
- 重点看有没有什么 demo 或者业余参与过开源项目,甚至是一些分享或者看源码。还有是怎么学习的。
- 做过的一些项目,小 demo 是有深度的,这样话还是可以进来。
- 在团队中也有不是科班出生的,具体看硬实力如何,还是可以接受的。
问:面试过程中,面试者提出哪些问题能带来好感?
- 在面试过程中,有一些同学会问我一些技术点,但是我不推荐问这个,因为技术点都是可以查到的。
- 最好是问一些开放性的问题,团队负责的业务时什么?然后团队未来的发展方向是什么?
- 或者问面试官一些给自己的建议。
问:新进的团队 Leader 可以如何做好团队管理?
- 第一点尽快和团队的同学建立连接,产生彼此的信任。
- 明确这个团队的一些规则,就是这个团队的要和不要。
- 帮助这个团队找到明确方向,获取更多的业务输入,知道团队现状,然后定制团队日后的方向。
- 给团队中的每一个人找到自己的赛道,然后让每个人在业务支撑的过程中拿到业务结果和技术的积累,然后可以阶段性的到回报,可以是技术提升,绩效上的,或者是综合能力的提升。
问:你在研究自己性格探索自己的时候是怎么改变的?去挑战自己最大的恐惧,想问问你是怎么克服的?
- 当你真正意思到你自己必须去改变了,如果不改变未来就只有一个结果了,碌碌无为。
- 内心信念感和目标感有没有?如果你有一个去阿里的目标,那就从一个想法落实到行为这样一个改变。
问:多次听到需要 Github 的积累,一般是哪一些方面的积累呢?
- 文章和项目都是一部分
- 比如说 Github 上有很多一些面试的面经,大家都可以去刷一刷
- 但是上面的内容都是比较浅显的,都是需要我们在这个基础上做一些扩张和加上自己的思考
- 然后在项目中沉淀下来变成自己的东西,在通过自己的话说出来让别人你是真的有去实现过的
问:技术产出方面有没有自己的日计划,周计划或者月计划?怎么督促自己去学习的?
- 我自己的技术产出计划是跟着项目走的,比如说一个项目它的周期是一个月或者一个季度的情况下,那我就会在项目的最后的复盘阶段去做一些梳理,包括我在这个项目当中经历了一些什么,当初遇到的困难和一些知识点。最后以文档的形式记录下来。
问:女性开发者想转管理岗位,那么日常需要培养哪些方面,或者说有哪些一职业规划上的知道意见?
- 这个问题背后是女性比起男生的优势在哪里呢?女生是心更细的,女生在人上的感觉是更好的,在现在社会上没有绝对的男女之间的差异性哈。
- 如果说女性网管理岗位走,你要在管理岗位上解决什么问题?是带着这个团队去把商业行为给做好,首先你需要对这个业务的理解能力,需要做什么事情能让这个业务更好,走的更远,你需要一个什么样的团队,给团队提要求,需要什么人,这些人大概要什么样的水平。需要构建什么能力,搭建一个什么系统,最后能把这个业务描述出来。
- 这个只是当下的一个切面哈,然后长期往前走的时候,怎么把这个团队的人的战斗力提升起来,团队的技术选型是什么?团队成长空间在哪里?才能留得住人,或者才能招更多的人进来。
- 在事情上,切面后往前推进了,人往前推进,事也要往前推进。今天这个事情做的好不好,线上监控,反馈渠道,数据化,产品化的东西都要往前推进。
- 综合来看的话,我们发现往管理岗走,技术就可以放下了,这个其实是有个误区的。如果今天你的技术这块放下了,对业务的判断,对技术的判断,对团队成长的建议就可能会更不上。做管理也有阶段性的时候自己要针对性的去补知识。所以不建议做管理时过早的去放弃技术的。
- 今天在技术的基础上,要求做管理有更多的人上和横向的能力,像沟通能力,项目能力,对业务的认知能力等等。
问:现在前端技术日新月异,有很多知识学过之后又没有怎么使用,过了一两个月就基本上忘了,针对这种情况有没有什么好的建议?
- 这个是一个很好的问题,不只是对你们,甚至对我自己也是这样子的。
- 有的时候前端还是挺残忍的,发展那么快,学的东西那么多。
- 其实这个就有点像一个武器库一样,各式各样好的武器都有。今天一个好的前端工程师是不见的要把所有武器都需要会用的。
- 有几个建议:
- 当下你的业务,你的团队需要你拥有什么样的能力,那就先去练这一部分能力。为什么呢?因为这个能力不是空学的,因为空学太难了,是学了之后就能用的,可以投入实战的,通过实战结合业务去加强,很多项目中就可以用了,知识就真的变成自己的了。就不会学会了不能用,过一段时间就忘了。
- 结合兴趣和目标,比如说今天在做 React 的一些事情,但是我以后就一定要做游戏,我一定要去做 Node。如果今天你有带着这种目标感,带着这种个人兴趣去做想做的事情,那就做做开源项目,或者做做私人项目模仿着去做项目。肯定是需要去做去用的,不能只是理论。今天我们不能够什么都想学,或者贪多。最后发现什么都没有学好,我们一定要学好了就能用,结合着业务或者自己的兴趣去做的。
- 时间轴上的,一个人的精力是非常有限的,不可能什么都能做的很好。那是一定有取舍的,那么取舍就是当下阶段做什么,第二个阶段做什么,第三个阶段做什么,要这样一个方式去学。然后需要阶段性进行总结,看看最近学习的效果怎么样,如果有效果就坚持,如果没有效果就要复盘,找到为什么没有效果,一定要找问题。通过反思和总结才能知道从我强力意愿去学习到落地到行动,中间有没有变形,自己有没有真的去做到。
「四」推荐书籍
- 出版社:人民邮电出版社
- 作者:张容铭
- 推荐理由:此书以一个小白为视角,通过各种场景引出设计模式的使用,比较舍和刚接触设计模式的小伙伴。
- 出版社:人民邮电出版社
- 作者:Andy Clarke
- 推荐理由:“人会失败,会死去,但思想会永远留下来。”
“时间的流逝,并不影响本书对 HTML 结构、CSS 样式深刻理解和优雅应用的智慧高光。本书在代码的艺术思维及审美高度,并非 Well Done 而是更高阶的 Beyond。”
- 出版社:人民邮电出版社
- 作者:马丁·福勒(Martin Fowler)
- 推荐理由:“必须谨记,为代码建立必要的单元测试,怎么强调都不过分。 在提取方法时,对变量的处理需要慎之又慎,特别当方法体中存在多个变量,且需要改变其值时。 自以为是的技术高手常喜欢改动大段代码,而不是审慎地按照小步骤进行,这总是会给他们带来麻烦。”
- 出版社:人民邮电出版社
- 作者:[美] Allen B. Downey(艾伦·唐尼)
- 推荐理由:“贝叶斯思维让我们在开发或者思考为题上有更好的思维逻辑方式,学习统计方法能够让我们对问题/需求解耦,去整理思路是一个非常有帮助。”
- 出版社:中信出版集团股份有限公司
- 作者:[美] 朱迪亚·珀尔(Judea Pearl) / [美] 达纳·麦肯齐(Dana Mackenzie)
- 推荐理由:“是一本非常有价值和融合了非常多学科的书,从生物学到则学到计算机科学到人工资能都包含。锻炼我们的思维方式的。”
- 出版社:浙江人民出版社
- 作者:[美] 德内拉·梅多斯
- 推荐理由:“一本大智慧的书,教你用系统理论思考和分析问题。我很多年前度过一遍,虽然已经忘记了内容,但已永远改变了我。”
- 出版社:万卷出版公司
- 作者:罗伯特•B•西奥迪尼 (Robert B. Cialdini)
- 推荐理由:“不管是在生活还是工作当中,影响力的作用无处不在。合理地运用影响力,能够有效地促成合作,减少冲突,从而顺利高效地达到目标。《影响力》总结了打造影响力的几个关键因素,如互惠、承诺与一致、权威、短缺、喜好等。如果你在思索如何提升自己的技术影响力、团队影响力、组织影响力,那么,在本书中可能有你想要的答案。”
- 出版社:机械工业出版社
- 作者:Randal E.Bryant / David O’Hallaron
- 推荐理由:“前端是一个技能,不要把他当做一个角色,希望前端同学能够多掌握一些计算机系统知识,做一专多能的人才!”
- 出版社:北京联合出版公司·后浪出版公司
- 作者:[美]罗杰·费希尔(Roger Fisher) / 艾伦·夏普(Alan Sharp)
- 推荐理由:“只有“一把手”才能领导是职场最大的误区,只懂自己带人可以维持团队绩效,让每个员工都懂得带人才能成倍提升团队执行力!就算是神一样的管理者,也带不好猪一样的员工。培养员工的横向领导意识,促使员工主动参与团队建设,才能把整个团队拧成一股绳,爆发惊人的战斗力。”
- 出版社:中信出版社
- 作者:[美] L.大卫·马凯特
- 推荐理由:“领导力是一种释放人类才智和潜能的艺术。你也许可以通过金钱、职位、权力或胁迫获取某人的支持,但是才智、激情、忠诚和顽强拼搏的精神只能建立在个人意愿的前提下。无论你处于组织系统的哪个位置,你都需要阅读本书。”
- 出版社:南海出版公司
- 作者:[美]芭芭拉•明托
- 推荐理由:“介绍了一种能清晰地展现思路的高效方法,是训练思考、使表达呈现逻辑性的实用宝典。金字塔原理能将零散的观点有序组织起来,化繁为简,适合所有需要精进思考、分析、表达能力的读者。”
- 出版社:吉林文史出版社
- 作者:[美] 斯科特·派克
- 推荐理由:“人生会有很多磨砺,是一个不断修炼的过程。如果你是一个渴望成熟的人,或者正在遭遇人生的挫折,那么你可能会需要这本书。”
「终」总结
编写这边文章的同时,我回去反复看了大会的所有录播和 PPT。发现看第二遍的时候获得了额外的收获和惊喜。有一些第一次听的时候没有 get 到的信息和知识,第二遍,第三遍的时候突然就浮现了。事实证明这次的 15 位讲师给我们带来的分享真的是有非常高的含金量。
重新认识自己
通过这次的大会,我明确找到了我和技术专家的知识和认知差距,也知道自己还有很多的不足,但是现在的我明确知道自己需要的是什么,想往哪里走。
之前的自己过于执着与学习,看到新的技术和东西就迫不及待的去挖掘和实现。往往就忽略了什么才是自己真正热爱和想深挖的领域。从中就很容易迷失了自己的方向和消磨了自己有限的精力。
甚至是技术以外的技能都是非常值得我们重视的,在这个大会中,“思辨”、“思维”、“思想”、“沟通”、“复盘”、“要性”、“原理”等知识都是被反复强调的。
我们日常中也要实时的与业界保持密切的关注与思考,不能随便追捧和跟风。建立独立的思辨能力,强大的独立思维模式和空间。知识吸收到自己的体内后需要有独特的输出才真的是学会了一样东西。
此刻的自己需要改变、坚持学习和沉淀自己。实力还需要继续稳步提升,让自己全速前进。望有一天能变得更优秀并且拥抱更大的挑战!
我是三钻,一个在技术银河中等你们一起来终身漂泊学习。
点赞是力量,关注是认可,评论是关爱!下期再见 👋!
推荐专栏
小伙伴们可以查看或者订阅相关的专栏,从而集中阅读相关知识的文章哦。
📖 《据结构与算法》 — 到了如今,如果想成为一个高级开发工程师或者进入大厂,不论岗位是前端、后端还是 AI,算法都是重中之重。也无论我们需要进入的公司的岗位是否最后是做算法工程师,前提面试就需要考算法。
📖 《FCC 前端集训营》 — 根据 FreeCodeCamp 的学习课程,一起深入浅出学习前端。稳固前端知识,一起在 FreeCodeCamp 获得证书
📖 《前端星球》 — 以实战为线索,深入浅出前端多维度的知识点。内含有多方面的前端知识文章,带领不懂前端的童鞋一起学习前端,在前端开发路上童鞋一起燃起心中那团火 🔥