24届腾讯安全技术笔试+客户端开发面试经验
投递岗位:腾讯安全技术+腾讯客户端开发
投递时间:腾讯是今年8月月中开的校招,9月月初统一发的笔试。由于本人最近做的是安卓安全,所以最开始投递的是安全岗。结果笔试结束以后一直杳无音讯。所以在10月月初更改投递为客户端开发,10月月中被捞起来参加客户端开发的面试,面试结束以后光速挂。
技术笔试(安全技术):
单选题(29题):1,汇编语言(BLX指令的含义)。2,二分查找的次数。3,隧道协议的问题。4,哪个不是CLIB的标准API。5,判断代码属于哪种注入攻击方式。6,哪段webShell代码不能在PHP7执行。7,安全工作者常用操作系统(Kali)。8,哪种操作系统属于RTOS操作系统(ThreadX)。9,启用段页机制的情况下,CPU访问地址空间的类型(逻辑还是物理?)。10,哪个方法可以读取Linux存储的登陆密码。11,自签名的https链接应该首先验证什么?12,IP寄存器的作用。13,求一个同源的URL。14,C++,虚函数的重载。15,Linux哪种指令可以防止rm误删除?16,下面哪种协议是比特币挖矿协议。17,哈夫曼编码的时间复杂度。18,内存泄露发生在内存的哪个区域。19,IPV4和IPV6的区别。20,DNS服务器针对电子邮件的查询类型。21,Etcd数据一致性(采用Raft算法保证其一致性)。22,读取SSH登陆密码指令。23,循环队列为空的判断条件。24,无符号加法溢出。25,DDOS相关概念。26,UDP的DDOS。27,判断代码运行结果。28,判断代码运行结果。29,判断代码运行结果。
多选题(11题,少选一半分,错选不得分):1,arm架构CPU的问题。2,IOT固件防护的方法。3,有哪些爬虫框架。4,ReLU激活函数有哪些坐标?。5,XSS漏洞相关。6,解释语言和编译语言的区别。7,Flink开发的问题。8,PHP漏洞。9,射频通信安全。10,PHP可执行的外部代码。11,Kafka消息队列的问题。
问答题(1题):有哪些针对供应链安全的攻击,对应的保护措施如何?
编程题(1题):本质上是树的遍历。
技术面试(客户端开发):
项目深挖:“详细介绍一下你在项目中是怎么做的,方案是怎么设计的,为什么要这样设计”,“在这个项目中,除了你说提到的这个业务需求,有没有更多扩展的业务尝试”,“在实际部署的时候,有没有碰到资源受限的情况?”,“方案涉及到的不同平台是怎么做业务整合的?”,“还碰到了哪些棘手的问题?”。
基础知识考问(Java和安卓的基础知识):“进程和线程的区别,Java的线程是怎么通信的,死锁是什么个情况”,“安卓内部应用的通信是如何实现的,底层的Binder机制了解吗?”,“知道Activity的生命周期吗?”,“使用过Fragment吗?”,“谈一谈安卓的内存泄露的问题,应该怎样避免”,“谈一谈Java的GC相关算法和原理”,“谈一谈Android的自定义View的绘制”。
手撕算法题:给一个乱序的数组,一个数字k,要求这个数组前k个已经排好序的序列。不能够使用全排列。时间复杂度应该小于Onlogn。
非技术相关问题(不多):“自我介绍”,“反问(业务问,流程问)”。
总结:
1,足以见得安全技术考的东西很多很广,我这个半路出道的其实很是棘手。这个编程题不难,听说好像也是其他软件开发方向笔试的一道简单题。
2,腾讯的笔试不会影响求职者获得面试的机会,但特别特别重要的是,求职申请的部门最好需要确定,如果“无明显意向”,那就是在大池子里面等捞。我的舍友提前确定了申请的部门,早早得到了面试机会。而我最后更改了求职意向,才被捞了起来。
3,面试的时候其实问的问题不算太难,算法题也不是很难,但我上来脑子一蒙,觉得应该用快排的思路来做。其实那题因为输入的原因(个数不超过10000,大小在0-10000之间),所以用散列表是最容易实现的。可惜正准备修改的时候,被面试官打断了(超时准备结束)。可见基础和算法还是得多熟练。
4,最后,也不能够排除KPI面的可能性,因为距离现在腾讯开校招2个月,大部分求职者的流程可能确实已经结束了。但还是感谢腾讯能给我这个菜鸟一个面试的机会吧。
#24届软开秋招面试经验大赏##腾讯##安全##客户端#