一面-技术(8月6日,30min面试+15min代码):
刚刚参加了华为消费者BG安工一面,紧张了。。。。
- 自我介绍
- 细谈一下你的研究方向和博士期间所做工作(介绍了一下论文)
- 4轮Feistel结构是CCA安全的,如果在它的后面附加一个分组或者其它算法,安全性会有怎样的改变?
- 你提到NIST轻量级算法,与传统的AES、RSA算法相比,轻量级算法在使用的时候要考虑哪些因素?
- 你刚刚提到了性能,除了硬件实现的性能之外,我们还要考虑ROM空间等软件要素,从代码量的角度考虑,目前有哪些比AES较好的NIST标准?
- 谈一下对RC4和Salsa20的了解——Salsa20是一类基于ARX结构的流密码算法,效率和安全性均较高,是欧洲eSTREAM的Finalists之一。Chacha是它的一个变种,即将取代TSL中使用的RC4。
- 实际应用场景:谈一下微信群聊需要考虑哪些安全因素?从安全性的角度出发,如何设计一个微信群聊系统。—— 这是个大头
- 代码:判断一个数是否为回文数。(可以使用编辑器)
二面-技术(8月13日,30min面试+15min代码):
1. 自我介绍(自我介绍完,面试官说,我紧张的像是在照着简历念 ,,ԾㅂԾ,,)。因为感觉之前一面回答的不好,今天特别紧张。。。
2. 你本科是东北大学的? 是
3. 谈一下ISO标准的发展近况。—— 此处要非常感谢王老师之前讲过的对称密码ISO标准动态分析讨论班!让我可以相对流畅地表达。
4. 谈一下对轻量级密码算法的了解。
5. 你对密码学的数学理论比较清楚,在密码的实现方面有了解吗?—— 要考虑认证加密模式,还有软硬件实现上要考虑吞吐量之类的。了解不多。
6. 你对软件的license有没有了解?license是用来干啥的?你有熟悉的license吗?—— 不太了解,我只知道是一种协议,可能需要用到认证的东西。没有熟悉的。。。
7. 对公钥密码有了解吗?有没有熟悉的公钥密钥? —— 举了RSA、ECC和格密码。
8. 密码的应用方面有了解吗?在实际中都有哪些应用?—— 举了TCP、SSL的例子,说了数据安全方面的同态加密、混淆电路,还说了公钥和对称的不同适用场景。
9. 基于身份的加密方案有了解吗?—— 不多,只知道用公钥认证(昨天看过相关内容,但是一紧张都忘了。。。)
10. 对后量子算法有没有了解?—— 如基于格的(之前上过胡老师的后量子课,但是没复习,都忘了。。。)
11. 同态目前有没有可以应用的算法?—— 提了LWE,不太了解能不能用。
后面问做格密码的室友,目前工业界用到的都是单同态,如RSA(乘法同态)、paillier(加法同态)、Elgamal(乘法同态),全同态效率低,用的不多。全同态:BGV BFV GSW都是基于LWE的。
12. 量子计算机对现有密码算法主要有哪些威胁?—— 提了对RSA的威胁
13. 为什么量子计算机对对称密码威胁比较小,对公钥威胁比较大?原理是什么?—— 提了Shor算法。还提了量子算法对对称密码结构上的分析。
14. AES常用的工作模式有哪些?
15. 在纸上画一个你熟悉的工作模式。
16. 代码:输出迷宫最短路径。
笔试(8月19日,70min)
躲过了二面,没有逃过笔试的摧残。。。
选择题,单选20道(3*20=60分),多选20道(7*20=140分),应该是60分及格。全是系统安全、漏洞检测之类的知识。嗯。。。连题目都不太看得懂。。。
9月9日更新
笔试88分飘过了,有点运气好。。。接下来就是性格测试了
综测(9月12日,120min)
性格测试,易考系统,与农行测试题比较像(感谢农行的笔试)
三面-综面(9月17日,20min)
- 自我介绍
- 对华为企业文化的了解
- 对面试部门的了解
- 简单介绍一下你认为你做的最好的一项工作
- 最有成就感的一件事
- 最失败的一件事
- 如果导师让你做一个东西,你产生了新的想法,要怎么与导师沟通
- 团队合作中哪些东西比较重要
- 对薪资有什么要求
- 对工作地点有什么要求
最后两个与编程能力相关的问题:
- 你的编程相对比较弱,有学过算法、数据结构之类的东西吗
- 你所做软件开发项目的代码量是多少,用什么语言写的