如何面试候选人-前端早早聊笔记
站着面试官的角度考虑应聘策略
额台-如何考察候选人的能力与潜力
基本要求
- 层级
- 校招 P5
- 社招 P6 起
- 工作年限与稳定性
- P6 要求工作 2 年及以上
- 稳定性: 5 年不能跳槽 3 次以上
- 如果确实跳的多, 有可能是
- 职业规划不清楚
- 团队协作/业务落地有问题
- 心态浮躁
- 如果确实跳的多, 有可能是
- 面试记录
- 在阿里体系内所有面试都会有面试记录
- 半年内如果有非常不好的记录, 会受影响
- 不要随便面试, 不要留下不好的记录, 避免影响到后续
- 专业及职业经验
- 是否对口. 擅长方向是否和岗位相关----这时可能会选择转推荐/拒绝
层级标准
- P5
- 计算机技术的基础. 思考问题和表达问题的思维方式.
- 尝试据此判断未来地潜力
- P6
- 一般会招 P6+, 即, 招进来之后, 好好培养, 一年内能够升到 P7
- 资深工程师, 解决问题的能力
- 你做过什么事, 你解决过什么问题, 怎么解决的, 解决完成后沉淀了哪些东西
- P7
- 技术专家, 深度, 广度, 是否可以综合深度广度能体系化的解决一系列问题/大问题
- P6 => 解决前端复杂问题的能力
- P7 => 结合整个技术链路(前端+后端+其他), 体系化的思考架构/技术选型/解决工程化问题
- P8
- 高级专家, 前瞻性, 业务思考, 领导力
- 要求会比较虚
- 前瞻性思考, 怎么通过技术推动业务来解决业务的问题
- 对团队在技术, 在职业上有足够强的领导力
能力与潜力
- 如何判断候选人经历/经验
- 重点问候选人最近二三年最近在做什么事情, 做什么项目.
- 期望候选人重点描述所做的产品
- 业务模式是什么
- 产品结构是什么
- 背后的整体技术架构是什么
- 你在这里边你的位置, 你做了什么事情
- 结合回答往内挖
- 例如, 如果说做了一套可视化搭建系统, 可能会继续往里问候选人在这里
- 遇到了什么问题
- 解决了什么问题
- 沉淀了哪些东西
- 挖的过程中肯定会遇到候选人没考虑到的情况: 假设, 我给你提了一个 XXX 要求, 你要怎么实现它, 怎么考虑技术的架构或方案
- 观察候选人如何思考问题, 怎么分解, 怎么找到中间的关键点, 结合关键点怎样设计技术架构, 怎么推动落地. 推动落地的过程中, 如何处理质量/效率/团队协作的问题
- 例如, 如果说做了一套可视化搭建系统, 可能会继续往里问候选人在这里
- 如何在面试中判断潜力(二面)
- 面试前会先看面试记录, 如果已经面过的问题, 就不会再提问
- 换言之, 面试记录中要有: 提了哪些问题, 候选人回答的情况如何
- 会按候选人高一档的标准去问问题(例如, 第一面定级 P6, 那么按 P7 的标准提问)
- 一方面挖掘候选人是否可能能到下一个层级.
- 另外, 通过超出他本身经验和能力的问题, 考察他思考未知问题的思维方式. 来判断他往下一级的潜力
- 面试前会先看面试记录, 如果已经面过的问题, 就不会再提问
- 定级
- 一般充分尊重前一个面试官的定级
给应聘者的信息与建议
- 招聘及面试流程
- 如何最高效的投递简历
- 分析 jd
- 从 jd 中, 分析关键词
- 这个岗位是做什么的, 他要求什么能力, 要求什么经验
- 是否和能力契合
- 从 jd 中, 分析关键词
- 投递简历
- 内推/有人背书, 直接给到团队主管, 会更有针对性
- 找到岗位后, 最好找相关人帮你推荐
- 分析 jd
- 如何准备面试
- 把之前基础能力/经验要做充分的梳理准备
- 之前做了什么事, 沉淀了什么经验
- 面试过程
- 自我介绍时要互动, 讲面试官感兴趣的部分, 不要拖沓. 要和面试官进行充分的沟通和互动
- offer 的选择
- 判断哪个部门/职位对未来的职业发展更契合.
- 和部门主管聊聊, 了解清楚
- 这个部门是做什么的, 这个业务当前的情况如何, 未来会如何
- 进来之后我的职责是什么
- 我未来一年/三年, 您对我的期望是什么
- 确认之后, 慎重的做新职业的选择
- 判断哪个部门/职位对未来的职业发展更契合.
荐书
- 系统之美:决策者的系统思考
- 大智慧, 用系统理论思考和分析问题
- 大的系统如何分解成小系统
- 系统间的关系(正反馈/负反馈), 如何评估一个系统
- 教授思考方式, 如何将复杂问题抽象成小问题, 系统性的思考和梳理问题, 做出最佳决策
- 分享者多年前读后, 虽然已经忘记内容, 但永远的改变了分享者
- 大智慧, 用系统理论思考和分析问题
Q&A 环节
负责的这么多方向, 精力如何分配. 每个方向深入到哪个阶段, 是业务架构还是模块代码
团队 leader 有两个事情比较重要:
第一件事: 为团队找到方向, 打开足够的空间. 只有帮团队向上打开了足够大的空间后, 下边的小同学才能朝着这个方向发展才有更大的空间和机会.
这样就涉及: 1. 对业务的判断. 你要知道技术的核心价值, 要往哪走. 2. 向上管理, 要搞定老板, 搞定业务方. 来帮团队找到事情, 划好地盘.
第二件事: 要让团队的每一个同学能找到位置, 能好好地做事, 并且做的事情能得到公平公正的回报.
最近比较忙, 因为有业务融合, 需要把融合来的另一个团队的事情搞清楚. 和各种业务方/老板去聊, 融合后未来一到两年怎么发展. 基于发展来设计团队的核心事项, 以及团队同学需要朝哪个方向去发展.
等业务团队比较稳定了, 会关心团队的技术方向落地的计划是什么样子, 中间的技术方案是什么, 我们怎么去帮助技术方向找到落地场景.
个人分配不是固定的, 会基于前面两个原则, 进行动态调频
阿里 P7 的能力, 需要有哪些具象的要求, 需要做哪些事情
第一
对 P7 的要求: 技术开发的核心骨干. 一定要写代码, 写得好, 写得快, 这是最基本的要求
第二
在本专业的技术深度要足够, 对上下游, 或者相关的技术广度, 对他们的理解, 对它的工作方式, 工作原理要比较清楚. 结合了深度广度之后, 具象能力就是: 如何分析一个综合性的问题. 例如: 复杂系统中, 前端和服务端/客户端/其他相关方, 你的技术方案, 怎么设计, 系统的效率最高, 投入产出比最高, 大家的分工协作效率最高, 质量最高.
在某一个具体问题上, 例如多端输出, 可视化搭建, 复杂的前后端表单系统业务. 方案设计, 方案中间的细节(技术的具体选型, 选什么型, 技术选型间的区别和适应性), 要能够理解.
第三
这个事情要落地的话, 怎么驱动团队同学, 或上下游, 让大家一起好好配合. 例如单元测试/数据解耦让其可以好好落地
第四
系统量级有了变化后, 如何应对系统的变化
系统有多少用户, 数据量有多少, qps 有多少 => 直接影响技术判断/思维方式
伐薪-如何考察候选人的能力与潜力
我们为什么要招人
大纲
- 招聘驱动来源(从最基本到最高)
- 最基本:资源
- 业务需求繁重,招聘干活的人
- 踏实认真
- 技术过关
- 也可能招低 P/外包解决
- 业务(P6+/P7)
- 招聘骨干: 寻找能和业务方良好沟通并且发现机会
- 好奇心
- 沟通能力
- 想象力
- 技术
- 寻找某个技术领域的专精者
- 技术热情
- 专注度
- 严谨度
- 独立思考
- 文化
- 寻找有横向能力的人
- 做技术运营
- 做技术发声
- 将团队正在做的东西宣传出去
- 组织能力
- 热爱生活
- 感染他人
- 寻找有横向能力的人
- 发展(要求是最高的)
- 破局/开拓/未来的人
- 未来观
- 全局观
- 最基本:资源
要求详述
以下基本要求过关, 至少能到二面三面
- 技术过关: 代码测评
- 思路是否合理(有没有将简单问题复杂化)
- api 是否熟悉
- 有没有考虑边界条件
- 30 分钟之内想做出来不容易
- 是否踏实
- 被动跳槽还能讨论
- 主动跳的话: 一年一跳, 很可能是有问题的
- 认真
- 细节是否注意
- 在某一块领域是否专注
进阶要求:
- 是否有好奇心
- 大部分都是业务, 开发者是否关心业务
- 做事情时, 有没有考虑到背后的业务流程是否合理, 需求的背景是什么
- 能否识别到业务背后的背景
- 示例
- 京东:新通路同学来面试(向便利店供货, 为便利店提供货源), 会问以下问题
- 背后的品牌商如何入驻
- 小店通过什么系统采购京东的货品
- 京东能为小店提供什么服务
- 应收是如何做的
- 目前遇到了哪些困境
- 如果一个有好奇心的人, 除了做业务需求, 还是会关注这些问题
- 沟通能力
- 做业务团队, 大部分是要跟运营/产品沟通, 所以沟通能力也很重要
- 沟通能力不行, 没法推事情
- 想象力
- 能否想象到业务中的机会
- 例如今年新冠疫情期间, 线下展会能否放到线上. 如何把工厂的业务流程搬到线上
- 产品: 工厂直播
- 厂房: 通过 VR 展示, 通过全景方式数字化, 搬到线上
- 然后才会有技术驱动业务的机会
- 技术驱动
- 技术热情
- 对某一块领域的专注度, 严谨度, 独立思考(是因为风口才研究, 还是确实关心. 看到了这个领域对整个前端的驱动才去做)
- 文化驱动
- 组织能力
- 能否带动人去搞事情
- 热爱生活
- 是否有自己的爱好, 能否自带人格魅力(让别人觉得像一个小太阳一样)
- 组织能力
- 破局者
- 未来观(对历史/未来的判断)
- 对未来有没有思考
- 对自己的职业是否有规划
- 对前端发展的判断
- 对前端发展历史是否有自己的理解
- 全局观(空间感)
- 你对自己的事情, 全局的定位是什么.
- 未来观(对历史/未来的判断)
我要招什么样的人
我对候选人和团队的要求
反面(会回避这种人)
- 只想安静编码,不关心业务、团队和公司,只想做自己
- 喜欢的工作,而不是业务或组织需要的事情
- 需要能为公司产生商业价值
- 不要搞屠龙之技
- 没有专注的领域或者业余爱好(定力和专精度)
- 能力的复制:
- 只要有一块能做得好, 证明有机会迁移到其他领域
- 优秀的人的特质是能迁移的
- 能力的复制:
- 把工作仅仅当做一份差事,而不是事业,缺乏自驱
- 没有终生学习意识和好奇心的人
正向
- 新人能折腾,老人能扛事
- 好奇心,学习能力,人才培养和招聘能力
- P7->P8
- 重要产品和项目的 PM 及产品负责人
- 在 CBU 技术部有较大影响力
- 能承担技术部级别技术或业务项目
- 在某一个领域有集团级独树一帜的研究和落地
- P6->P7
- 在大团队(50~100 人)有没有影响力
- 你做的东西能不能分享到团队以外, 能不能被其他团队的人用
- 某块领域(技术、业务或综合)有钻研
- 在 CBU 前端及合作伙伴有较大的影响力
- 有产品或技术领域能辐射到团队外部
- 业务⻣干,合作方口碑好
- P5->P6
- 有冲劲和惊喜
- 有技术特色,爱专研,有小产出
- 有没有冲劲
- 有没有小的惊喜
- 有没有技术特色(喜欢钻研那一块, 有没有捣鼓出一些东西)
如何发掘人才特质
- 技术热情如何考察
- 保安三问(灵魂拷问)
- 你是谁
- 你从哪里来
- 你要到哪里去(职业规划/体现对技术的理解)
- 示例: 校招时提问: 你为什么要做前端
- 可以考察出:你对前端领域是真的热爱, 还是只是觉得好进一点/门槛低一点
- 分享精神
- 如果真喜欢前端, 一定是会做一些小东西
- 比如写一些博客, 小工具, 小项目, 小 demo
- github 小项目
- 保安三问(灵魂拷问)
- 好奇心如何考察
- 业务理解
- 为什么要做这个事情
- 整个业务流程是什么
- 这个项目在部门中大的定位是什么
- 份内之外
- 业务理解
- 专注度如何考察
- 深耕领域
- 跳槽频率
- 有无⻓期的爱好
- 技术上的爱好(Go/Python/函数式编程)
- 严谨度如何考察
- 代码测评
- STAR 面试法则
- 情境(situation)、任务(task)、行动(action)、结果(result)
- 热爱生活如何考察
- 业余爱好
- 独立思考如何考察
- 会问一些为什么的东西
- 例如: 候选人说自己做的是安全系统的行为监控, 如何打点/回放用户在系统上的操作
- 故提问:
- 你做这个事情的目的是什么, 一个黑客如果真要供给系统, 它的行为是否能被这个系统监控到 -> 考察独立思考的能力. 如果偏执行就答不出来
- 候选人回答:
- 这个是监控不出来的. 因为黑客要攻击你的系统, 都是通过后门或底层的东西去扫描注入. 不可能靠人肉点击, 在界面上留下痕迹. 这个功能主要是发现产品上的体验问题
- 思辨精神
- 业务价值
- 会问一些为什么的东西
- 感染力、激情如何考察
- 听
- 一个有感染力, 激情的人, 一听就能听出来, 明显会很有精神
书籍推荐
深入理解计算机系统
前端是一个技能,不要把他当做一个角色,希望前端同学能够多掌握一些计算机系统知识,做一专多能的人才
Q&A
招聘过程中对跨行业面试会如何看待
看潜力和对技术的理解层度----看技术热情. 业余转行的话, 平常是怎么学习的, 平时有没有记录学到的知识, 甚至有没有进行分享. 看是不是对前端是真爱
面试过程中, 面试者一般会提出哪些方面的反问. 提什么问题可以增加好感, 促进相互了解
不要问技术点. 因为是可以去查到的
希望能问一些, 和业务相关的. 比如, 你负责的业务目前是怎么一个情况, 你团队现在规划的方向是什么, 这种开放性的问题
或者问, 有没有一些建议给他
不要问: 你觉得我这次能不能过----没什么意义
贵重-如何考察候选人的能力与潜力
做充分的准备, 投递合适的岗位
招聘理念
招(找)人是 leader 的事情. 为了找人, 会经常去脉脉上找人
- Leader 的三 R
- HR(招聘,建团队)
- PR(团队结果被⼈感知, 提升团队在整个集团/BU 的影响力)
- GR(关系处理, 跨团队协同)
- 数据成果
- 1000+社招简历筛选
- 50+社招复试通过(二面)(粗算面试通过率 5%)
- 240+校招面试
前端招聘全流程
- 寻找候选人
- 外部渠道
- 内部推荐(更受重视, 能够第一时间安排面试)
- 内部转岗
- 内部人才系统
- 定向挖掘
- 评估候选人
- 工作经历
- 关注跳槽频次
- 一年一跳就不合适
- 因为希望看到候选人在岗位上的沉淀, 一定要花一定时间才能完成沉淀, 时间太短没有结果
- 关注跳槽频次
- 学历背景
- 过往面试反馈
- 作为一个参考
- 工作经历
- 面试候选人
- 核心
- 技术能力和组织影响力
- 关键贡献和结果
- 技术价值与业务判断
- 扩展
- 综合素质
- 动机和意愿
- 是否认同钉钉最近在做的事情
- 潜力
- 核心
- 吸引候选人
- 2B 市场价值
- 钉钉价值
- 团队价值
- offer 价值
- 个人成就
- 候选人入职
- 体检
- 背景调查
容易被忽略的面试原则
- 面试是双向选择的过程
- ⾯试官视⻆考察候选⼈
- 候选⼈视⻆看到是⼀个公司的形象代表
- 候选人也在考察集团
- 切忌和候选⼈⽐拼知识技能
- 知识技能和每个⼈的经历关系很⼤,考察其能⼒,同样考察其学习能⼒
- 展示⾯试官⾃身技能并⾮⽬的
- 招聘是我们找未来的同事
- 回答问题陷⼊困局,不妨点拨他下,想⼀想团队同学遇到不会的问题你会怎么做?
- 如果可过可不过的话, 为要不要通过犹豫时,要考虑愿不愿意和他并肩作战
- 要发现候选⼈会什么,⽽不是候选⼈不会什么
- 他会的,能否为我们所⽤,是我们所需要的
- 它的能力能否帮助到我们的业务
- 候选⼈怎么"说"不要重要,怎么"做"才重要
- STAR
- 问题背后的问题(Question Behind Question)
⾯试候选⼈⾯什么
- 硬实⼒
- 代码
- 架构
- P7
- 能够解决复杂的问题
- 能够定义一个问题
- P7
- 软实⼒
- 学习能⼒
- 沟通、协作、组织能⼒
- 在阿里, 往往有多个团队在做同样的事情, 关注能否快速拿结果
- 这里沟通/协作/组织就很重要, 并形成产出(快速拿到结果)
- 聪明
- 业务理解和判断能⼒
- P7/P8
- 要了解所在的业务, 能够判断今天业务的痛点在哪里, 市场在哪里
- 以及我们今年的目标, 业务的一张图是什么, 整个业务的策略是什么, 然后再回到技术的一张图, 技术的策略
- P7/P8
- 动机和意愿
- 潜⼒
- 背景
- 看到其厚积,等待薄发
- 厚积: 过往所做的项目本身有很多积累, 只是限于他所在的团队/环境/业务导致其没能得到充分的发挥.
- 所以在面试官当前所在团队能够给他空间去发挥, 可以等待发挥
- 技术热情
- ⾃我学习、⾃我管理、⾃我驱动
⾯试⽅法论-STAR+QBQ
- STAR
- Situation:事情是在什么情况下发⽣的
- Task: 你是如何明确你的任务的
- Action: 你采⽤了什么⾏动⽅式
- Result: 结果如何,你学习到了什么
- Question Behind Question
- 考察的重点不是他/她怎么说,重点是他/她怎么做
STAR+QBQ 示例
- Situation
- 你做过这个 X 项⽬,项⽬的背景和要求是什么?
- 可以随便问: 你最有成就感/骄傲/最成功/最失败的项目是什么, 选定项目
- 你做过这个 X 项⽬,项⽬的背景和要求是什么?
- Task
- 问题
- ⾥⾯最有挑战的三个点是什么?
- 为什么这些会是挑战?
- QBQ
- 总结能⼒: 有没有将项目涉及到的东西总结出来
- 系统性思考能⼒: 有没有系统性的思考
- 问题
- Action
- 问题:你当时是怎么解决的?
- QBQ: 总结能⼒/系统性思考能⼒
- 查看解决问题的复杂度如何. 避免项目结果很好, 但他在其中只是负责打酱油这种情况
- 真实是有灰度地带的
- 要看他到底是什么角色, 以及他是怎么解决这些问题的
- Result
- 问题
- 结果是什么?你从项⽬中得到了什么/学到了什么
- 他取得了什么样的结果, 这个项目因为他而有什么样的改变
- 如果重做⼀次,你会怎么做
- 结果是什么?你从项⽬中得到了什么/学到了什么
- QBQ:
- 总结能⼒
- 反思和⾃省的能⼒
- 问题
例子: 某一个候选人, 每次做完一个项目, 回去想哪些工作是可以用工具替代的, 哪些是可以沉淀为系统, 哪些可以沉淀为机制, 最后带来整个效率的提升
而不是: 我今天做了一个项目, 明天又做了一个项目, 成为流水线上的力工
鼓励做总结, 写文章, 进行分享, 和业界同行进行交流
设计 STAR
根据候选⼈的经历/背景来设计 STAR,过程中可以再加新的 STAR,通过完整的 STAR 了解问题背后的/简历中没有体现的信息(例如候选⼈本⼈的贡献是什么, 是不是真如简历上所说的负责人/架构师. 如果确实如此, 那么候选人到底架构了什么, 负责了哪些, 这个项目因为他的改变是什么. 最终反映出候选人有哪些能力)
谨防假的 STAR
其他⾯试问题参考
- 你离职后团队会有什么影响?
- 看重候选人在团队中的角色, 重要性如何
- 候选人在团队中为什么重要, 重要性体现在哪些方面
- Code Review 你最看重什么?如何保障?
- 对技术的判断
- 更关注代码的哪些方面.
- 如果真的很看重这些方面, 候选人为此做了什么
- 能够作为一个引子, 通过详谈了解候选人的价值观/偏好, 关注的重点
- 你的朋友或者同事是怎么评价你的?
- 你怎么激励你的团队成为更好的团队?(⾯向 TL)
- 请分享⼀次团队任务陷⼊僵局或遇到困难的情况,当时你是如何扭转局⾯、推动进展的?(P7 候选⼈)
- 请举⼀个你通过协调各⽅资源,有效推进⼀件事情的例⼦。
- 请你分享⼀次最让你印象深刻的受到批评的事件?在这个过程中具体经历了什么?
- ⽬前为⽌,你坚持做得最久的事情是什么?
能⼒要求和评估模型
岗位 | 技术能⼒及组织影响⼒/专业知识 | 技术实现 | 业务理解 | 关键贡献及结果 | 技术价值和业务判断 |
---|---|---|---|---|---|
资深前端开发(P6) | 知识全⾯ 1. 全⾯了解前端知识体系 2. 掌握⽇常开发所涉及的前端知识(开发语⾔、标准协议、⼯作原理、⼯程⼯具、前端框架、⽤户体验等) 3. 能够辅导新⼈ |
能提效、可复⽤ 1. 能通过开发或引⼊效率⼯具来提升团队效率 2. 能提炼可复⽤组件,为组件库贡献⾼质量的代码 |
可对话 1. 能理解业务的主要规则和背后逻辑. 能够和产品对话, 而非产品提什么需求就做什么, 而是知道在一段时间内, 产品整个实现的路径是什么 |
独⽴负责多个技术模块, 并可参与团队内或跨团队项⽬ | 对业务、技术有局部性优化/驱动 |
前端技术专家(P7) | 知识专精,领域专家 1. 精通⾄少⼀个领域的前端知识体系 2. 掌握常⽤的设计模式 3. 精通常⽤框架的设计原理,能合理运⽤ 4. 具备部⻔级影响⼒ |
能定义并解决技术领域问题(或)推动/主导某领域技术变⾰(新技术落地, 例如 web 版到桌面版),系统化解决问题,为业务价值增值 | 可影响 1. 能理解业务的市场竞争和客户诉求,能准确判断其业务价值。 了解业务的一张图是什么, 怎么通过技术来影响业务. 能够判断业务的痛点, 找到解决办法. |
创新技术可以为他⼈复⽤(或)可领导跨团队合作项⽬ | 考虑技术投⼊产出⽐(ROI), 什么不做, 什么做;哪个先做, 哪个后做 |
如何判断候选⼈对技术有没有热情
- 对 Coding 这件事情有独到的⻅解和坚持
- 是实现功能, 还是花很长时间优化代码(并拿到好的结果)
- 解决有挑战的技术问题后的⾃我满⾜感
- 是业务拿到了好的结果, 还是找到了业界之前没有的, 特别好的解决方案, 并与身边人分享
- 面试时也可以问: 解决过哪些有挑战的技术问题, 挑战在哪里, 是怎么做的
- 对技术有好奇⼼,关注技术演进,积极实践
- 关注完之后, 能否和当下的工作进行一个结合
- 研习源代码,梳理和总结,改进⾃⼰的编程能⼒
- 技术的精进, 包括看一些有设计模式的书
- P7: 了解整个代码设计背后的原则, 如果再做类似的设计, 会如何处理
如何判断候选⼈有没有潜⼒
- 学校和学历背景
- 对技术充满热情,但限于环境/团队/平台限制了发挥
- 具备体系的思维,回答问题具备深度
- 能否对面试问题进行结构化的表达
- 而非讲到哪儿算哪儿, 没有主干/准备的不够充分
- ⾼效学习+积极实践
- ⾃我要求⾼,良好的习惯,⾃律
- 有清晰的⽬标和实现路径
- 未来三年/五年的规划, 是否清晰
- 对事情的取舍上, 价值判断是什么样的
书籍推荐
横向领导力
推荐给候选人: 不是主管,如何带⼈成事
授权
如何激发全员领导⼒
- 第一阶段
- 领导者-分配工作
- 第二阶段
- 领导者-追随者
- 因为相信/信任你做的事情有价值所以追随
- 工作核心: 把控方向, 分解任务
- 第三阶段
- 领导者-领导者
- 怎样让团队有自驱力
- 怎样挖掘潜力
剑宗-如何考察候选人的能力与潜力
面试总结
- 通过者-优势特征
- 专业技能扎实
- 主人翁意识
- 不仅是完成任务本身, 还会从合伙人心态去看待事情, 主动花心思去思考, 去推进, 拿结果
- 结果明确突出
- 比如性能优化提升了多少数据
- 总结与规划
- 有阶段性的复盘和思考, 通过阶段性的提炼和总结, 让自己不断提升, 然后再设立新的目标, 进行新一轮的循环
- 未通过者-共性问题
- 专业基础不够
- 缺少方法论
- 不知道怎么制定成长计划来提升自己, 或者在公司里不知道怎么成为一名明星员工, 把自己做好
- 结果不明显
- 做事情比较重复, 整体挑战和复杂的不够
- 思考不足
- 大部分工作状态只是完成老板交代的任务, 对自己的业务,团队, 对技术很少有自己的思考
招聘流程
- 简历筛选
- 过去有成功经验的会直接通过
- 成功经验指
- 有大厂经验
- 学校比较好
- 项目挑战度/结果比较亮
- 成功经验指
- 代码评测, 看一下候选人的代码基本功和解题思路
- 过去有成功经验的会直接通过
- 技术一面
- 专业基础
- 专业能力
- 专业水平
- 项目的复杂度如何
- 在项目中到底做了什么事情, 在里面解决了什么问题, 他平时考虑的场景是什么样子
- 项目经验
- 专业基础
- 技术二面
- 综合素质
- 软能力: 除代码以外, 沟通/做 PM 的能力
- 匹配度情况: 擅长的和团队需要的是否匹配
- 人才发展(T 字型人才)
- 长短版
- 是否有明显的短板, 会不会影响他做事情
- 自己擅长的, 有深度的地方在哪里
- 整体的管理成本
- 长短版
- 综合素质
- 技术三面
- 人才特质
- 考察未来潜力如何
- 入职后未来两年三年, 可以给公司/部门带来什么样的突破
- 场景突破
- 人才特质
岗位剖析
- P6-记到这里了
- 概要
- 独挡一面、辅导团队
- 特征
- 独当一面
- 技术本身比较扎实, 拥有良好的基础知识及运用能力, 能够独立的负责一块业务.
- 并且, 对业务和技术有局部的优化和驱动. 不仅是把事情做了, 期望有一些额外的想法, 能够把事情优化或者驱动出来.
- 辅导他人
- 在专业领域有辅导他人的能力
- 独当一面
- 概要
- P7
- 概要
- 领域专家、影响团队
- 特征
- 知其所以然
- 专业领域影响力
- 跨部门领导项目
- 详述
- 技术上是某个领域的专家, 主导对应的前端架构设计, 拥有系统化的思维
- 能定义和推动解决该领域的问题, 最终拿到结果.
- 在这个领域里, 能够发现有什么问题, 能够解决什么样的问题, 带来什么样的价值.
- 概要
- P8
- 概要
- 领域突破、业务增值
- 特征
- 领域前瞻性
- 业务创新
- 统筹规划
- 详述
- 核心业务/核心技术的负责人
- 拥有创新思维/全局意识
- 能够识别业务中的核心问题, 突破现有框架, 有效的解决问题并实现业务增值
- 业务增值
- 通过技术能不能给业务带来增量, 带来突破
- 概要
应聘建议-怎么提升前端技术
职场面试准备和学校考试准备有什么区别,要怎么做
-
主要区别在于面试官, 会根据具体情况针对性的进行提问.
-
考试时千人一面, 面试时会看这个知识点到底掌握的怎么样, 会进行细问.
-
所以只靠死记硬背, 多刷面试题目/文章是不够的, 很容易就被问出来. 对工作也没有实际帮助
-
刨根问底
- 对于单点知识, 要刨根问底, 进行深入的研究和思考, 掌握它的研究和本质, 多问几个为什么
-
触类旁通
- 把相关知识点进行融合汇总, 得到全面的理解
- 比如 BFF 解决方案, 各公司的 BFF 方案有什么共同点和区别, 他们是怎么做的取舍
- 这些问题单个看没感觉, 但合并到一起看, 就很不一样, 可以加深自己的理解(类似整理面试攻略. 看一篇两篇没有感觉, 但多收集几篇, 会发现有些点被反复强调, 有些点则只有几个面试官会零散提到. 则反复强调的点就是重点对象)
-
点线面体
- 逐渐有系统化, 全面性的总结与思考
按以上三步做, 会非常花时间. 因此需要日常养成习惯, 而非面试前现准备.
第一条线会非常困难麻烦, 但随着了解深入, 会逐步轻松, 同时自身前端技术也会有系统性的提升
剑宗 11 年入职阿里, 面试前花了三个月时间, 将前端知识做了体系化的梳理
应聘建议-怎么成为明星员⼯
- 什么是明星员工
- 在公司表现比较突出的员工
- 能力属于拔尖, 中流砥柱, 能够解决业务中的核心问题
- 个人在团队中影响力较大, 比较有话语权
- 也是其他员工的标杆和榜样
- 特征
- 客户第一
- 确保我们在做正确的事情
- 需要知道自己的目标客户是谁
- 确认客户是谁
- 可以帮客户解决什么问题
- 如果客户是用户的话, 那么
- 我们能给用户带来什么
- 高效的开发
- 维护好我们的业务产品
- 确保业务的稳定性/质量/扩展性/性能/用户体验
- 需要思考现有的技术架构除了满足现有业务发展之外, 也要充分考虑未来业务发展的需求
- 对业务的充分了解和规划都是工作的重要内容
- 我们能给用户带来什么
- 如果是团队管理者
- 那么需要关心团队成员的成长
- 在开发维护的过程中锻炼同学的各种能力
- 专业技术能力
- 执行力
- 沟通能力
- 时间管理能力
- 项目管理能力
- 推动力
- 规划力
- 帮助他们通过工作进行迅速成长
- 如果是写了组件/维护的文档/开发的工具, 需要考虑
- 目标用户是谁
- 能否快速上手, 上手门槛有多高
- 东西好不好用
- 是否解决了用户的问题
- 站在客户的角度想问题
- 反例
- 做体验优化,
- 询问用户在产品流程中的核心痛点是什么 => 不知道
- 做工具
- 是否知道使用者的情况 => 不知道
- 做体验优化,
- 合伙人心态
- 做事情是当作事业(老板心态), 还是当成任务(打工心态)
- 如果是老板心态
- 会先办法提升自己/团队的
- 效率
- 开发成本
- 公司成本
- 关心用户
- 提升用户的性能/使用效率
- 让用户在这个地方用的更爽, 而非把事情做完, 差不多就行
- 关心业务, 从自身角度出发产生一些主动/创新的行为
- 会先办法提升自己/团队的
- 对应面试中
- 除了老板安排的事情, 你额外有什么思考, 额外做了什么事情
- 若是打工心态, 长期维持后可能会缺乏
- 创新的想法
- 成本观念
- 质量意识
- 对业务线的长远规划
- 追求卓越
- 不断走出舒适区
- 不断突破自我
- 同样的事情, 第二次做的时候提升在哪里
- 不要一直重复
- 突破的角度
- 能否通过抽象/复用来提效
- 能否通过工具解决问题
- 业界有没有更好的解决方案
- 视野扩大: 同样的问题其他地方有没有遇到, 非本行业之外, 有没有对解决同类问题的诉求.
- 他们是怎么解决的.
- 如果他们有好的方案, 我们是否可以尝试引入
- 一定是想办法去解决问题, 而非被问题解决掉躺地上了
- 对人而言
- 怎样让效率更高/性能更快/体验更好/工具更好用
- 客户第一
应聘建议-⼈才特质
阿里人才的特质(说明, 优秀人才的特质是差不多的, 阿里是这种, 谷歌也类似, 政府选择官员标准也差不多----很难想象逆着这些标准来)
- 聪明
- 智商
- 做事的基础
- 快速学习能力
- 方法论
- 专业性
- 做事的基础
- 情商
- 同一团队/上下游关系中展示的与人相处的能力
- 在与人的合作中如何彼此成就, 互相共赢
- 智商
- 皮实
- 抗打击能力
- 遇到困难/压力很大如何快速自我调节, 走出挫折状态
- 经得起折腾
- 乐观
- 对生活保持开放的好奇心和充满乐趣, 不要未老先衰
- 历久弥新, 愿意看到新的东西, 新的机会
- 在充分客观理解当下真实情况之下, 仍然充满好奇心和向上的精神
- 自省
- 对自己进行总结反思
- 不要因为忙碌而拥有安全感, 而是停下来看看, 这种忙是值得还是不值得, 有没有做一些重复的事情, 或者有没有捷径可走
- 学会偷懒(偷懒是有技术含量的)
应聘建议-表达
- Situation
- 背景/挑战/困境
- 为什么要这么做, 遇到了什么样的困难
- Task
- 目标/策略/计划
- 要做什么, 要达成什么样的目标
- Action
- 有细节/过程改进
- 事情的细节和过程, 具体做了什么事情, 突出了你的什么能力
- Results
- 业务结果/技术结果
- 整个数据可感知, 最后取得的成绩是什么
书籍推荐
- 人生会有很多磨砺,是一个不断修炼的过程。如果你是一个渴望成熟的人,或者正在遭遇人生的挫折,那么你可能会需要这本书。
Q&A
女性开发者想转管理岗位, 日常需要培养那些方面, 或者有哪些职业规划上的指导意见
- 女性相对男性的优势在哪里
- 心细/在人际上的感觉可能会更好
- 管理岗要解决什么问题
- 带着团队把行为给做好 => 那么需要有对业务的理解能力.
- 了解业务里需要做什么事情能让业务更好, 走的更远, 需要一个什么样的团队
- 组建团队的要求
- 需要什么样的人
- 这些人他大概是什么样的水平
- 需要构建哪些能力, 做什么样的系统
- 长期向前走的时候, 如何把团队成员的战斗力提升起来, 团队的技术选型是什么, 团队的成长空间在哪里----然后才能留得住人, 或者招更多人进来
- 对反馈的要求
- 事情往前推进后, 如何知道:
- 今天的事情做的好不好
- 线上是否有反馈渠道, 是否有监控/数据化指标, 产品化指标
- 管理的阶段性
- 并不是成为管理后技术就可以放下.
- 如果放下技术, 那么对业务的判断, 对技术的判断, 对团队成长的建议都可能会跟不上
- 若从技术走向管理, 那么需要更多的人际交流/横向的能力
- 沟通能力
- 项目能力
- 对业务的认知能力
前端技术日新月异, 很多知识学过后没有怎么使用也没有输出, 过几个月就忘了, 这种情况有没有什么好建议
- 不要空学, 要通过实战结合业务去加强应用
- 结合自身的兴趣和目标, 带着目标感做事情
- 人要理解自己的精力是有限的, 不能什么事情都做得好, 那么一定有取舍:当下阶段我做什么, 第二阶段做什么, 第三阶段做什么
- 完成后进行阶段性的总结: 最近的学习有没有效果, 效果怎么样.
- 有效果 => 坚持
- 没有效果 => 复盘看一下, 为什么这段时间的学习没有效果.
- 通过总结, 才能知道学习这个事情, 从有强烈意愿开始落地到行动, 中间有没有变形, 有没有真的做到
堂主-如何通过面试考察候选人的能力与潜力
- 求职⾯试,是⼀个双向匹配的过程
- 企业在选择合适候选人的同时, 候选人也要根据个人未来两三年的职业发展方向&诉求去选择企业, 需要看企业能否给出对应的平台与空间
面试数据(政采云团队)
- 时间跨度: 2 年
- 社招简历筛选: 1000+ (个⼈勾搭、熟⼈推荐、招聘⽹站、猎头渠道)
- 社招二⾯通过: 60+ (通过简历筛选到我这轮⾯试通过,⾮ Offer 数)
- 社招⼊职: 2%
- 合作伙伴⼊职: 5%
- 基本概要
- 第 1、2 轮为技术⾯
- 偏向技术基本功、主流框架能⼒、原理性掌握、个别算法知识;及过去的业务相关主导内容,聊的多是技术细节以及对岗位的理解
- 3、4 轮一般是经理面或总监面
- 多维度考察候选人
- 对过去业务的理解
- 项目管理能力
- 面向不同业务场景问题的技术解决方案的积累
- 看技术认知, 方案沉淀
- 会观察候选人的职业能力
- 沟通/反馈/协调
- 性格
- 判断其能力和潜力
- 多维度考察候选人
- 对于 P7 以上及管理
- 还会聊聊⾏业理解
- 团队管理与协作
- 第 1、2 轮为技术⾯
- 目前持续面试了 1 年零 11 个月
- 简历筛选: 1000+(邀请参加面试)
- 社招二面通过: 60+
- 社招入职率(入职/简历投递数 ≈2%)
- 目前前端团队 50 人, 研发团队 300 人, A 轮公司(政采云)
优势特征-通过的候选⼈
- 基本功扎实
- 良好的技术基本功
- 良好的开发流程理解
- 对既往负责业务的理解
- 不要仅知道业务的概念
- 在 api 调用外, 对原理也要有⼀定的探究
- 要性强
- 良好的主动性
- 能主动探寻更多可能性
- 不仅仅是做完即可
- 是否调查了有没有其他方案
- 对不同方案是否进行过对比, 不同方案的适用性/优劣度/适用场景
- 对平庸的低忍耐
- 抓机会及落地能⼒
- 不要只是说的好听, 落不了地
- 曾证明过⾃⼰
- 主导过的业务
- 作为业务接口人, 把相关事情搞定
- 推动过的建设
- 不是指作为执行角色横向被动参与
- 而是推动一件事情, 从目标到过程到拆解落地
- 解决过的复杂度
- 个⼈作品
- 开源项目
- 博客文章
- 主导过的业务
- 较好的认知
- ⾮被动执⾏思维
- 对技术的嗅觉
- ⾮⼆元论认知
- 不认为这个世界非 A 即 B, 非好即坏, 非黑即白
- 而是认知到世界从左到右存在一个光谱, 从黑到白之间存在大量的灰阶
- 如果坚持二元论, 工作中容易出现: 不是朋友就是敌人, 影响合作开展
- 良好的合作性格
共性问题-未通过的候选⼈
- 专业能⼒问题
- 相关基本功不⾏
- 7 年时间 2 年经验
- 一直在重复之前的事情, 没有很好的自我发展
- 不要只会说关键词, 只会背面经…
- 有没有自己实现过
- 关键词背后对应的代码怎么写, 功能如何实现, 自己是否尝试过
- 不要硬扯…
- 职业能⼒问题
- 3 年 4 跳(稳定性)
- 基本的沟通能⼒堪忧
- demo: 对抗式沟通
- 业务经验差,被动执⾏
- demo: 提到负责过用户系统, 但对用户相关业务没有概念,单点登录不了解, 对用户服务涉及基本功能/系统功能/业务情况也没有概念
- 不知道自己写的代码是做什么用的, 在系统中起到什么功能
- 综合深度浅,做完⽽已
- 不会要求自己从 50 分到 60 分, 而只是在一个很浅的维度进行尝试
- api-boy
- 性格问题
- ⼆元论认知
- 偏执型⼈格
- 你在搞我/你一定是在搞我/你看了我一眼你一定是在搞我…
- 匹配度问题
- 简历造假(诚信是红线)
- 学历造假
- 不是自己做的东西说成是自己做的
- 匹配度(双向阶段匹配)
- 也碰到过非常优秀的候选人, 但最后综合考虑下来还是放弃了, 并劝说他去别的公司
- 因为他目前的阶段和公司的匹配度有问题
- 示例: webgl 专家/纯交互专家, 更适合去专门做组件库的 antd/ui 团队, 才能放大自身价值, 但不是日常业务团队所需要的
- 背调、⼝碑
- 背⾯经、过渡包装⾃⼰
- 简历造假(诚信是红线)
招聘流程-以政采云团队 P6 层级为例
- 简历渠道
- 猎头
- 内部推荐
- 自主投递
- 说明
- 内推是主要⽅式之⼀,猎头渠道⾯向专家级(P7 及以上 level)
- ⽬前看成功率最⾼的,是熟⼈内推及招聘⽹站主动勾搭
特定轮次考核点
以 P6 为例,不同⾯试官在特定轮次中的主要考察⽅⾯
每⼀轮 45 ~ 60 分钟,⼀般 1~ 2 周⾛完全部流程
- ⼀轮技术⾯
- 技术基本功
- 框架选型掌握
- 常⽤⽅案掌握
- 过去工作中主导的工作, 工作结果沟通
- ⼆轮技术⾯
- 技术基本功
- 业务经验及⽅案
- 综合深度考察
- 基本的职业能⼒考察
- 三轮现场复⾯
- 体系型还是体系内
- 体系内
- 之前在大厂/好公司/好团队/研发流程比较成熟的地方工作过, 可以在体系内发挥出很大的价值(但往往离开体系就玩不转了)
- 体系型
- 自带体系/可以自建体系
- 体系内型候选人会看有没有短期内搭建体系的能力与意愿(背景: 政采云团队相对较小, 前端只有 50 人, 不能和大厂比体系完善度, 所以更青睐体系型选手)
- 体系内
- 认知段位及落地能⼒
- 对前端行业的理解/技术综合性的理解/技术业务之间结合点的理解
- 如何推动业务/解决业务问题
- 过程中的优先级, ROI, 落地能力
- ⻓短板、匹配度
- 管理成本及⻛险评估
- 不要经常吵架/偏执/拍桌子
- 体系型还是体系内
P4~P7 层级关键能⼒
- P4 前端⼯程师(做完)
- 应届生/毕业一两年
- 独⽴承担
- 独⽴执⾏
- P5 ⾼级前端⼯程师(做好)
- 能思考并践⾏如何能做得更好
- 在工作中是否考虑到
- 代码注释/分层
- 系统架构/组件化/工具化/自动化
- 流程优化/业务反馈/业务反哺
- 团队内的分享
- P6 资深前端⼯程师(影响)
- 是否具备影响别人的能力
- P4/P5 把自己的事做好
- P6 看能否对外做输出
- 能否通过影响和带动他⼈,帮助业务和团队拿到更多结果
- P7
- 前端技术专家(改变)
- 前瞻性、⽬标感、主导性、整合⼒
- 推动⼒、拿结果、影响⼒、领导⼒
P6 关键能⼒拆解
核心: 自驱力, 不需要别人 push, 是否有对技术的热爱与自驱
- 专业能⼒
- 良好的基础知识及运⽤能⼒
- 熟悉常⽤规范、类库及周边应⽤
- 能完成相对复杂前端技术⽅案设计
- 快速定位及解决疑难杂症的能⼒
- ⼀定的 Node.js 或其他服务端语⾔能⼒
- 场景⽅案
- 业务场景的有效⽅案沉淀
- 能承担团队体系内某专项的建设突破
- 思考处理业务场景/问题的通⽤⽅式
- 通过处理⼀个问题,解决⼀类问题
- 考虑必要的投⼊产出⽐
- 职业能⼒
- 良好的沟通,沟通及时有效
- 独⽴的前端业务接⼝⼈能⼒
- 是否可以独立的自己去做评审
- 进行需求拆解/方案评估/时间估计/过程跟进
- 对过程中面临风险的预知/过程中的反馈
- 业务上线后的复盘/沉淀总结
- 业务数据的分析能力/基于数据寻找业务中的痛点, 然后针对问题进行推动优化
- 领导跨部⻔项⽬的 PM 能⼒
- 理解业务优先级,有效管理业务预期(而不是业务说什么就做什么, 完全把自己作为被动执行人)
- 跳出前端看问题,寻找最优解决⽅案
- 推动及落地能⼒
- 抓住⼯作重点,解决关键问题
- 主导职能领域某⼀⽅向的建设
- 有效利⽤团队的⼒量获取更⼤结果
- 考虑投入产出比
- 能否通过影响别人, 推动别人一块去实现这个结果
- 过程中如何规划路径, 落地既定的目标
- 如何争取更多资源推动落地
- 有效影响团队同学在专业上获得提升
- 规划路径,落地既定⽬标,永不放弃
⾯试必要准备
- 表述清晰的简历
- 真实陈述,勿造假
- 避免关键词堆砌,空洞
- 倒序,提炼,避免 “万字⽂“
- PDF 格式优先
- 必要的基本功复习
- 前端三件套(js/css/html)
- 基础的算法
- 常⻅的业务场景⽅案
- 别背概念,有价值的是如何应⽤
- 复盘既往⼯作中的关键价值点
- 过往工作中业务的背景、⻆⾊、过程、结果
- 面对的是什么问题
- 解决过的问题, 场景是什么, 在这里角色过程中你起到的作用, 拿到的结果
- 重点要体现个⼈产⽣的影响
- 减少执⾏性陈述的堆砌
- 结构性认知、体系化思维 (如有)
- 分条例, 不要意识流说到哪是哪儿
- 参考<金字塔原理>
- 过去⼀段时间最⼤的成⻓
- 很多 hr 都会问到, 如果没准备的话现想想不出来
- 如果没想法, 说明过去一段时间都是在被动执行, 没想过自己的成长是什么, 说明没有挑选环境的思维, 只是在随波逐流
- 过往工作中业务的背景、⻆⾊、过程、结果
- ⾃⼰后续的职业规划
- ⽬前的⻓短板
- 后续的职业成⻓⽅向
- 未来两三年之后想到哪个方向去
- 这个⽅向需要什么样的空间
- 为新团队带来的价值是什么
- 什么能放⼤你的价值
团队最看重的能⼒项
- The Most Important
- 下⾯是我们的团队,对成员最看重的⼏个点,也是⽇常团队运作和基于业务、技术建设所提供的核⼼成⻓空间,亦是同学绩效⽅⾯的主要影响点。
- 业务⽀撑 的能⼒
- 独立搞定业务, 做好业务支撑
- 拿⼯资该做的最基本的事,独⽴、做完、做好。
- 推动改变 的能⼒
- 不要被动执⾏,能主动发现,并推动问题的解决。
- 学以致⽤ 的能⼒
- 持续的学习、沉淀,不放弃个⼈的成⻓,持续的输⼊和输出。
书籍推荐
- ⼈会失败,会死去,但思想会永远留下来。
- 时间的流逝,并不影响本书对 HTML 结构、CSS 样式深刻理解和优雅应⽤的智慧⾼光。本书在代码的艺术思维及审美⾼度,并⾮ Well Done ⽽是更⾼阶的 Beyond。
注意, 这是 2007 年的书, 可以看除 css 以外的部分
Q&A
怎么在业务代码中去提升自己的职业能力
- 可以查看之前前端早早聊的专场: 不同阶段前端的破局方式
- 只有做业务, 才能成为业务专家. 而业务专家是成为技术专家的前提. 因为技术的价值是解决业务问题, 否则就是屠龙之技
- 有这个疑惑说明目前的认知/能力还停留在如何把一件事搞定, 而非做好
- 所以需要从做完到做好之间, 进行认知层面的升级.
- 例如编码阶段
- 编码阶段如何才能做得更好
- 如何能让你的代码在三个月/六个月后还能看得懂
- 代码的分层架构
- 代码的组件化/接口设计的合理性
- 做业务
- 如何与业务方保持好沟通
- 如果是业务接口人, 是否具备业务 PM 的能力, 如何带着别人一起做业务
- 包括业务中的通用方案是什么, 如何通过定义一个问题来定义一类问题, 如何通过解决一个问题来解决一类问题. 如何用这种方式帮助业务团队, 进行经验输出
- 如何预判过程与风险, 如何推动业务架构的升级, 如何推动面向业务支撑的流程方面的升级
- 这些都是可以优化/提升的点, 而不是仅仅靠写代码堆代码就能把事情搞成
作为入职新公司的架构师, 之前是开发. 那么如何转变思维, 需要做哪些事情, 然后又有哪些事情是不需要做的
- 可以理解为是这个同学刚入职一个新公司, 之前在上家公司是偏业务执行的角色, 但并不是一个完整全职的架构师, 而新岗位的定义是架构师
- 首先, 这实际上是工作上职能的升级, 从之前面向业务单点解决问题, 升级到面向架构, 用通用的方式去解决业务问题
- 那么, 如何在新公司中体现个人价值
- 首先, 先了解当前的业务架构. 因为架构师脱离业务就是垃圾
- 除非特别了解业务, 否额就要先拥抱业务, 了解业务目前的玩法, 运作的方式, 未来要奔哪块去
- 然后, 看业务里的前端/研发同学, 他们目前焦虑和痛苦的是什么, 去寻找问题.
- 架构是解决通用问题的, 架构的价值就在于可以解决业务的通用问题.
- 所以要先拥抱业务, 了解业务痛点.
- 如果要找落地方案, 目前政采云的玩法是: 面向业务研发的整个闭环构建数据反馈
- 从编码前的需求确认, 到编码中的联调, 到构建部署上线后
- 看目前整个研发闭环中最大的成本卡在什么地方
- 团队最大的痛点要么是成本最高的, 要么是稳定性最差, 要么是体验最不好
- 然后基于通用性的方案去解决
- 架构最忌讳的
- 不要去做脱离业务的事. 不要不了解业务上来就指点江山.
- 不要借着做架构的机会去给自己尝鲜找理由.
- 有些架构师不考虑
- 团队接受程度
- 对业务的价值是什么
- 高频问题还是低频问题
- 上来就强推之前没尝试过的新选择
- 很容易形成技术债
- 有些架构师不考虑
完颜-如何通过面试考察候选人的能力与潜力
简历来源渠道
- 熟⼈内推
- 猎头
- 招聘平台
- 拉勾、脉脉、Boss、猎聘…
- 社区
- V2EX、知乎、Github、掘⾦…
- 技术⼤会
- D2、SEE Conf …
- ⾃主投递
- 推荐简历投递渠道
- 熟⼈内推
- 猎头
- 技术⼤会和社区
- 求职建议
- 先定向考察目标前端团队, 看是否符合自己的诉求,然后和该前端团队联系, 定向投递简历
蚂蚁⾦服 RICHLAB 招聘流程
- ⼀⾯
- 前端初⾯:前端基础
- ⼆⾯
- 前端复⾯:前端综合能⼒, 看对技术的实际运用能力, 也会考察基础素质: 学习能力/上升潜力/沟通主动性
- 三⾯
- 总监终⾯:整体技术素质
- 四⾯
- HR ⾯:⼈·味道
- 整体价值观是否和阿里匹配
- 每轮 20-50 分钟,2 周内完成全部流程
⾯试成功的⼈才特质
- 基础扎实
- 基本功
- 前端三大件
- 流行框架
- 代码能⼒
- 手写代码(在在线编辑器中写代码)
- 技术品味
- 不要求有代码洁癖(但有的话肯定是家分店)
- 关注在项目开发过程中, 是否有追求细节, 最求极致的体现
- 例如, 组件开发完成后是否有单元测试, 是否有 lint
- 基本功
- 独特亮点
- 基础扎实的同学其实很多, 因此如果想在这些同学中脱颖而出, 需要有一些自己的核心竞争力
- 核⼼竞争⼒
- 深度
- 对代码的深度掌握
- 在做项目过程中, 能否在了解一个知识点基础之上, 能否更进一步的去看他底层的一些原理, 了解内部的实现
- 例如
- 使用 react 做项目时, 了解 react 的底层实现机制
- 进行性能优化时, 了解网络的连接过程, 浏览器的渲染原理
- ⼴度
- 有更大的技术视野, 了解前沿领域的技术
- 领域
- 比如交互方面, 在技术基础能力之上, 了解一些 WebGL 的原理, 能够做一些互动图形
- 在服务端方面, 能够使用 Node.js
- 业务
- 在过去的业务上, 有自己的独特的思考
- 公司的业务发展/业务数据分析/数据的使用和消费
- 业务意识
- 深度
- 热情上进
- 爱钻研
- 爱折腾
- 爱学习
- 爱总结
- 做这个事情的价值在哪里
- 充满要性
- 积极主动
- 善于思考
- 推进⼒强
- 能否积极主动地去做一件事, 在做事情的时候, 能否想清楚为什么要做这些事
- 推进能力考核方法
- why/what/how/result
- 为什么要做这件事背后的想法和原因, 是否有过充分的思考
- 在做这件事的过程中, 是否有更好的推进这件事的落地
- 最终产生的业务结果是什么
⾯试失利的通性问题
- 基础功⼒问题
- 基础不扎实
- 知其然不知其所以然, 只解决了这个问题, 但没有深入挖掘问题背后的原因
- 动⼿能⼒弱
- 偏科严重
- 基础不扎实
- 职业能⼒问题
- 沟通不顺畅
- 主动性不⾜
- 稳定性差
- ⾃我认知不清晰
- 技术发展问题
- 知其然不知其所以然
- 知识⾯窄
- 项⽬实践少
- 潜⼒问题
- 学习总结少
- 不善思考
- 埋头执⾏
- 思路单⼀
我常⽤的⾯试⽅法
- 聊聊最深刻的项⽬
- 业务⽬标
- 对项目的业务目标是否了解的比较清楚
- ⽅案选型
- 有没有和其他方案进行比较
- 技术细节
- 最终结果
- 例如性能优化后, 有没有明确的一个数据, 可以证明你的最终结果
- 学习思辨
- 业务⽬标
应聘建议
- 第⼀印象:⼀份有诚意的简历
- 明确意向:明确个⼈诉求,确定⽬标团队
- 前端这么多领域方向, 你希望往哪个领域方向去走, 你的目标团队是什么
- 回顾总结:过去的⼯作经历、沉淀、成⻓、收获
- 除了罗列项目, 也要把对项目的思考, 包括一些有亮点的部分着重的在简历里凸显出来
- 如果字数不够, 可以贴链接
- 进阶版: 你希望面试官通过面试给你一份怎样的面评, 提前写好用链接贴上去(例如贴到个人博客里), 真の客户第一
- ⾃我认知:有哪些核⼼竞争⼒和不⾜
- ⾯谈技巧:STAR (SITUATION/TAST/ACTION/RESULT)
- ⾯试复盘:总结⾃⼰⾯试中的表现、经验教训
- 明确意向:明确个⼈诉求,确定⽬标团队
- 误区:
- 死记硬背概念、知识速成、海量刷题
- ⼀问⼀答、不问不答、话痨、东拉⻄扯
- 不知道⾃⼰是谁、⾃⼰有什么、⾃⼰要什么、该去往何处
- 目前的定位是什么
- 核心竞争力是什么
- 换工作的原因是什么
- 换工作背后希望这份工作能够给自己带来什么, 能够给团队带来什么.
- 最终自己的未来规划/定位是什么样的
- 诚信问题
Q&A
蚂蚁招人是否有年龄上的限制, 或者有更细的年龄分层, 例如 30 岁以上需要 P7 才能进入
- 能力模型需要能够对上成长结果
- 十年经验如果还是 P6, 可能就有问题
渚薰-如何考察候选人的能力与潜力
对这个分享印象很好, 可以重点听下
第⼀轮技术⾯
- 优秀人才
- 基础扎实
- 技术能力是停留在使用框架的 api, 还是思考过这些 api 是如何实现的这些功能, 以及这些功能在不同的环境下有没有差异化的表现(例如: 浏览器兼容问题)
- 勇于破圈
- 善于应变
- 遇到紧急事情的时候能够快速制定方案并迅速推进(不推荐, 提前准备预案更好)
- 在面对复杂问题的时候能够改变固有思维发现新的突破口
- 敢于判断
- 基础扎实
- 能⼒不符
- 不懂原理
- ⼀知半解
- 知识⾯窄
- ⽆⽅法论
如何考察
- 基于候选人
- 最擅长的作品
- 最出色的经历
- 询问: why/how/what, 以判断候选人是如何思考以及他的思考路径是否正确
- 专业能⼒
- 业务理解
- 专业知识
- 技术实现能⼒
- 关键贡献及结果
- 技术价值和业务判断
- ⼈才特质
- 聪明
- 乐观⽪实
- ⾃省
⾯试习惯
- 基础知识(举例)
经常⽤的东⻄不⼀定会细究它的原理 |
---|
箭头函数同⾮箭头函数中 this 的区别 |
const 定义的变量编译成 ES5 后如何保持块作⽤域的特性 |
-
采用理由
- 实测数据: 90%的同学可以答出来, 但很少有人深入刨析到 v8 内核实现或者如何用 es5 的写法去保存变量的作用域(其实<你不知道的 javascript>里有)
- 不要因为会用, 就会认为懂了
-
其他问题
其他问题 | 考察内容 |
---|---|
⼯作中的亮点 | 是否清楚⾃身的核⼼⽅向和竞争⼒, 如果有的话, 可以很清楚的说出来 |
为什么会有这份产出 | 对原始问题/原始需求的分析和判断 |
剖析下某个技术产品/技术⽅案的细节 | ⽅案的健壮性、通⽤性 |
如果变得更复杂如何解决, 看在更复杂的环境/场景下如何思考 | 知识⾯和逻辑思维 |
如何学习新知识 | ⼀贯的⽅法论 |
⾯试技巧和⽅法
- ⾯前
- 回顾⼯作, 系统思考
- 锁定⽬标团队, 不要碰碰运⽓
- 每一次投递/面试都会有记录, 且持续存在
- 分析 JD, 知⼰知彼
- ⾯中
- 讲重点, 讲思路
- 勿辩解, 忌装懂
- 不要浪费时间在和面试官辩解, 而是要尝试在有限的时间内让面试官得到更多的, 足够的信息(客户至上思维, 面试官就是客户)
- 不要⽌于现状, 寻求更优⽅案
- 尾声
- 可以补充⾃⼰的亮点
- 别错过咨询⾯试官的机会
- 主动加⾯试管微信, 加深第⼆印象
书籍推荐
- 为什么?
- 浏览器的底层是如何⼯作的。
- 浏览器在各个阶段如何处理资源。
- 如何针对性的解决性能问题。
- 怎么看?
- 提炼关键词,作为问题索引备查。
- 不定时检查更新,反复阅读。
- ⽤在哪?
- ⾸屏性能(加载、渲染)优化。
- CPU、GPU 计算优化。
- 图像绘制,内存优化 。
Q&A
您是如何学习新东西的
- 每天到公司之后前一点时间, 浏览科技型网站, 拓宽视野
- 在拓宽视野的时候, 会慢慢把知识编程你自己的一些理解, 然后可以知道自己需要深挖的领域或感兴趣的领域在哪里
- 知道需要深挖的领域后, 才能避免盲目接触新框架
- 所以需要看业界的声音/评论, 看业界在做什么, 大家对于某件事情的理解是怎么样的, 将别人的理解转化成自己的理解后, 就知道该如何学习, 学习什么样的知识了
- 学习知识的过程本身相对简单, 查找书单/知识领域内的最佳实践/etc
- 反例
- 不要今天出了几个新知识点, 立刻投入进去学习, 成为 API Boy
- 有的放矢, 把精力集中在一个你希望能够深入下去的领域去探索, 而不是我都要会, 我要都能用这样的思维方式