第一个环节 自我介绍
讲了一下两个月的实习输出,包括文档、流水线、需求预研、代码量这一块
面试官是同部门的 所以对我做的什么也比较熟悉 还好都是实打实做的 讲了一下面试官点头表示认可
写在前面,推荐这个ai面试产品,多面鹅ai,真的很好用。在面试前已经模拟面试准备过很多次,多亏了多面鹅帮我模拟面试还复盘,给了我很大的帮助!还有线上面试同步ai辅助提醒的功能,但是我没用,有用过的小伙伴可以分享一下经验!
OfferGoose 多面鹅官网 - AI 面试模拟 | 实时面试提醒 | 通过面试
第二个环节 项目&基础知识
项目这一块讲了一下项目背景、自己负责的工作、整体的架构。
Q1.计算机网络七层模型
Q2.http 协议如何保证可靠性(当时以为是要答建立连接讲了个三次握手- -||) Q3.拥塞控制和滑动窗口
Q4.Linux 有没有用过
Q5.常用的 Linux 命令 Q6.查看进程的 Linux 命令 Q7.mysql 隔离级别
Q8.事务隔离级别实现(讲了一下 MVCC) Q8.mysql 建立用户的语句
Q9.如何给一个用户改密码(这个操作没用过 说我都是用远程连接工具做的这事...)
第三个环节 手写代码
二叉树的层数 编译器实际运行 楼主当时原地懵逼 写了一个层序遍历,代码逻辑上没什么问题,调了半天还没有跑起来 好在可能面试官是自己部门的所以给放了下水 把整体的思路讲了一下 截了图给算过了 感谢大哥!!
一二面是连起来的,10 分钟后就开始了第二面
二面 技术面这一面面试官
第一个环节 自我介绍
讲了一下自己本科研究生做的项目 介绍了一下自己实习工作
讲到流水线相关,面试官一直想问 CI/CD 相关 问我对这些的理解(我是实习以后才接触到)还说你不是软件工程的吗你怎么会不了解这些(我真没上过这个课)
针对我做的一个需求展开了探讨,为什么会有这个需求?为什么用这个方案?另一种为什么不行?
问了下技术栈 java 后端 go shell 前端 C++
问你接触了这么多技术栈 以后给自己一个什么定位?
答:不给自己设限,拥抱变化,工作需要啥我就学啥,有兴趣的技术会利用个人时间学习。
第二个环节 项目&基础知识
Q1.栈和队列的区别
Q3.满二叉树第 N 层叶子节点个数
Q4.冒泡排序最好情况最坏情况要交换多少次(当时推导了半天,大家下去手写一遍) Q5.http 相关(一些基础知识,具体问题忘记了)
Q6.Java 常用的集合类(HashMap ConcurrentHashMap Set) Q7.线程和进程的区别
Q8.问了一波操作系统相关(存储、七态模型、LRU、死锁、)
Q9.进程间的通信方式(答出来来 6 种,具体说明了两种如何使用和实现的)
第三个环节 手写代码
也是 easy 级别的题目 翻转数字 然后要考虑正负 溢出 时空复杂度尽可能小楼主当时脑子抽了没仔细读题 平时写代码也是个调库侠
直接用了个stringBuilder.reverse()被一顿吐槽 你这没考虑空间复杂度然后又用了个stack 做除 10 模 10 的操作,面试官说不需要用栈
不得不说面试官真的很有耐心 一点一点引导最后我写出来了他想要的最优的方法
第四个环节 反问环节
问:如果通过了,我能留在实习部门吗?
答:你这个超出了我的能力范围,你可以问下你导师和 HRBP
三面 主管面
第一个环节 自我介绍
和一面二面基本上一样
第二个环节 聊人生Q1.你对华为的认识 Q2.家庭状况
Q3.城市的选择
Q4.你实习了两个月对华为的企业文化印象最深的几点 Q5.个人性格,朋友评价
Q6.哪些事情会让你感受到压力(工作中的和生活中的) Q7.你如何处理这些压力
第三个环节 口撕代码
由于题主实习笔试做的很烂,当时找实习的时候刚做完导师给的项目 题也没怎么刷 也确实没有怎么做准备
600 分的题就拿了 200 分,被质疑说计算机专业的学生编码应该更有优势,你为什么笔试分这么低(感觉最后会因为这个要被拿来压 offer 等级)
然后问了一连串场景题
Q1.奥运会奖牌榜如何实现
Q2.微博短连接转长连接如何实现 Q3.DFS 和 BFS 区别,适用的业务场景 Q4.对动态规划的理解
Q5.LeetCode 刷了多少道题
第四个环节 反问
问:如果通过了,我能留在实习部门吗?
答:人员内部是流动的,组内如果有需要会给你安排定级啥的咱也没敢多问