蔚来智驾-25届测开实习生二面面经
1. 询问基本信息
1. 毕业时间,可以实习多久,每周可出勤天数。
2. 之前有实习经历吗?(回答有)
3. 怎么安排学校和实习的?
4. 自我介绍
5. 你之前有过一段测试相关的实习经历,刚才你又说到了你的项目,你选一个你觉得难度大的介绍一下。(选了项目)
6. 你觉得你这个项目的难点是什么?具体难在哪?
7. 你为什么要用加盐加密算法?你觉得有什么好处?
8. 具体解释一下加盐加密算法的原理。
9. 加盐加密算法如何解密?
10. (提到MD5了)你怎么理解MD5是可逆的?
11. 针对这样一个系统,你怎么对它做测试的?怎么确定这个系统符合你的预期?
12. 你怎么衡量你做的单元测试好不好?(回答设计一些测试用例,看用例的覆盖率)
13. 打断一下,比如说一个地方你扩展了20条或者30条测试用例,但是你扩展完以后怎么去衡量你扩展的到位了呢?举个简单的例子,比如说你写了一个函数支持累加,你写了100条这样的一些case,从1加到100,但其实它走的是一个相同的逻辑,并不会对你这个函数的测试有很大的意义,你能理解这个意思吧?所以它可能不是说从数量上面去评价单测,当然数量也是一个维度。
14. (我理解成要用不同的逻辑进行测试才行,面试官引导:)覆盖率听过吗?在Java的控制台里面会打印出这些测试结果的指标,比如说代码覆盖率,但一般只要测试通过就会显示100%。你觉得对于质量保证来说这足够吗?为什么?
15. (回答不够,性能测试还要看吞吐量,帧率,并发能力等指标。)这块你怎么去验证?
16. PerfDog这个工具适用于什么语言或者什么方向去做性能分析?
17. 除了这种单元测试,还了解其他的一些测试的手段吗?比如静态代码扫描或动态代码扫描。
18. SonarQube听说过么?
19. 对C++了解如何?
20. 技术性探讨:C++里可以用vector去声明向量,比如声明一个长度为10或者动态的向量,但在使用的时候可能越界访问从而出现问题。或者出现无符号数越界,整形最大最小值越界。在这种情况下面有什么办法能够避免这个问题出现?
21. (提到了自动探测)自动探测这一类的工具你有了解吗?
22. 你有去了解过一些大模型相关的东西吗?说一下你的理解。
23. 说一下职业规划和你希望的工作是怎样的。
24. 怎么认识测开。
25. 反问
#蔚来##测试开发##实习#
1. 毕业时间,可以实习多久,每周可出勤天数。
2. 之前有实习经历吗?(回答有)
3. 怎么安排学校和实习的?
4. 自我介绍
5. 你之前有过一段测试相关的实习经历,刚才你又说到了你的项目,你选一个你觉得难度大的介绍一下。(选了项目)
6. 你觉得你这个项目的难点是什么?具体难在哪?
7. 你为什么要用加盐加密算法?你觉得有什么好处?
8. 具体解释一下加盐加密算法的原理。
9. 加盐加密算法如何解密?
10. (提到MD5了)你怎么理解MD5是可逆的?
11. 针对这样一个系统,你怎么对它做测试的?怎么确定这个系统符合你的预期?
12. 你怎么衡量你做的单元测试好不好?(回答设计一些测试用例,看用例的覆盖率)
13. 打断一下,比如说一个地方你扩展了20条或者30条测试用例,但是你扩展完以后怎么去衡量你扩展的到位了呢?举个简单的例子,比如说你写了一个函数支持累加,你写了100条这样的一些case,从1加到100,但其实它走的是一个相同的逻辑,并不会对你这个函数的测试有很大的意义,你能理解这个意思吧?所以它可能不是说从数量上面去评价单测,当然数量也是一个维度。
14. (我理解成要用不同的逻辑进行测试才行,面试官引导:)覆盖率听过吗?在Java的控制台里面会打印出这些测试结果的指标,比如说代码覆盖率,但一般只要测试通过就会显示100%。你觉得对于质量保证来说这足够吗?为什么?
15. (回答不够,性能测试还要看吞吐量,帧率,并发能力等指标。)这块你怎么去验证?
16. PerfDog这个工具适用于什么语言或者什么方向去做性能分析?
17. 除了这种单元测试,还了解其他的一些测试的手段吗?比如静态代码扫描或动态代码扫描。
18. SonarQube听说过么?
19. 对C++了解如何?
20. 技术性探讨:C++里可以用vector去声明向量,比如声明一个长度为10或者动态的向量,但在使用的时候可能越界访问从而出现问题。或者出现无符号数越界,整形最大最小值越界。在这种情况下面有什么办法能够避免这个问题出现?
21. (提到了自动探测)自动探测这一类的工具你有了解吗?
22. 你有去了解过一些大模型相关的东西吗?说一下你的理解。
23. 说一下职业规划和你希望的工作是怎样的。
24. 怎么认识测开。
25. 反问
#蔚来##测试开发##实习#
全部评论
盐值在密码存储中起着重要的作用,主要有以下几个原因:
1. **增加密码安全性:** 盐值可以确保即使两个用户使用相同的密码,其最终的加密结果也会不同。这是因为每个用户的密码都与一个唯一的盐值结合在一起进行加密,使得即使密码相同,加密后的结果也不同。这增加了密码的安全性,降低了被破解的风险。
2. **防止彩虹表攻击:** 彩虹表是一种预先计算出的密码和其对应加密结果的大型表格。攻击者可以使用彩虹表来快速查找加密后的密码,从而破解用户的密码。使用盐值可以防止这种攻击,因为即使密码相同,由于每个用户都有独特的盐值,加密后的结果也会不同,使得彩虹表无效。
3. **提高密码破解的成本:** 盐值增加了破解密码的成本。即使攻击者能够获取到加密后的密码,但由于无法得知盐值,他们仍然需要对每个可能的盐值进行尝试,从而增加了破解密码的难度和成本。
SonarQube:
1. **代码重复率检测:** SonarQube可以检测代码中的重复片段,并计算出代码重复率。这对于发现重复的逻辑、功能或者模块非常有用。例如,在一个项目中,如果有多个地方都实现了相似的功能,但是代码片段却没有被重用,那么SonarQube就可以帮助团队发现这些重复,并提出将其重构为可重用组件的建议,从而提高代码的可维护性和可重用性。
2. **安全漏洞检测:** SonarQube内置了许多安全漏洞检测规则,可以帮助发现代码中的潜在安全风险。例如,如果代码中存在未经验证的用户输入、SQL注入漏洞、跨站脚本(XSS)漏洞等,SonarQube就可以及时发现并提出修复建议,以增强代码的安全性。
3. **代码复杂度分析:** SonarQube可以评估代码的复杂度,并提供相关指标和建议。高复杂度的代码通常更难理解、测试和维护,因此需要特别关注。例如,如果一个函数的复杂度超过了阈值,SonarQube就可以提醒开发人员考虑重构或者拆分该函数,以提高代码的可读性和可维护性。
4. **规范性检查:** SonarQube可以检查代码是否符合编码规范和最佳实践。例如,是否遵循了命名规范、注释规范、代码风格规范等。这有助于确保团队成员之间的一致性,并提高代码的可读性和可维护性。
通俗地说,大模型就像是一个超级聪明的机器人大脑,可以处理非常复杂的任务和信息。这些模型通过学习大量的数据和规则,就像人类学习知识一样,然后可以根据学到的知识来回答问题、执行任务或做出决策。
举个例子,想象一下你在玩一个视频游戏,而游戏中有一个“智能导师”可以帮助你解决各种问题。这个“智能导师”就是一个大型模型。它可以通过观察你的游戏过程和听取你的问题,然后给出建议、提供技巧或者解释游戏规则。这个导师变得越来越聪明,是因为它可以处理更多的信息并且学习到更多的经验,就像你在玩游戏的过程中积累了更多的经验一样。
相关推荐
点赞 评论 收藏
分享
查看3道真题和解析
点赞 评论 收藏
分享
10-28 10:34
北京师范大学 测试工程师 点赞 评论 收藏
分享