文章目录
- 前言
- 整体流程
- 面试
- 1. 手写代码(算法/SQL/场景)
- 2. 项目经历
- 3. 技术八股
- 4. HR面
- 反问内容
- 内部晋升
前言
整体流程
提离职->一个月内离职并获取离职证明
->
投递简历->技术一面(同级)->技术二面(+1级)->技术三面(主管)->HR面
->
谈薪->提供流水->薪资审批->发意向offer->补充个人信息->背调->HR审核->签约->办理入职手续
面试
1. 手写代码(算法/SQL/场景)
互联网面试问题:
今年面试可能是因为限制10min,所以降低了难度,出的都是考察思路的题。
简单回忆遇到的题目
思路类: 斜遍历矩阵、最长回文串、链表计数器等。
模板类: 回溯、二分、LRU、双指针、贪心
数学类: N个人全都拿错身份证的概率
场景类: 单例、多线程顺序执行、伪代码写快速读取大文件并发送邮件
SQL类: 每个班级各科总成绩的TOP3的学生、找到ID从1到100的数据表中缺失的数据ID、表中所有人的性别反转(1变0,0变1)、找到本月缺勤的人和缺勤日期(当天6点之后到第二天6点之前最早和最晚两次打卡间隔超过8小时即不缺勤)
HW机试:
一般是1小时三道题。因为时间比较充足,出题范围也比较大
类型 | 名称 |
---|---|
固定模板 | 二分查找、最短路、最小生成树、快速幂、回溯、广搜/深搜、KMP、并查集、排序算法 |
思路 | 动态规划(背包是重点)、 双指针/滑动窗口 、 前缀和、 贪心、 自动状态机 |
数据结构 | 树状数组、 线段树、 最大/小堆、 平衡二叉树-增删改查、 二叉树-前中后序非递归遍历 |
特定问题 | 单链表找环以及入口、 LRU 、 LFU、 回文串、 反转链表 |
数学 | 位运算、 排列组合 、 找素数、 找公约数/公倍数、 概率、 模运算 |
2. 项目经历
核心只有一个问题:项目亮点。
什么算:
除了互联网核心业务,很难同时接触到三高(高并发、高可用、高性能)场景,但可以从其衍生问题入手。比如
- 数据一致性
- 数据量大带来的延时、吞吐量
- 如何保障高可用
- 设计考虑如何监控
如何讲:
既能抽离业务讲出亮难点,又能结合业务简洁描述
- 遇到什么问题
- 解决后达到的目标是什么
- 做了什么工作
- 最终数据结果
其他问题:
- 你们的开发流程
- 概要设计关注点
- 需求评审关注点
- 测试评审关注点
- 遇到的业务难题
- 遇到的技术难题
- 项目描述、项目亮点、个人工作内容、团队规模
- 系统设计
3. 技术八股
大类知识点 | 相关文章 | 描述 |
---|---|---|
JVM | 深入理解Java虚拟机 | |
多线程与并发 | synchronized底层原理 | |
集合 | JDK8 HashMap源码 | |
设计模式 | 23种设计模式 | |
Spring | Spring 启动流程 | |
数据库 | 【MySQL】索引设计原则、失效情况及底层数据结构比较 【MySQL】InnoDB 锁、事务、MVCC | |
Redis | 【Redis】八股文必背 | |
MQ | 【消息队列】MQ 八股文必背 | |
微服务 | RPC/注册中心/配置中心/限流熔断/监控预警/链路追踪 | |
分布式 | 分布式理论与Seata | |
场景设计 | 待看书籍:大型网站技术架构、数据密集型应用系统设计,九章算法系统设计,https://www.xiaohongshu.com/explore/6338a6e1000000001c033bef |
4. HR面
- 在团队中的角色
- 如何看待加班
- 如何释放压力
- 你的优缺点
- 岗位理解
- 人际关系处理,如冲突
- 如何多方协调沟通
- 当前薪资与期望薪资
- 离职原因
- 职业规划
- 入职日期
- 空窗期干嘛了
- 选择我们公司的原因
- 转行你做了哪些努力
- 你的优缺点
反问内容
项目情况、团队规模、技术框架、工作强度、岗位职责
内部晋升
- 你认为你为什么能晋级到xx职级
- 你认为你有哪些xx职级的能力
- 你比其他人做的好的地方在哪里
- 你做的事情,和公司内其他团队的差异化在哪里
- 为什么你来做,别人不能做吗,你的可替代性低吗
- 你对项目组做出过什么贡献,有推动过组织发展吗
- 工作这么久,有没有形成可复用的物理资料和方法论,对待某一类问题有没有形成自己的流程、规范
- 有没有体系化思考的能力,能否考虑自己所做的事情的价值,投入产出是否合理
- 你是否做出了壁垒,形成了核心竞争力
- 你是如何保持进步和学习的
- 你是如何将所学习的知识转化到工作上的
- 你怎么选择自己的学习方向的
- 大家都学习,你是如何比别人学到更有用的知识的
- 你的职业规划是什么样的,你是根据自身什么特点做出这样的规划的
- 你是如何培养自身的思维逻辑能力的