23 届秋招面试总结
前言
大致可以分为「运营商/银行」与「软件/互联网」,电商、自动驾驶、游戏等归类到「软件/互联网」当中。和 23 届暑期实习面试总结 一样,按一面时间顺序进行罗列。
运营商/银行
银行似乎都只有一轮面试,不过收到的都是差额体检。运营商面了没后续消息就默认挂了(摊手)。
中国移动信息技术中心
过了差不多一个月才出结果,已拒。
一面(10min)
- 自我介绍
- 全栈项目介绍,数据处理是怎么做的
- 用过的数据库,是否做过性能调优
- 反问:多久出结果
二面(15min)
- 自我介绍
- 亚马逊全栈项目介绍,和实验室项目比较
- 常用的数据库,关注点(读写效率)
- 更想学技术还是本身技术就很厉害(?当然是学技术来的)
- 反问:组织架构
- 财务、招新、物流系统
- 专业、系统、运维
- 120+ 人
联通软件研究院
被「最不成功的经历」问倒了,还真没有遇到过问这个的😂
一面(6min)
- 自我介绍
- 最不成功的经历
- 遇到困难/瓶颈,如何解决(沟通、代码)
- 倾向于什么方向(开发)
- 接受工作看重的点:公司口碑、工作地点、薪酬福利
- 是否接受调剂
中国电信安全公司
应该是「天翼安全科技」,双总部(北京、江苏),然后两边都面了,接到江苏的 offer,已拒。
北京
一面
- 算法:有序数组查找数字
- 计网:浏览器过程、DNS 查询方式、DNS 劫持/缓存污染、TLS 过程
- 操作系统:地址空间由什么决定
- Linux 命令:查找关键字
grep
,查看文件、查看资源 - Java:HashMap 底层、是否线程安全、线程安全的实现类是什么、怎么实现的、
synchronized
底层、volatile
底层、线程池过程 - MySQL:日志及其作用、MVCC、索引、B+ 树和 B 树比较、联合索引什么情况失效、慢查询优化
- Redis:常见数据类型、为什么快、哨兵的作用
- RPC:gRPC、Thrift、Dubbo
- 是否有 offer,选择的依据:口碑、地点、工作氛围
- 反问
- 几轮:2 面 + HR 面
- 技术开发(北京、苏州),Java 技术栈为主
- 集团侧
- 政治:国家、信通院
- 产品、售前、售后:安全资源能力池、Java 池、安全保障、联防联检
二面
- 自我介绍
- 全栈项目介绍
- 如何学习 Java
- 是否看过 JDK API
- 如何使用 Collections 容器
- Java 中的快排是哪个实现(Arrays.sort),Collections.sort 使用归并
- 有用过 React 吗,路由如何实现,js compact 如何实现
- OpenStack 都有哪些组件,了解 neutron 吗
- 线程安全怎么定义
- 设计模式都有哪些
- Dockerfile 常用指令
- 反问
- 架构:一级分公司,集团部门,类似北京电信
- 新人:mentor 带,主要是后台开发
江苏
二面后隔了三周接到 HR 面。
一面
- 自我介绍
- 安全分类:Web 安全、软件安全
- 用了哪些国密算法(SM2、SM3)用在哪里(TLS、证书)
- Java 程序分析系统原理介绍(Neo4j)
- docker 常用命令、docker-compose 简单介绍、是否了解 k8s(用过 Kolla-Ansible)
- Java 的集合,HashMap 底层原理,扩容机制
- 用过哪些 Java 框架,是否了解 Spring Boot 之类的
- B+ 树用在哪里:MySQL 索引、用途、优点、时间复杂度
- 设计模式:StringBuilder 是建造者模式
- 反问
- 组织架构:双总部(北京、苏州),苏州注册
- 业务(网络安全):安全应用/平台开发、供攻防
- 面试:技术 + 领导 + HR
二面
- 自我介绍
- 家乡是哪里的
- 工作地点选择
- 是不是党员
- 有什么 offer
- 介绍 Java 程序分析系统,实际的应用效果
- 介绍全栈项目,解决的问题
- 了解哪些前端可视化工具
- ARP 协议是哪层的
- 有什么 Web 攻击
- 反问
- 北京、苏州的都面了(?)
- 大约 10 天内出结果
HR 面
- 自我介绍
- 实习收获
- 公司介绍
- 15 年,网络安全产品中心(研发、运营)
- 业务:云网、安全、外部/内部
- 优势:垄断资源
- 反问:3-5 天出结果
建信金科
这个也过了差不多一个月才出结果,已拒。
一面
- 自我介绍
- 为什么想来上海
- 项目中最有成就感的事情
- 链路追踪系统介绍
- SM2 算法介绍、SM3 算法是干嘛的
- 还做过哪些与安全相关的项目
- 信息/软件安全考虑哪些方面,或者有什么网络攻击
- 有没有论文/专利
- Java 中的锁介绍一下,
synchronized
的性能如何,是什么类型的锁 - 反问:业务
- 全资子公司,事业群/中心,部门 20+
- 新人分配:根据团队/项目需求/发展目标
中国农业银行研发中心
总行双机位站立面试,差额体检,已拒。
一面
- 自我介绍
- 介绍全栈项目,用到的技术点
- 介绍链路追踪,用到的技术点
- 介绍 Java 程序分析系统,除了反序列化漏洞还能检测什么(语句级别、其他语言扩展)
- SQL 注入与防护、XSS 漏洞
- docker:与虚拟机的区别、容器与镜像的关系、与虚拟机的安全性差异
- 接触过的数据库
- Java 类加载机制
- 对银行的看法
交通银行总行金融科技部门
面试,测评,背调,已拒。
一面
- 自我介绍
- 多线程编程(Thread、Runnable/Callable)
- docker 命令,Linux/Windows 上都有用过
- Linux 命令:find、rm、mv
- go 相关命令:只记得
go mod
- MySQL,白话解释事务,如何实现一致性(MVCC、加锁),慢查询优化方式
- 数据库表添加列用什么指令(ALTER)
- 有用 Redis 写阻塞队列吗
- 进程间通信方式
- 为什么选择上海/金融
中国移动上海产业研究院
还真有人会问有没有对象啊😅 时隔一个月收到意向,已拒。三周后接到回访电话,点个赞。
一面
- 自我介绍
- 介绍最有挑战性的项目
- 三到五年职业规划
- 业余爱好
- 三个形容词描述自己,朋友怎么评价自己的
- 遇到很难沟通的上级或同事咋办
- 有哪些地方的 offer
- 是否有男朋友
- 反射用在哪了哪里,介绍 Java 程序分析系统
- 如何分析调用,dfs/bfs?
- 反射获取类有几种方式(3 种)
北京移动
安排在周日上午,比较敷衍。
一面(8min)
- 自我介绍(毕业时间、生源地)
- 形容自己、内向/外向、和别人的相处模式(主动/被动)
- 亚马逊实习的收获
- 工作中可以立即上手的地方,还欠缺什么技能
- 调剂(技术岗即可)、郊区(无所谓)、户口(最好有)、投递其他岗位(不记得)
工商银行软件开发中心
投递了上海和成都,拒绝了成都的面试。时隔一个月收到体检通知,已拒。
一面
- 自我介绍
- Java 程序分析系统
- 介绍
- 是否已上线
- 技术栈
- 为什么想来上海
- 反问:业务
- 金融产品
- 自研,类似 SpringBoot
- MySQL、华为云
- 大数据、Hadoop
中国光大银行信用卡中心
约三周后收到二面,已拒。此外,还投递了「中国光大银行总行信息科技部」,面试拒了。
一面
- 自我介绍
- 链路追踪系统 Jaeger 与 Dapr 的区别,侵入性如何
- 不了解 Dapr,应该是针对 Java 的
- OpenStack 云平台是 Python 开发的
- 区块链用的什么共识算法,解释下 HTTPS
- 通俗地描述一下亚马逊的全栈项目
软件/互联网
美团
前 5 轮面的是外卖柜业务、共享单车业务的后端开发工程师,最后 1 轮面的是优选业务的软件开发工程师。可拉倒吧🙄
一面
- 自我介绍
- 部门介绍
- 链路追踪
- 如何传递追踪信息
- 如何实现多线程追踪
- 消息队列
- rabbitmq 有几种模式
- 消息处理失败怎么办
- ES
- 问题
- SQL
- dp
- 线段切分为三角形的概率
二面
- 自我介绍
- 讲述最熟悉的项目
- 中间件(消息队列)
- 如何实现
- 传输数据
- RPC
- 传输数据
- 从头实现 RPC 会怎么写
- 设计模式
- 装饰器
- 适配器
- 题目
- SQL
- 区间合并(不让用 C++,用 Java 写)
三面
- 自我介绍
- 区块链
- RSA 算法
- 对称加密和非对称加密
- CA 黑名单功能(节点黑名单,拒绝节点的连接)
- 入网流程
- Java 程序分析系统
- 有哪些反序列化漏洞
- 漏洞检测流程
- NoSQL 和 SQL 的区别
- 是否了解 DDB
- Redshift 的底层实现
- 亚马逊全栈项目介绍
- 有关注什么领域
- 什么是云原生
- 有哪些内容(服务器、网络、存储、身份认证、等等)
- 更想做偏向业务的还是基础架构
- 基础架构,之前在亚马逊就是非常贴近业务,直接和卖家交流了都
- 反问
- 新人进去会接触什么
- 晋升机制
一面
- 自我介绍
- MySQL
- 引擎
- 索引
- 查询优化
- Redis
- 数据类型,应用场景
- 消息队列
- RabbitMQ
- 还有哪些 MQ:Kafka、RocketMQ、ZeroMQ
- TCP/IP:三次握手,四次挥手
- 最有成就感的项目及其内容,技术栈
- 算法:走楼梯(3 种走法),动态规划
- 反问
- 什么时候出结果
- 有几轮面试:3 轮
二面
- 自我介绍
- 最有挑战的项目
- 全栈项目,数据处理,Lambda 优化
- 还有什么难点可以介绍
- 链路追踪插桩
- 项目相关问题
- 数据存储在什么数据库
- Lambda 执行耗时
- 如何传递追踪数据:traceId
- 每次调用都要生成什么追踪信息(优化)
- 一条 trace 中只生成 span 信息,不用再生成 traceId
- 如何设计数据的存储,查询时间范围内调用了该组件的 trace
- 分 trace 和 span 存储
- Java 线程状态:不了解,然后不问 Java 了
- 如何学习新技术
- 读过哪些设计
- 未来 3-5 年的规划
- 反问
- 业务用的框架
一面
- 自我介绍
- 全栈项目介绍,如果没有工具如何自己实现
- 算法:LC41
- 系统设计:停车场
- 反问:业务
- 优选(业务)
- 大数据部门(工程)
- 技术栈:Java、Python、可视化
科大讯飞
10 月接了意向,12 月打电话问我是否有人对接,已拒😅
一面
- 自我介绍
- 项目总结:提炼、总结
- JVM
- 内存区域
- 垃圾收集器
- 垃圾回收
- 性能调优(JVM 参数)
- ThreadLocal 内存泄漏
- Spring MVC
- 启动流程
- 内置过滤器有哪些,怎么写过滤器
- 计算机网络
- 域名劫持
- DNS 查询过程
- 中间人攻击及解决方法
- 做算法题的收获
- 哪些东西让你豁然开朗
- 数据结构/算法的具体应用场景
- 项目中有成就感的事
- Redis
- 哨兵机制
- 加快缓存(访问 key 的速度)
二面
- 自我介绍
- 有没有了解其他链路追踪工具(Skywalking)
- 最有挑战的项目
- 最有成就感的经历
- 如何解决分歧
- 意向城市
- 期望薪资
- 职业规划
- 反问
- 新人培训
- 7 月中旬入职,一个月培训(思维转变、技术培训)
- 教育部门 10 月中旬会到一线高校部署,获得产品反馈
- 技术分享:BG、训练营
- 编程语言和框架
- 大前端:IOS、Android、HTML5
- 服务端:Java(工程)、Golang(中间件)、C++(AI 引擎)
- 框架:SpringBoot
- RPC:基于 Dubbo 扩展
- 网关:自研
- 追踪:引入 Skywalking、接 ELK
- 熔断等,注册中心 Zookeeper
- 消息队列:RocketMQ(业务)、Kafka(日志)
- 数据库:MySQL、MongoDB、ElasticSearch
- 教育部门,14 个组,按需求-意愿-画像分配
- 新人培训
HR 面
- 自我介绍
- 项目中最有成就感的事情
- 项目中遇到的困难
- 合作与分工
- 问题
- 业务:教育bg,入职分配
- 工作地点:合肥本部,武汉研发中心,西安研发中心
微软
10.1 和大家一起挂了。
一面
- 自我介绍
- 算法:解析 JSON 字符串
- 如何实现 Lambda 优化
- Java 程序分析系统介绍
二面
- 自我介绍
- 重点项目介绍(链路追踪)
- 如何传递追踪信息
- 谁来生成 id,什么算法
- 如何注入 RPC 调用
- 算法:实现
hasNext
(幂等)、next
函数
亚马逊
两连面,无后续消息,默认挂了。
一面
- 自我介绍
- 亚马逊全栈项目介绍
- 背景
- 实现
- 优化
- 转正失败的原因
- 算法:输入 2 个日志文件,根据 IP 分组统计事务的平均耗时
二面
- 英文
- 自我介绍
- 算法题用的语言:C++,在不同的项目中使用不同的语言
- 亚马逊全栈项目介绍(选型)
- BQ 问题
- 开发过什么自动化工具,帮助团队提高效率
- 团队遇到分歧如何解决(如何分工)
- 算法:输入 2 个日志文件,根据 IP 分组统计事务的平均耗时
- 反问:部门组织
- AWS service (AWS-CP-Platform)
- Global Team
- Last Mile Engine
蚂蚁
面试官似乎在蚂蚁呆了五六年,做 Service Mesh 相关内容。我个人比较感兴趣,但是当时还没怎么准备 Java😢
电话面
- 面试官介绍:可信团队技术部-基础设施
- PaaS
- K8s、安全容器
- 存储
- 中间件:研发框架,分布式应用研发、交互
- 自我介绍
- 全栈项目介绍
- 如何学习新技术
- 最近在读的内容
- Java
- 如何实现多线程并发
- 垃圾回收机制
- 反问
- 技术栈、框架
- 新人培训机制
拼多多
秋招技术岗只有内推,麻烦校友推荐了,虽然钱给得多但 996 实在劝退。面试官问我是否真的想做工程,同时表示做工程的女生少😓
一面
- 自我介绍
- 线程之间共享什么资源
- Java 的垃圾回收算法、垃圾收集器
- 序列化与反序列化的用途、方式
- 是否了解 ProtoBuf
- gRPC、Thrift、Dubbo
- 基于 Java 语言设计序列化和反序列化协议,需要解决哪些问题
- RPC 调用的流程
- MySQL
- 查询语句执行流程
- 查询使用哪个索引,回表
- 主键索引的数据结构,存储的内容
- 区块链都有哪些内容
- Linux 加载到内存的布局,内存区域
- Java 程序分析系统介绍
- 什么是反序列化漏洞
- 算法:最大子序列和(区间端点)
- 反问
- 新人培训机制:技术、企业文化,由师傅带
- 大部门招人
- 技术栈:业务(Java)、引擎(C++)
- 大小周还是固定六天:996
二面
- 自我介绍
- 每个项目的难点介绍
- 设计 Redis/HashMap 持久化(数据结构,如何写入文件)
- HashMap 底层
- 设计:插入/删除/随机选取,O(1)
- 算法:二叉树的序列化和反序列化
- 反问:大组招人
带动热潮
牛客网投递,面试比较水,HR 挺有意思(褒义)。
一面
- 自我介绍
- 链路追踪项目介绍
- 网络虚拟化(Neutron)
- 如何保证 traceID 不重复:UUID
- 如何实现多进程追踪
- 大文件 topK:排序、分片、小根堆
- 反问
- 工作内容:K8S、Java/Python,即时通信(并发、可用),算法(NLP、图像处理)
- 是否有人指导:没有大厂的新人培训机制
- 多久出结果
快手
面试笑嘻嘻,反手给人挂🙁
一面
- 自我介绍
- 链路追踪系统介绍
- Java 程序分析系统介绍、解释反序列化漏洞
- 全栈项目介绍:业务、大数据处理
- 探讨:日志压缩,不用解压获得对应数据
- Java 锁(不了解,开始问 JVM)
- GC 垃圾收集
- HashMap 底层实现
- 哈希冲突解决方式
- 从右往左层序遍历
- 假设每层是满的,没有则填充
- 方法一:放入 null 节点
- 方法二:根据上一层节点进行填充
- 反问
- 部门招人,进去再分配
- 新人培养机制
- 主要的语言和技术栈
极智嘉
对接的 HR 实习生跑路,二面的面试官迟到 15 min,态度极其敷衍。
一面
- 自我介绍
- 链路追踪系统介绍
- MySQL 事务、索引、数据类型
char
和varchar
对比- Redis 适用场景、优缺点
- Java 线程安全的实现方式
- JVM 什么时候进行垃圾回收,如何判断对象是否存活
- Spring 框架(不了解)
- 反问
- 部门招人按组分配
- 一共 3 面,一周内出结果
二面
- OOP 三大特性,Java 如何实现多态
- Java 相关
private
、protected
final
修饰类- 线程同步
- 网络编程
- Linux 常用命令
- 数据库三大范式
- MySQL 索引作用
- HTTP 状态码:404、500
字节跳动
SQL 没写出来不代表完全没接触过,不恰当地扩展一下,一时半会儿忘记某汉字怎么写就代表不会汉语?当然我没怎么复习 SQL 也是事实。
另外,业务面所谓的「知识迁移」完全就是「突发奇想」,我不做这个内容,业务也不做这个内容,真不知道是怎么想的😅
不过 HR 给人印象很好,通知和协商都很及时友好,接到 Unity 就不等这边了。
一面
- 全栈项目介绍
- 算法:岛屿数量
- 设计:学生、老师、选课,ER 关系
- Cookie 与 Session
- Nginx 反向代理,正向代理,如何实现高并发
- 乐观锁/悲观锁/自旋锁,CAS、ABA 问题
- TCP 流量控制
- 是否了解 Golang 的 Context
- 反问
- 部门招人
- 技术栈
- 几轮面试
- 面试结果多久出
二面
- 自我介绍
- Java 程序分析系统介绍
- 进程与线程的区别
- 进程间通信方式
- HashMap 与 ConcurrentHashMap 区别与底层实现
- Spring 不了解 -> AOP 与依赖注入的关系
- MySQL 索引
- HTTP 流程
- SQL:
student
、student_score
没有不及格的学生姓名,总成绩 top3 的学生姓名 - 算法:合并 k 个有序链表
三面
- 自我介绍(包括优势)
- 实习经历打分(8/10),为什么
- 技术沉淀:跟项目走
- 介绍链路追踪工具 Jaeger
- 如何挖掘漏洞
- OpenTelemetry 规范,为什么要统一规范
- Jaeger 实现(功能、模块)
- 全栈项目介绍:做得最有难度的点(Lambda 优化)
- MySQL 联合索引设计,需要考虑什么
- JVM 内存区域,划分方式(新生代、老年代)、垃圾收集为什么要暂停线程
- 算法:LC540
- 发展方向:业务/基架,为什么
- 描述自己的优缺点
- 反问:
- 业务介绍:内部分为很多项目组,北京/上海
- 发展前景:抖音电商(2年),完成淘宝(20年)的 10+ 年
四面(业务)
- 自我介绍
- 全栈项目介绍
- 如何评价项目的表现情况
- 项目完成后有什么帮助/改变
- 实习收获:锻炼快速学习能力、设计文档撰写、UI 绘制、交流能力、业务了解能力
- 链路追踪系统介绍
- 如何挖掘逻辑漏洞
- 数据库的身份伪造如何检测(?不是)
- 操作系统怎么实现权限认证(?账号密码、用户、用户组)
- MySQL 并发问题、隔离级别(解决什么问题、如何解决)
- 微信转账的隔离级别,为什么,SQL 语句怎么写
- Java 垃圾回收算法(可达性分析算法,标记清除、复制、标记整理)
- 代码习惯
- 格式化、测试覆盖率、成熟框架(避免重复造轮子)、注释与文档
- 如何学习新技术
- 调研设计、官方文档与示例、具体的应用代码、开源社区、有经验的开发者
- 反问:业务
- 抖音电商-服务体验
- 自我发现问题(业务功能迭代):机制(识别、解决)
- 业务异常、售后技术、增量(用户、保障)
HR 面
- 自我介绍
- 职业规划
- 考虑公司的哪些方面(发展前景)
- 对抖音电商的了解(依托抖音平台、与淘宝对比、快速发展)
- 手里的 offer 情况
- 工作地点倾向:北京、上海
- 内推、工作强度:通过同学朋友早有了解
- 学习成绩、排名等
- 介绍全栈项目:背景、需求、实现、解决的问题
- 实验室研究方向:软件安全开发
- 自己的优缺点
- 喜欢学习,都学哪些内容:论坛分享、群组分享、开源社区
- 之前面试官反馈完全不了解 SQL:有用但是盲写不记得,倾向于结合需求与技术文档实现
- 有没有投百度/阿里/腾讯
- 反问
- base 地:北京
- 结果多久能出:需要对齐、审批
MiniMax
面试官不会 Java 却非要当场找点材料问😅
一面
- 自我介绍
- 全栈项目介绍
- 算法:Trie 树
- TCP/IP:三次握手、四次挥手,流量控制、拥塞控制(算法)
- Java:HashMap 底层,ArrayList 与 LinkedList 比较
- Redis 数据结构及用途,底层实现,大 key 问题
- MySQL 三大日志,索引结构(B/B+/红黑树/哈希),MVCC,性能优化
- 反问
- 技术栈:Golang
- 部门:对话系统/AI生成,ToC,ToB,基础架构,算法
- 人数:加上实习生 100 多人
- 面试:一周出结果,至少 3 轮技术
Unity 中国
简历贴了 Github 账号,没想到两位面试官都看了 23 届暑期实习面试总结,还都了解到我玩 FF14🤣
一面
- 自我介绍
- 部门介绍
- 解决方案(客户需求):引擎定制,功能、性能
- 引擎研发:中国版
- 产品研发、云服务、技术支持:Hub、少儿编程、云桌面、社区
- 介绍 Java 程序分析系统
- 什么是利用链
- 做得比较自豪的:全栈项目,讲述 Lambda 优化
- JVM 内存区域
- Java 垃圾回收算法
- 算法:序列化和反序列化二叉树
- 反问:是否介意没有「C++/C#/图形学」基础
二面
- 自我介绍
- 算法:在排序数组中查找元素的第一个和最后一个位置
- 在亚马逊的实习体验
- 对区块链的看法
- 发展方向的计划(开发)
- Unity 中国:独立,类似外企,没有 996,更多可以问 HR
- 方向介绍
- 常规业务:前后端、Hub、云
- 中国引擎开发
- 技美:package
- 项目组:游戏开发需求、引擎定制需求
- 人机交互:车载,新能源汽车(小鹏)
- 数字孪生、工业方向、元宇宙
- 反问:面试官是做什么的
- K12 中学教育
- 引擎定制
- 韩国教育集团合作
三面
- 为什么想来 Unity:外企 + 上海 + 离家近 + 发展机遇
- 职业规划
- 对 Unity 的了解
- 觉得自己代码能力如何
- 代码格式化
- 测试覆盖率 90%(高标准)
- 看过其他人的代码,不够优雅
- 对什么感兴趣,为什么
- 前端/引擎/后端
- 不会像互联网那么大量级
- 做得比较杂,啥都会接触
- 没有图形学基础(现学 C++/C# 就可以)
- 会写 CSS 吗,了解
flexbox
吗 - 业务
- 云编辑器
- 元宇宙(课堂、场景)
- 多人对战(资产加速、权限管理)
- Unity Hub
- 反问
- 和业务结合:全栈 + 引擎
- 虚拟人发展愿景(合作),主要是为了帮助开发者
浪潮
点击就送,批发价,已拒。
一面
- 自我介绍
- docker 常用内容:镜像、容器、网络、卷
- docker 如何查看日志
- 描述二叉树深度优先遍历
- 描述二分查找
欧科云链
网上貌似都说区块链前景不明朗,面试体验良好,已拒。
一面
- 自我介绍
- 不同编程语言之间的差异,为什么 C/C++ 快
- 线程池执行过程、七大参数
- 线程池队列比较与选择
- hashCode 与 equals
- synchronized 与 Lock 比较
- 线程同步方式,wait/nofity、park/unpark
- wait/sleep 的区别
- MySQL
- 索引数据结构比较
- 联合索引
(a,b,c)
以下语句select * from table where a > 10 and b > 10
是否用到索引 - 联合索引 B+ 树上的存储内容
- 三大日志及其作用
- MVCC 如何实现
- 隔离级别
- 如何防止幻读
- 系统设计:电梯调度系统(电梯、调度)
- 反问
- 交易所,类似同花顺
- 组织架构
- 权限验证
- 平台业务
- 策略交易
- 网关(防火墙、安全)
- 区块链
- 基础架构:压测(4/5人)、稳定性(链路追踪,6人)、脚手架
- 规模
- 公司 2000+:产研、需求、测试等
- 基础架构 70/80+
二面
- 自我介绍
- HashMap 与 TreeMap
- 线程状态,线程池中的线程会在什么状态
- 关闭进程时需要执行
shutdown
吗 - 数据流存储->优先队列->堆
- 如何使用数组实现堆
- 排序稳定性,稳定排序的应用
- TIME_WAIT 状态
- 区块链
- CA、TLS
- 签发过程、认证过程
- 链路追踪系统
- trace、span 等概念
- 跨线程传递
- jaeger 架构
- 数据如何发送(RPC)
- 收集数据如何做漏洞挖掘
- Java 程序分析系统
- 使用什么框架开发
- 收集什么信息
- 如何做验证
三面
- 自我介绍
- 全栈项目介绍
- 工作内容
- 为什么选 Redshift,底层(基于 PostgreSQL 开发)
- 前端直接绘制,或使用仪表板工具 QuickSight
- 英文水平
- CET-6/576
- 实习期间的设计文档,邮件都是英文写的
- 对分布式办公的看法
- 实习时没去过公司,参加过几次团建
- 可以线上语音/视频交流
- 是否投递北京其他大厂
- 外企:撤出、冻结
- 百度:不喜欢其产品
- 京东:找实习的体验不好,工作地点太远
- 字节:面试看运气
- 对公司的了解:Web3、区块链
- 反问
- 业务:海外(数字货币、持牌货币)、国内(链上大数据治理)
- 基架:基础设施、微服务、DevOps、k8s、安全
HR 面
- 自我介绍
- 为什么不做安全,为什么想到北邮
- Java 程序分析系统
- 工作内容、分工/协作、交流模式、小组规模
- 不是直接安排具体课题,而是自己选定和探索
- demo 扩展为系统
- 全栈项目
- 团队介绍(目标)、工作内容
- 最困难的地方:挑战,最自豪的 Lambda 函数优化
- 说服他人、和人交流
- 为什么不想贴近业务:不想直接和外部客户打交道,内部 OK
- 对公司的了解:不太了解,应该不是灰色产业
- 国内政策不明朗,主要面向海外
- 手里的 offer 情况
- 反问
- 北京办公楼,mentor 一起来
- superNova 培训:三年内培养成大佬(硬实力、软实力)
- 法定带薪年假+2,每年+1
- 补贴:健身5k1、学习6k8
- 免费晚餐下午茶水果,生日礼金
- base + 绩效年终,应届生一个池子
ONES
一天三轮,过了立马接到电话约下一轮,两周后出结果,已拒。
一面
- 自我介绍
- 介绍链路追踪系统,遇到过什么问题、如何解决
- 全栈项目里的数据处理:如何同步、数据如何处理、效率问题
- 接触过的编程语言与工具
- 平时怎么关注新技术,如何学习新技术
- 工作选择:研发、地点、业务前景、薪酬福利
- 反问
- 业务:SaaS
- 组织规模:研发 300 左右
- 发展前景:做到国内 top1,发展海外业务
- 主要技术栈:golang、k8s、ES/MySQL、Superset
- 面试流程:基础面 + 主管面 + HR 面
二面
- 自我介绍
- 全栈项目(独立),如何对接需求
- 设计文档:Mentor/PM、组内汇报
- 具体实现:Mentor、社区
- Java 程序分析系统(协作)
- 如何协作:分模块开发
- 如何推进:会议
- Java 程序分析系统如何改进:Spring、其他漏洞分析、语句级别分析、跨语言分析
- 如何学习新技术:官方示例/文档、开源项目
- 工作选择:地点、研发、业务、薪酬福利
- 反问
- 业务:B 端系统(国内/国外)
- 规模:公司 600+ 人,按模块垂直划分,去年今年招人
- 新人培训机制:导师制、半个月课程培训、1-3 月学习期、3-5 月接手任务
HR 面
- 自我介绍
- 对公司的了解
- SaaS,企业解决方案
- 目标:国内 top1,开拓国外市场
- 部门垂直划分
- 技术栈 golang + k8s
- 新人培训机制
- 介绍最有挑战性、成就感的项目经历(全栈项目)
- 工作选择:地点、研发、业务、薪酬福利
- 一到三年的职业规划
- 手头有什么 offer
- 反问:大约 1-2 周出结果
金山云
面试体验一般,北京的工作地点在小米科技园内,已拒。
一面
- 自我介绍
- 算法:归并排序
- synchronized 与 Lock 区别
- 线程状态
- 如何查看线程状态
- JVM 内存结构
- NIO(不会)
- volatile 关键字
- 线程池七大参数
- 创建线程的方式
- 是否接受武汉
- 反问
- 部门:大数据
- 招聘:大数据、Java(Spring Boot、Spring Cloud)
二面
- 自我介绍
- 介绍 Java 程序分析系统
- Hash 结构,如何解决冲突,HashMap 底层实现、如何扩容
- 调度算法
- 页面置换算法
- OSI 参考模型(7 层)
- 用过 ping 吗
- 常用 Linux 指令
- 查看网络连接情况(netstat)
- equals 和 hashCode 的关系
- ConcurrentHashMap 底层实现
- HashSet 和 HashMap 的关系
- 堆内存划分方式(垃圾回收)
- 反问
- 地点:主要是武汉、厦门,本部在北京
- 部门/业务:存储、网络、CDN、计算等
- 分配:双向选择
Flexport
一二连面,题目不难,三面的面试官是前同事🤣。RSU 的饼很大,但还是选现金多的xd
一面
- 自我介绍
- 设计题
- client、order、match
- 时间复杂度
- 优化:堆(完全二叉树、时间复杂度)
- 反问:组织架构
- 研发:操作系统、物流功能
- OPS/Operations
二面
- 算法题
- L 型走法,
w*h
大小棋盘是否能覆盖 - 只走一个方向是否能覆盖
- L 型走法,
- 反问
- 按业务(BU)组织,10+ 人
- 工作选择:外企、前景、地点
- 跨时区交流:不会很多
- 技术栈:Ruby、JVM、React
- 培训机制:manger、mentor、课程
三面
- 自我介绍
- 面试官自我介绍
- 从以下四个方面介绍项目
- 背景&目的 background
- 挑战 challenge
- 方案 action
- 结果 result
- 全栈项目介绍
- 各个模块的选型理由:数据库、QuickSight、Lambda、Harmony、权限管理(IAM、CDK)
- manager 是谁,为什么没有 return offer(哪些 LP 做得不好)
- 为什么不存储在内存中,为什么要有数据库:内存放不下
- MySQL 和 Redis 区别:SQL 与 NoSQL、持久化、事务
- CAP 定理
- 关系型数据库能实现分布式事务吗
- 为什么要有传输层:可靠性
- 流量控制、拥塞控制
- 反问:业务
- Trade Platform
- Operation Tech: on-time performance, cost-saving
- 类似 TMS(planning、execution),forward application
- OC: document, concern, assignment(出口、进口)
- 目标是做成 SaaS
英雄游戏
面试官不开摄像头,但要求我开摄像头,面试体验较差,二面已拒。
一面
- 自我介绍
- 全栈项目介绍
- Java 程序分析系统介绍
- 线程池
- 线程安全(volatile、synchronized、Lock)
- 底层
- 三要素:原子性、可见性、有序性
- 公平锁与非公平锁实现:AQS、CAS
- IO 模型
- NIO
- 多路复用 epoll
- 协程
- Redis 持久化
- RDB、AOF
- 阻塞
- 写时复制
- MySQL 索引
- 优点
- 底层数据结构
- 联合索引,如何存储,是否失效
- KCP(不了解)
- 快排、归并,时间复杂度
- 三数值和(接近 target)
- 反问
- 2 轮技术 + 1 轮 HR 面
- 新项目(UE)、老项目(Unity)
- 服务器(Java)、客户端、美术、策划
总结
招聘信息主要从校园论坛、牛客网、Linkedin 获取,投递的全是开发岗位,部分有内推。9 月中旬实习结束后才开始准备和投递,没有做好准备就陆续开始面试了,10 月底集中两三天做银行笔试,之后持续笔试面试,期间还花了两天准备和参加中期答辩,最后终于等到了「Unity 中国」,寄出三方后拒绝了其他在流程中的。
秋招战线两个多月,零零散散也拿到十几个 offer,终于定下来了。