首页 > 华为优招-软开-二面面经-许愿过主管面

华为优招-软开-二面面经-许愿过主管面

二面:
自我介绍:重点擅长数据库 和 Spring+Dubbo源码

第一部分:数据库连招。后面知道面试官是数据库团队的,数据库这块问了20多分钟。
1.你了解哪些数据库?
答:MySQL的InnoDB,追问:其他不会吗?答:不(敢)会
2.事务特性?追问:隔离性详细说说?
答:在下老ACID了,分别解释和大致的实现原理。
3.当前读&快照度?
答:提到了MVCC和Next-Key Lock,更新丢失等等
4.MVCC实现快照读的原理?
答:一致性快照 + 高低水位 + undolog,不同隔离级别一致性快照生成时间点不同,判定规则等等。
5.锁类型?
答:全局锁(FTWRL) + 表锁(意向锁?) + 行锁
6.哪些属于行锁?
答:记录锁,间隙锁,临键锁,顺便说了幻读啥的。
7.MDL锁?追问:online-DDL是什么?会阻塞读写操作吗?
答:meta-data lock,执行DDL语句自动加锁。会,online-DDL业务有损。(面试官问我确定吗?答错了吗)
8.当前读加锁规则?
答:说了2个加锁原则,2点退化原则,面试官没有追问。
9.说一说你知道的MySQL的log。
答:binlog + redolog + undolog + slow log + general log巴拉巴拉
10.redolog和undolog介绍一下?
答:背书环节。
11.为什么事务提交不直接落盘,要写redolog?
答:WAL技术相关,顺序IO + 批量IO提高系统吞吐巴拉巴拉。
12.事务提交redolog和undolog哪个先写?能换顺序吗?
答:undolog先写(猜的),不能换,为什么,不知道鸭。
13.数据库备份做过吗?冷备,热备,温备?
答:不会。面试官提示:mysqldump不知道吗?连忙说知道,但是做的不多。
14.让你设计一个分布式数据库的话,你会考虑哪些因素?
答:扯了点网络不可靠,CAP巴拉巴拉。说了点分布式事务。
15.分布式事务解决方案?
答:2pc,3pc,TCC,重点介绍了2pc和3pc,TCC说了一丢丢。
16.paxos算法?追问:第一次没达到共识的节点怎么办(大概问的是落后的节点如何同步吧)?
答:paxos算法不太了解,说了一下ZooKeeper的ZAB和简化的Raft协议。追答:diff算法比较不同,然后同步。
17.分布式事务中间件了解吗?
答:阿里有个seata框架,不过没看过源码,比较熟悉的是Spring和Dubbo源码。
(分布式事务这块我真的顶不住了,试图引导面试方向,被无情识破)
面试官:现在的系统都是分布式的,你分布式这边不太行,那我们下一部分吧。
我:啊,这,好吧。

第二部分:网络,这部分问了啥有点忘了,不过都不难
1. time_wait状态什么时候出现?
2. 为什么要有time_wait状态?
3. 如果没有2MSL会可能出什么问题?请举一个具体的例子。
好像是3连以后网络这关就过了。

第三部分:计算机基础,也不太记得清了,唯一可以肯定的是这部分整段垮掉
1. 如果让你设计一个编译器你觉得要有哪些功能?
答:开始说的是C++编译过程,生成.a啥的,面试官说:不对,我说的编译器。我:词法分析,语法分析?然而我就知道这两个名词。
2. 正则表达式功能是怎么实现的?
答:是leetcode上的题用了状态机解的这题吗?我莫名其妙说了一句:状态机。
3. 那你知道哪些状态机?
答:下推自动机?图灵机?也就知道名词了。
(真吐了,这2块完全没准备啊)

第四部分:算法口述
1.KMP算法:记不清了说了几句,面试官人很好,看我不会换了一题。
2.堆排序,堆排序用在什么地方?
答:先口述堆排序流程,举例子:topK。尤其是在流处理中用堆的思想求topK。

第五部分:算法手撕
连续子序列最大和。
基础题,2分钟写完了,但是面试官让我继续检查检查。
应该是做的太快,面试时长不够,又写了动态规划的解法,然后做边界测试,一直磨够了10分钟。

反问:
1. 作为华为员工,如何看待美国打压华为?前天联发科宣布不出售芯片给华为,会不会对消费者业务有很大冲击?
答:核心:华为部分技术已经触及到美国的霸主地位了,所以被打压。打压会倒逼中国创新和进步,困难是暂时的。
2. 为什么一二面Java一题都没问,Spring也没问,是团队不用Java吗?
答:我们团队(华为云数据库团队)Java有的,比如中间件团队。知识点都是选择性考察,没有什么是绝对问的。
Spring这块好像说的是Spring比较偏业务,他觉得这不是他们部门的面试重点,校招面试还是比较看基础。
3. 面试评价,给我提建议。
答:本硕7年计算机科班,编译原理和计算理论的题没答上不太应该,这是基础,毕竟数据库团队是比较偏底层的,非纯业务部门。
分布式这一块也需要加强,包括今天没问的安全部分都是需要注意的。(还好没问安全,不然要栽)
最后,就是说应对未来的挑战的时候,基础才是最重要的,说我基础要加强,并且很多知识点,不仅要知道也要了解在什么场景中应用。

更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐