2023-9-7 腾讯财经线2024校招java岗三面-财务线IT部门负责人面

1 自我介绍

2 一些学习上的问题

2.1 你平常怎么兼顾课程和实习的

答:一般周末会做作业,周中的话会请假上课,一般只需要请假半天到一天的时间

2.2 你现在达到毕业条件,还需要完成哪些任务啊

答:我专利已经发了,达到了毕业论文的送审条件

2.3 介绍一下你的专利

专利书上的介绍:本发明涉及软件安全技术领域,具体是涉及一种检测不完善补丁导致的漏洞的方法、装置及介质。方法包括:结合基于规则和/或基于ChatGPT的方法对提交信息进行分类,识别出安全补丁;从安全补丁中提取带有PoC的JavaScript文件,生成可执行的PoCs文件;收集所有的补丁文件,并根据频率信息进行排列,将被频繁打补丁的代码作为热代码,构建热代码文件列表;比较当前正在插桩的文件名与热代码文件列表,以选择性地对热代码进行插桩;对PoC的JavaScript文件进行变异操作生成新样本;将生成的所述新样本代码替换到热代码区域进行模糊测试;如果在模糊测试过程中发现了新的漏洞,则将其作为输入。通过该方法,显著的提升了识别安全补丁和发现新漏洞的精确度和效率。

答:简单来说就是从git上提取出所有的commit信息,从每一个条目里可知道这个补丁是为这个项目中的哪一个类的哪一个方法打的补丁,为了修复某一个漏洞,有的方法会被频繁的打补丁,所以会按照次数排序,然后依次处理所有的PoCs文件和热代码区域,将这些热区域中的代码按照给定的策略进行细微的变异,生成一份新的合法代码样本,替换到原来的热代码区域中,再使用测试样例对其进行大规模的输入测试,如果运行中出现了新漏洞,则就有很大理由相信这个漏洞是由于不完善的补丁引起的,因为这里的变异的源代码可能是基于补丁文件生成的。因为变异很细微,所以经过分析可以确定是否这个补丁有问题

2.3.1 从已知的安全补丁中提取PoC文件。标记出经常需要打补丁的代码区域(即“热代码”)。 使用这些PoC和热代码作为基础,生成新的、变异的代码样本。 这些变异的代码样本然后用于模糊测试,以检测是否存在新的、由于安全补丁不完善而产生的漏洞。为什么进行模糊测试后,就能检测出这一块代码的新漏洞是由不完善补丁导致的

模糊测试是一个动态的软件测试方法,其主要目标是通过为程序输入随机或意外的数据来触发异常、崩溃或其他未预期的行为,进而发现程序中的漏洞。模糊测试在安全研究领域被广泛应用,因为它能够在短时间内揭示大量的潜在安全漏洞。

根据您描述的方法,您的策略似乎是:

  1. 从已知的安全补丁中提取PoC文件,这样您就知道了原始的、已被识别出的漏洞。
  2. 标记出经常需要打补丁的代码区域,即“热代码”。这标识了代码中易于出现问题的部分。
  3. 使用PoC和热代码区域生成新的、变异的代码样本,以扩展潜在的漏洞测试范围。

那么,为什么进行模糊测试后,就能断定某一块代码的新漏洞是由不完善的补丁导致的呢?

  1. 起点信息:您的测试起点是基于已知的安全补丁和“热代码”区域。这意味着您主要关注的是这些已被识别为存在问题的代码部分。当您在这些区域内发现新的漏洞时,很有可能这些漏洞是由于不完善的补丁或修复未能完全解决问题导致的。

  2. 变异策略:您使用PoC和“热代码”进行变异,这意味着您主要是在现有的已知问题基础上进行微小的修改和变异。这样的策略会使得发现的新漏洞与原始的PoC或热代码部分有关。

  3. 问题重现:当您在模糊测试过程中发现问题,您可以查看该问题与已知漏洞或热代码区域的关联性。例如,如果您发现的新问题与已知的PoC非常相似,或者发生在标记为“热代码”的区域,那么您就有很大的理由相信这个问题可能是由于不完善的补丁引起的。

总之,虽然模糊测试不能100%确定新发现的漏洞一定是由不完善的补丁导致的,但基于您的测试策略和起点信息,可以合理地推断新发现的漏洞与原始的已知问题或不完善的补丁有关。当然,对于每一个新发现的问题,都应该进行深入的分析和验证,以确保您的结论是准确的。

2.3.2 是不是会对补丁代码进行细微变异,才能确认问题是由于不完善的补丁引起的

您的观点是对的。模糊测试的效力在很大程度上依赖于其输入样本的质量。如果您想特定地验证一个补丁的完整性,确实需要将这个补丁当作主要的变异点。

当您从补丁中提取PoC或者直接使用补丁代码作为模糊测试的输入,并对它进行细微变异,您实际上正在验证以下几点:

  1. 补丁是否完整:对于给定的补丁,可能存在不同的变种或边界情况,可能会导致其行为不同。模糊测试能够探测这些不同情况,查看是否存在情况使得补丁无效。

  2. 补丁是否引入了新的问题:有时,修复一个问题的补丁可能会意外地引入新的问题。通过变异和模糊测试,您可以检测这些新的、未预期的问题。

  3. 补丁的边界:某些问题可能仅在特定的边界条件下触发。对补丁代码的模糊测试可以帮助您识别这些边界情况。

因此,确实,如果您想要精确地确认新发现的问题是由于不完善的补丁导致的,最直接的方法是使用补丁代码作为模糊测试的主要输入,并对它进行变异。这样,您可以特定地针对这块代码进行测试,以确定其是否存在问题。

2.4 你这个联合培养是怎么回事

2.5 为什么中途离职

2.6 为什么转正失败

2.7 毕业条件达到了吗

3 实习

3.1 你觉得在快手实习和你平常写代码有什么不同

答:

3.2 是导师来带你们呢还是说你们跟专人对接

答:刚开始导师带了一个月,后面有pg和我专门提需求

3.3 感觉那边工作氛围怎么样

答:

3.4 你在实习的时候是研二刚开始的时候就实习了吗,为什么想那个时候就先出来实习呢

答:秋招很看实习经历,另一个我觉得互联网大公司的实践更加锻炼人,毕竟他们是面向用户的,质量要求更高,用到的工具和技术更先进,同时还能了解互联网这个行业的特点

4 规划

4.1 你目前有哪些offer

答:用友

4.2 你对未来工作或者生活有什么规划

答:南方城市,然后2B还是2C都可以做,未来3到5年都走技术方向

4.3 你在业务方面倾向于哪方面

答:倾向于技术+涉外业务达方向,发挥我的英语优势

4.4 全英文上课有困难吗

答:考完雅思后就还好

4.5 对腾讯财经线的业务有了解吗

答:有,你们主要有这几个业务方向吧,战略投资,财税以及内部打车系统

5 反问

5.1 你们这个部门还有其他业务嘛

答:整个财经管理都是我们

5.2 还有一轮嘛

答:下一轮是hr跟你沟通

5.3 多久有结果呢

答:一周内

5.4 分配到哪个部门呢

答:就是财经IT部门

5.5 具体到哪个部门呢

答:你一二面的面试官所属部门

5.6 你们的技术用的是springcloud那一套嘛

答:类似,然后在那基础上会加上一些自己的东西

5.7 有没有用到其他的语言呢

答:有

5.8 我表现如何呢

答:需要横向对比一下。因为指标不是很多,大家投递的简历很多,竞争还是比较激烈的

5.9 转正率如何

答:对,后面还有一定的淘汰率

你可能感兴趣的:(面经,java开发,腾讯财经线,2024校招)