社招面试能力模型
| 类型 | 考察纬度 | 建议范围 | 经验心得 |
|---|---|---|---|
| 技术模型 | 基本技能 | 1. 面试范围 系统和基础语言 - Android 了解 Java - JNI 了解 C++ 2. 优先业务和面试者能力的交集。 |
必备项 保证面试者的过硬的基本能力。 1. Android 常用View绘制/事件/传递/动画原理 组件周期/启动/跳转 系统后台任务/广播/数据 2. Java: 常用关键字: Synchronise Volatile Final 线程和handler Task. 线程池 通信 3. JNI: 注册方式, JavaVM 内存管理和引用 线程的启动,销毁和内存回收 定位错误。add2line objdump 4. C++: 常用数据,结构,类的内存大小(内存对齐问题) 常用关键字: sizeof const(指针和引用) 结构体,类,继承,多态 构造函数,析构,虚函数,纯虚函数,虚函数表 内存分配和释放,智能指针 STL模板和相关算法 |
| 操作系统/网络 | 1. 并发 2. 文件和IO 3.网络模型 |
1. 线程(生命周期),并发协作 2. 锁,数据一致性。 - 锁的常见分类 - Java虚拟机的锁的分类和膨胀 - 常见的锁和特性 - JUC锁 3. 文件IO。BIO、NIO、AIO(用的少) 4. 网络协议 - 分层结构,每层常用协议 - TCP协议:握手 断开 状态机 流量控制 启动和恢复 定时器 |
|
| 数据结构和算法 | 常用的基础结构和并发 | 1. 数据结构 - 栈 - 数组/队列/链表 - 字典 - 树 ---- 红黑树 ---- B+树 ---- 堆(大/小堆) 2. 算法 - 排序算法:快速排序、归并排序、计数排序 - 动态规划:背包问题、最长子序列、计数问题 |
|
| 架构和标准化能力 | 1. 常用库的构架 2. 基础语言的架构和原理 3. 项目构架优化 - 背景(痛点) - 方案/原理 - 优化的标准 - 执行的内容和问题 - 成果展示 |
1. 基础语言原理 - Java虚拟机架构 ---- 内存模型 ---- 线程模型 ---- 进程模型 ---- GC模型 - C++对象模型 2. 常见库/架构 - 网络库 - 图片库 - 路由 - 线程池/调试器 - UI库 |
|
| 优化经验和方法论 | 1. 优化案例 - 优化的背景(痛点) - 优化的指标/原理 - 优化的方案 - 优化前后对比(正/负优化) 2. 个人系统的方法论 |
常规优化方法论: - 内存优化(原理) - Leak - OOM (常见图片优化) - 卡顿 (原理和手段) - ANR (原理、手段和实操) - 冷启动 (原理 方案) - 包容 - 功耗 - 跨进程... |
|
| 软素质模型 | 自驱力 | 1. 目标感 2. 自律 |
关键:个人是否积极主动 |
| 学习能力 | 1. 全面学习/碎片化学习 2. 好奇心和探索能力 |
没啥好说的,每个人有自己的学习方式 | |
| 沟通/逻辑表达能力 | 1. 逻辑性(演绎能力) 2. 结构性(结构化思维) |
《金字塔原理》 | |
| 管理能力 (个人管理或者集体管理) |
目标管理 - 确定/规划目标( SMART 原则) - 拆分任务 - 执行 - 风险管理 - 目标回顾/总结 2. 时间/风险/人力管理 3. 标准化流程/业务管理 4.决策能力 |
常用方法论: SMART原则(目标管理) - 绩效指标必须是具体的(Specific) - 绩效指标必须是可以衡量的(Measurable) - 绩效指标必须是可以达到的(Attainable) - 绩效指标是要与其他目标具有一定的相关性(Relevant) - 绩效指标必须具有明确的截止期限(Time-bound) 番茄工作法(时间管理) 四象限工作法(优先级管理) PDCA (项目管理法) |
|
| 总结和复盘能力 | 1. 根因分析 2. 总结可复制的方法论 |
1. 5W2H分析法 2. 结构化思维 |
社招面试流程
| 流程 | 目标 | 方式 | 注意事项 |
|---|---|---|---|
| 开场介绍 | 1. 了解这个人 知识:知道什么 经验:做过什么 能力:能做什么 动力:喜欢什么 2. 基于知识、经验的漏斗模型选出需要面谈的话题 |
1. 问候:面试官介绍 2. 面试人介绍 3. 面试人项目经历: - 项目相关经验 - 项目模型 - 项目难点和方案 - 项目亮点回顾 |
1. 多去追问为什么 2. 表达能力不好的,多去问项目的背景 |
| 面试互动 | 了解能力模型 1. 基本技能 Android Java JNI C++ 2. 复合能力: 框架能力/标准化建设能力/优化能力/项目管理能力3. 软素质:风险管理/协作/抽象/沟通等 |
基于开场介绍提问 完整的项目,追问下去 不完整的内容,补充WHY? |
考验面试官的综合能力 |
| 开放话题 | 同上 | 举例,假设目标是我们的项目中的问题给他做。 | 最好贴合项目难点问题 |
| 结束 | 面试动机 了解他会关心什么问题,是什么样的人 |
为什么要离职? 面试者提问 |
待补充 |
实战和心得
| 背景 | 问题 | 应对方案 |
|---|---|---|
待补充。。