赞
踩
【面试】互联网软件研发岗位,面试内容准备方向(技术面试考察点)
HR部门捞简历的流程
简历的细选
细选简历的关键要点有:
简历的精读
应聘者既往经历的主要职责和工作内容;应聘者既往取得的成就和成功经验;应聘者既往的管理幅度和管理经验;简历中存在的疑问和瑕疵。
辨别和确认应聘者解决问题能力和经验、领导风格和经验、文化适应性、书面沟通能力、团队精神和团队建设、效率改善能力和经验等等。
一个在外企工作多年的应聘者转到民营企业,可能存在“水土不服”问题。再者,在日韩台企工作多年的候选人工作风格多偏于严格、服从、执行;在民企出来的应聘者抗压能力和实操能力明显强于其它,但可能缺乏高度和深度;而外企工作多年的候选人专业度、职业精神更出色。
既往的角色和职责:不仅仅要看应聘者做了哪些事,还要特别关注他在其中担任的角色是什么,承担的责任有哪些。“主持”项目和“参与”项目的责任不同,获得经验也不同。 对角色和职责的判断有两个关键词:“相关性”和“最近”。相关性是指应聘者在既往的工作经历中与所应聘职位的角色、职责的吻合度
一个既有国企、外企又有民企工作经历的应聘者,对文化的适应性肯定高于只有单一性质的企业工作经历的应聘者。在国企工作多年的应聘者可能对处理复杂人际关系得心应手;而外企应聘者自我意识会更强烈;有民营企业工作经历的应聘者抗压、抗击打能力则明显高于在其他企业的应聘者。
工作期间和职业发展
应聘者每一段工作经历少于三年,通常意味着应聘者的稳定性较弱。
两段工作经历之间存在 “工作间隔” 需要引起重视。
另外,应聘者的职业发展线路是上行、下行或波浪式,对判断应聘者的能力和整体素质有积极意义。
当然,如果高职位是在小公司,而后来的较低的职位是在大公司,是符合职业发展逻辑的。
用人部门捞简历的流程
灵魂三连问
考察目标
面试内容:
问题设计与面试过程
高效考察
考察思路
考察方法:
是什么-为什么
是什么考察对概念的基本理解,为什么考察对概念的实现原理。
比如 索引是什么? 索引是如何实现的?
引导-横向发问-深入发问
引导性,比如 “你对 java 同步工具熟悉吗?” 作个试探,得到肯定答复后,可以进一步问: “你熟悉哪些同步工具类?” 了解候选者的广度;
获取候选者的回答后,可以进一步问:“ 谈谈 ConcurrentHashMap 或 AQS 的实现原理?”
一个人在多大程度上把技术原理能讲得清晰,包括思路和细节,说明他对技术的掌握能力有多强。
深度有梯度和层次的发问
设置三个深度层次的发问。每个深度层次可以对应到某个技术深度。
第一个发问是基本概念层次,考察候选人对概念的理解能力和深度;
第二个发问是原理机制层次,考察候选人对概念的内涵和外延的理解深度;
第三个发问是应用层次,考察候选人的应用能力和思维敏捷程度。
跳跃式/交叉式发问
比如,讲到哈希高效查找,可以谈谈哈希一致性算法 。 两者既有关联又有很多不同点。也是一种技术广度的考察方法。
总结性发问
比如,你在做 XXX 中,获得了哪些可以分享的经验? 考察候选人的归纳总结能力。
实战与理论结合
比如,候选人叙述 JVM 内存模型布局之后,可以接着问:有哪些原因可能会导致 OOM , 有哪些预防措施? 你是否遇到过内存泄露的问题? 如何排查和解决这类问题?
比如,候选人有谈到 SQL 优化和索引优化,那就正好谈谈索引的实现原理,如何建立最佳索引?
比如,候选人有谈到事务,那就正好谈谈事务实现原理,隔离级别,快照实现等;
熟悉与不熟悉结合
针对候选人简历上写的熟悉的部分,和没有写出的都问下。比如候选人简历上写着:熟悉 JVM 内存模型, 那我就考察下内存管理相关(熟悉部分),再考察下 Java 并发工具类(不确定是否熟悉部分)。
死知识与活知识结合
比如,查找算法有哪些?顺序查找、二分查找、哈希查找。这些大家通常能说出来,也是“死知识”。
这些查找算法各适用于什么场景?在你工作中,有哪些场景用到了哪些查找算法?为什么? 这些是“活知识”。
学习或工作中遇到的
有时,在学习和工作中遇到的问题,也可以作为面试题。
比如,最近在学习《操作系统导论》并发部分,有一章节是如何使数据结构成为线程安全的。这里就有一些可以提问的地方:如何实现一个锁?如何实现一个线程安全的计数器?如何实现一个线程安全的链表?如何实现一个线程安全的 Map ?如何提升并发的性能?
工作中遇到的问题,也可以抽象提炼出来,作为技术基础面试题。
考察中的注意点:
技术栈适配度发问
如果候选人(简历上所写的)使用的某些技术与本公司的技术栈比较契合,则可以针对这些技术点进行深入提问,考察候选人在这些技术点的掌握程度。如果掌握程度比较好,则技术适配度相对更高一些。
当然,这一点并不能作为筛掉那些没有使用该技术栈的候选人的依据。比如本公司使用 Mongodb 和 MySQL, 而一个候选人没有用过 Mongodb, 但使用过 MySQL, Redis, ES, HBase 等多种存储系统,那么适配度并不比仅使用过 MySQL 和 Mongodb 的候选人逊色,因为他所涉及的技术广度更大,可以推断出他有足够能力掌握 Mongodb。
应对背题式面试
首先,背题式面试,说明候选人至少是有做准备的。当然,对于招聘的一方来说,更希望找到有能力而不是仅记忆了知识的候选人。
应对背题式面试,可以通过 “引导-横向发问-深入发问” 的方式,先对候选人关于某个知识点的深度和广度做一个了解,然后出一道实际应用题来考察他是否能灵活使用知识。
比如 Java 线程同步机制,可以出一道题:线程 A 执行了一段代码,然后创建了一个异步任务在线程 B 中执行,线程 A 需要等待线程 B 执行完成后才能继续执行,请问怎么实现?
”理论 + 应用题“的模式。敌知我之变,而不知我变之形。变之形,不计其数。
实用不生僻
考察工作中频繁用到的知识、技能和能力,不考察冷僻的知识。
比如我偏向考察数据结构与算法、并发、设计 这三类。因为这三类非常基础非常核心。
综合串联式发问
知识之间总是相互联系着的,不要单独考察一个知识点。
设计一个初始问题,比如说查找算法,然后从这个初始问题出发,串联起各个知识点。比如:在每一个技术点上,都可以应用以上发问技巧,导向不同的问题分支。同时考察面试者的深度、广度和应用能力。
一般面试的开头,都是让候选人自我介绍,还是介绍最近所做的项目。
考察方向:
考察目标:
实习与项目经历描述(简历)
解决问题能力考察
仅仅只是技术基础还不够,通常最好结合实际业务,针对他项目里的业务,抽象出技术问题进行考察。
解决思路重在层层递进。这一点对于面试官的要求也比较高,兼具良好的倾听能力、技术深度和业务经验。首先要仔细倾听候选人的阐述,找到适当的技术切入点,然后进行发问。如果进不去,那就容易考察失败。
常见问题:
性能方面,qps, tps 多少?采用了什么优化措施,达成了什么效果?
如果有大数据量,如何处理?如何保证稳定性?
你觉得这个功能/模块/系统的关键点在哪里?有什么解决方案?
为什么使用 XXX 而不是 YYY ?
长字段如何做索引?
还有哪些方案或思路?各自的利弊?
第三方对接,如何应对外部接口的不稳定性?
第三方对接,对接大量外部系统,代码可维护性?
资损场景?严重故障场景?
线上出现了 CPU 飙高,如何处理? OOM 如何处理? IO 读写尖刺,如何排查?
线上运行过程中,出现过哪些问题?如何解决的?
多个子系统之间的数据一致性问题?
如果需要新增一个 XXX 需求,如何扩展?
重来一遍,你觉得可以在哪些方面改进?
系统可问的关联问题:
绝大多数系统都有性能相关问题。如果没有性能问题,则说明是小系统,小系统就不值得考察了;
中大型系统通常有技术选型问题;
绝大多数系统都有改进空间;
大多数业务系统都涉及可扩展性问题和可维护性问题;
大多数重要业务系统都经历过比较惨重的线上教训;
大数据量系统必定有稳定性问题;
消费系统必定有时延和堆积问题;
第三方系统对接必定涉及可靠性问题;
分布式系统必定涉及可用性问题;
多个子系统协同必定涉及数据一致性问题;
交易系统有资损和故障场景;
设计问题
见具体业务知识,面经等博客。
【八股】2023秋招八股复习笔记1(CSBase)
【八股】2023秋招八股复习笔记2(C++基础 & 操作系统)
【八股】2023秋招八股复习笔记3(智力题 & 非技术题50道)
【八股】2023秋招八股复习笔记4(MySQL & Redis等)
【八股】2023秋招八股复习笔记5(计算机网络-CN)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。