腾讯客户端安全/web开发实习面经

今天被腾讯捞了,一年前投的简历。岗位是客户端安全,并且当前下午1点多发的邮件,晚上就面试,连个电话都没,面试官人非常好,一面面了一个小时,下面是面试记录:

1.介绍了下面试官的team,问时间上有没有冲突。

2.简单介绍一下自己。

3.介绍一下自己擅长的方向与自己的成绩。

4.c++较c的优势(面向对象的优势)

5.c++虚函数知道吗?虚函数指针知道吗?纯虚函数知道吗?

6.虚函数表在类中是怎么排布的?

7.模板编程知道吗?用了两个不同的模板类,编译时会有几个代码?

8.逆向有经验吗?用过哪些逆向工具?

9.介绍一下pushad?

10.介绍一下你知道的汇编指令?

11.介绍一下左移右移指令(sal、shl等)?

12.汇编里有哪些跳转指令?

13.ssl/tsl层的原理?

14.知道哪些加密算法?

15.hook机制知道吗?不知道的话如果让你去hook你会怎么做?

16.如果线程卡死,如何保证线程安全?

17.你有哪些问题要问我的?

二面(凉):
1.0x18与19对应的汇编指令的不同点(懵)

2.hook机制里如果API入口地址那里不符合五字节定义,你会怎么做(再懵)

3.BC继承于A,D继承于BC,则D的虚函数表是怎么样的?

4.STL知道吗?介绍一下unorder_map和map的区别?(一个是hash一个是红黑树)

5.智能指针知道吗?介绍一下?

6.不用循环和库函数怎么求字符串长度?

7.平时喜欢做什么?(弹吉他,打游戏)

8.平时打什么游戏?有碰到过外挂吗?你觉得机制是怎样的?怎么解决?

9.碰到过最自豪的事是什么?

10.有什么想问的?

因为安全知识比较薄弱,果然把我挂了,然后被腾讯音乐的web开发捞了。

一面:(两小时)
五道算法题:

  1. N!5min
  2. 求一个正整数的“倒数”。不能当做字符串来处理,不可使用数组等高级的数据结构,使用数学方法求解。5min
  3. 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。要求使用空间复杂度为 O(1) 的原地算法。10min
  4. 在数组中找出3个数使得它们和为0。集合S={-1,0, 1, 2, -1, 4},则满足条件的3个数有2对:(-1, 0, 1)和(-1, 2, -1)。
  5. 删除单链表当前指向的节点。

勉强做完道,接下来是基础知识:
6. 全局变量在堆栈的哪个部分?
7. 函数传参的参数在哪个部分?
8. 知道哪些数据结构?
9. 栈/堆数据结构的特点?
10.熟悉http协议吗?
11.熟悉缓存吗?
12.常见的web攻击方式?
13.CSRF的原理?
14.https在哪一层?
15.排序算法有哪些?哪些是稳定的?
16.sql注入的原理?
17.进程的状态和进程间通讯的方式?
18.进程与线程?
19.CPU调度的最小单位?
20.进程由运行切换为就绪的原因?
21.管道通信的半双工?管道通信的应用范围?(父子)管道通信的开销?
22.内存共享的速度?
23.平时的学习方法?(看书、google)
24.什么时候毕业?什么时候可以实习?
25.有什么问题想问我的?(问了用了什么技术栈)
全是基础问题,主要是算法/数据结构/操作系统/网络/安全。星期六面的,星期一面试状态变成了复试,但是因为技术栈完全不对口,所以不是很有信心。这是个偏全栈的职位,后端主要是java/php/go。

发布了27 篇原创文章 · 获赞 6 · 访问量 4903

猜你喜欢

转载自blog.csdn.net/weixin_42107987/article/details/104760681