背景
作为一个 Java 程序员,平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,感觉自己无所不能。然而偶尔的一次聚会,听说和自己一起出道的同学早已经年薪 50 万,而自己却囊中羞涩。于是也想看看新机会,找个新平台,好好发展。
前段时间华为主动联系我要不要面试,抱着试一下的心态接受了面试邀请,最后顺利拿到了offer,不过最终由于方方面面的原因还是没有去。
本文主要分享下,面试的大致过程。
个人简历
1.迅雷两年后台开发(偏业务方向)
2.熟悉go开发,理解go协程、channel、内存分配、GC等基本原理及部分源码
3.熟悉mysql、redis、leveldb,理解其基本原理及部分源码
4.熟悉docker,了解k8s,理解docker基本原理
5.熟悉网络、操作系统、数据结构与算法
6.了解Kafka、Nginx、服务发现注册、服务限流
华为四面流程
机试(90min):
一道题,有关时间格式转换,然后统计总执行次数,要求90min内完成,具体题目忘了,反正不是很难。
一面 + 二面(3h):
0.自我介绍吧
1.怼项目:
a. 介绍下项目的模块设计
b. 就你做的部分说详细设计
c. Redis怎么用的?(缓存热点数据balabala)
d. 介绍下Redis的数据结构?你项目中用了哪些数据结构?(hash缓存数据),string也能缓存数据,为什么用hash不用string?
e. Redis的持久化方式除了RDB,还有什么?(AOF),区别以及适用场景
f. 解释工厂方法模式和模板模式(因为项目里写了这两个,所以被问了)
g. 项目Redis的部署方式?(单机部署。。。)好吧,那你知道哪些部署方式?(主从复制,哨兵,集群),介绍下?
h. 项目中mongodb的文档怎么设计的?为什么这么设计?
i. 我看你写过React, 能介绍下react组件的生命周期吗?(忘了。。。)
2. 介绍下集合框架?(List, Queue, Set)
3. ArrayList和LinkedList的区别,使用场景?
4. 详细说HashMap的插入过程?
5. HashMap是线程安全的吗?(不是)你知道有哪些线程安全的实现?(HashTable,ConcurrentHashMap),ConcurrentHashMap怎么实现线程安全的?(Segment/ synchronized+自旋cas)
6. http和https的区别?
7. http基于什么?(TCP)
8. TCP和UDP的区别?
9. 说下TCP三次握手?
10. 介绍OSI七层模型?http在哪一层?TCP在哪一层?UDP在哪一层?
11. 介绍下Restful,Patch是干什么的?(局部更新资源)
12. Nginx默认的负载均衡算法是什么?
13. 一条sql语句被提交后,mysql是怎么执行这条sql的?
14. 你知道哪些存储引擎?innodb和myisam的区别?
15. mysql所引用到的数据结构?(B+树,Hash)
16. 为什么用B+树存索引?
17.解释事务的特性(ACID)?
18. 解释事务隔离级别?mysql默认隔离级别?幻读问题怎么解决的?
19. 说下你常用的shell命令?
20. 平时怎么用git来做代码版本管理?
21.知道DevOps吗?(不知道...)
22. 手撕代码
a. leetcode第6题,z字型变换
b. leetcode第145题,二叉树后序遍历
23.有什么想问我的?
hr面:
0.结婚没有?(惭愧,女朋友都没有。。)
1.未来职业规划?(架构师,CTO,怎么上档次怎么来)
2.在龙岗,要搬家,你愿意吗?
3.你大学参加什么社团了吗,担任什么职位?
4.为什么出来看机会?(因为发展和期望不符之类的)
主管面:
0. 为什么出来看机会?(第二遍)
1. 对华为有什么了解?怎么看待加班?
2. 听说你想做架构师,你觉得架构师需要哪些能力?怎样成为架构师?
3. 介绍部门情况
4.有什么想问我的?
最终给我的offer薪资也确实不高,不过也不算很差。谈薪资的时候要注意,如果你们有什么补贴比如说饭补(或者包吃啥的),直接说道你的薪资里面,不要算补贴,这样最后你可以在这个基础上加工资。比如你薪资 15K然后有1K饭补,那你直接和面试官说你的薪资16K,不要说15K有1K的饭补,这样别人在15K的基础上给你加薪,而不是在16K。
注:华为不包吃,食堂也不便宜。
整体面试过程,面试官给人的感觉还是可以的,不过最终由于方方面面的原因还是没有去。
针对四面华为总结的面试提纲(思维导图+面试宝典+笔记)
面试复盘
以下是我在面试前恶补的一些Redis、MySQL、K8S、Nginx、Kafka、Docker的实战书籍,觉得颇有作用,如果大家喜欢的话可以点赞+转发后关注我的公众号回复【学习】获取。
深入理解Redis
高性能MySQL
实战Nginx
Docker实战
kafka实战书籍
K8S实战
做个总结
可能很多朋友会想问我最后为什么没有去华为工作,在这里统一回复,薪资低是一方面,还有一方面是被内推进了一个其他的大厂,给我的定位还算高,大家可以猜猜我最后去哪了,欢迎在下方评论,猜对有奖哟~
学习这件事,不是缺乏时间,而是缺乏努力。
文中提到的PDF均无偿赠送,需要的同学点赞+转发后关注我的公众号回复【学习】获取。
网友评论