腾讯PCG暑期实习 - 后台开发(已拿offer,反馈牛客)

一面 - 2020/3/7 - 11:00 - 33分钟

1. 自我介绍

2. 介绍一下程序运行的项目

Django + Vue,巴拉巴拉。。。

3. 介绍一下我们都是升旗手的项目

flask,巴拉巴拉。。。

4. 为什么使用flask呢

5. django和flask的区别

首先,flask比较轻量;其次,django自带ORM框架,而flask没有,扩展性更好。

6. 项目所有数据都是存在MySQL里面吗?有没有做一些缓存呢

没有

7. 项目访问量大概多少

几百人这样

8. 讲讲你对Mysql的了解

MySQL有两个主要的引擎Innodb和MyISAM。然后,Innodb的原理是B+树(这里傻了。。。B+树是MySQL索引的原理)。

你觉得Innodb整个是B+树吗?

应该是(自己挖的坑。。。自己还跳进去了。。)

你理解Innodb是个什么样的东西吗?

首先,他是一种储存引擎

对,它其实并不是一个单纯的B+树,它是一个引擎对吧?

那你说的B+树是用于哪方面的,你知道吗?

就数据存储和数据读取的时候(越说越不对。。。对数据库还是不够理解。。。)

你觉得如果在MySQL里面创建一个表,每一个数据都是用B+树存的吗?

应该是,应该是存在叶子结点上。

你知道索引吗?你能讲一下你对索引的理解吗?

(这里面试官已经在提醒我了,可我还是没有察觉。。。)索引就是为了方便找到那条记录,不可能去遍历整个数据表,这样效率太低了。B+树的话,也是遍历,但它是二叉树遍历,比数组形式的遍历要快很多。

你能讲一下B+树的结构吗?为什么速度更快一些?

首先,它是个二叉树(我人傻了。。。),搜索肯定快一点。然后,中间节点会存在很多索引,通过比较大小,就可以找到下一层。然后,直到叶子结点,叶子结点上就会储存相关的数据。

数据是存储在叶子结点,还是路径结点上呢?

应该是储存在叶子结点上,路径结点上只有索引。

你对Innodb或者MySQL的了解还有哪些?

(本来准备说事务的,但他又接着问了下一个问题,哎。。。)

9. 你有用过慢查询吗

没有

10. 假如你去写一个table,你会设计哪些字段呢

id字段,创建时间,删除时间这些。

11. 其实,我刚才想问你的是说,你在类型方面有没有使用过char或者varchar呢

varchar使用过

12. 你知道varchar跟char有什么区别知道吗

不太清楚

13. 你对Nginx的使用能讲一讲吗

当时是用flask来做反向代理,因为flask自带的服务器性能不太好,就通过Nginx反向代理指向flask。

是用Nginx指向多个flask实例吗?

不,就一个。

14. 你对Java比较熟悉还是对python比较熟悉

这两个都一般,我对C++比较熟悉(尴尬地笑了)。

15. 那你有哪些项目是用过C++的

只用来写过桌面程序。还有平时算法用的就是C和C++。

16. 你对Go也有使用吗

之前大二接的一个项目,后端就是用Go写的,当时是用的beego框架。

17. 能简单讲讲你对spring boot的使用吗

就把它当作后端框架吧,也用了一些像JDBCTemplate、fastjson之类的库,然后其它的用得也比较少。

18. 你觉得一个成熟的后端框架应该有哪些内容呢

日志处理吧,还有做一些请求转发。然后,像spring这样的话,还会有一些IoC、AOP那样的工作,方便你代码编写的。

(这里说得乱七八糟,没答到点。。。

19. 你在python里面有没有使用过协程

没有

20. 你了解线程和进程的区别吗

进程的话,有一个虚拟内存空间,然后线程共享这块内存空间。线程是由进程调用的,每个进程至少有一个线程。

21. 平时有使用过一些多线程编程的技术吗

没有

22. 通过系统调用去创建一个线程,需不需要进入内核

系统调用的话,必须经过内核。因为系统调用的话,必须跳到系统内核中去。

23. 能简单讲一下网络的技术模型吗

巴拉巴拉,五层协议模型

24. 你觉得TCP和UDP是在哪一层呢

运输层

25. 你能讲一下TCP和UDP的一个区别吗

首先,TCP有一个握手阶段,而UDP没有;其次,TCP是可靠数据传输,而UDP是不可靠。

26. TCP是怎么保证可靠传输的

接收方会返回确认号,如果发送方没有收到确认号,会进行重传。

27. 三次握手和四次挥手

巴拉巴拉

28. 为什么握手是三次,而挥手是四次

握手时,是客户端单方面发起请求的,巴拉巴拉。而挥手四次,是因为TCP是全双工的,假如一方终止了,另一方的数据还没发送完,就会产生错误。

29. 除了TCP和UDP,你还了解其它网络协议吗

应用层的协议都还算了解。

他说,不限制于应用层,只要是网络协议都行。

然后,我就讲了一下HTTP协议,一直讲到请求报文的格式内容、响应报文的格式内容。

30. 你知道有哪些常见的状态码吗

讲了一下1、2、3、4、5开头的状态码

31. 看到你的获奖证书中,有很多关于信息安全竞赛的,你能讲讲你对信息安全的理解吗

我在信息安全竞赛中主要负责二进制安全,对网络安全也了解一些,但不是我专攻的方向。

32. 能简单讲一讲二进制安全吗

栈溢出、格式化字符串、堆溢出

33. 你对HTTP安全有了解吗

比如sql注入。

那你能说说什么是sql注入吗?

(这里讲错了,就不列出来了。。。

那你觉得对sql注入的防范,是在SQL层,还是在MySQL层?

SQL层吧。

34. 你了解SSl吗

SSL,安全套接字。

嗯,对,能简单讲一下吗?

它主要用了一个非对称加密。在握手阶段,服务器会返回一个机构的证书,证书里面会有用机构私钥加密的服务器公钥。然后,用户使用机构公钥解密之后,就会拿到服务器的公钥。然后,用户再用服务器的公钥加密一个对称加密的密钥。之后,他们就用这个对称加密的密钥进行通信。

35. 你了解其它的网络攻击吗?比如XSS

XSS不太了解,我知道有一个网络攻击,叫跨站请求攻击(应该是跨站请求伪造攻击)。就用户在访问一个恶意网站的时候,恶意网站会用你原来网站的cookie去访问原来的网站,拿到访问权限。

你知道它是怎么获取到这个cookie的吗?

通过一个按钮之类的(这里瞎讲的)。

那假如没有这个按钮呢?开发人员没有留这个后门呢?

有可能是用户去访问一个恶意网站,然后恶意网站中,会有一个被伪装的访问原网站的链接,就会被拿到cookie。

36. 平时有使用过redis吗

没有深入过,就简单地安装尝试过。

37. 那你觉得redis跟MySQL的区别是什么呢

内存型数据,支持很多类型(最重要的忘记了,redis是非关系型数据库,而MySQL是关系型数据库。。。)

38. 那你了解过什么是微服务吗

不太了解

39. 你有没有什么问题想问我的

问了一下,这次面试表现怎么样

还不错,但在DB这一块还是得加强。

二面 - 2020/3/11 - 20:47 - 24分钟

1. 自我介绍

2. 选一个项目,讲一下其中遇到的重难点

讲了第一个项目。

3. MySQL索引的数据结构

B+树

为什么索引用B+树?

减少磁盘io次数。叶子节点,顺序遍历更方便。查找的时间复杂度低。

索引的效率是由什么决定的呢?

树的高度,和节点中数据个数。

4. 有一个一百亿个随机数,在其中找出最大的一百万个数

一百万大小的小顶堆。新来一个数,就与根结点比较,如果小则不要;如果大则替换,然后进行筛选。

你这个方法的时间复杂度是多少呢?

O(nlog一百万)

还有别的方法吗?

可以用排序。先根据内存大小,将一百亿个数分为若干文件,然后对这些文件分别进行快速排序。最后,对这些文件一部分一部分地进行多路归并排序,得到前一百万个则停止。

5. 排序算法中空间复杂度最小的是哪个算法

快速、选择、插入这些。(说错了,快速不是

6. 100G的数据,4G的内存,需要排序

归并排序,思路跟第4题第二种方法一样。

7. 说一下你参加的软件测试比赛

考查覆盖率,变异测试。

8. 那你是怎么提高覆盖率的呢

(其实比赛难在读程序。。。

等价划分、数据流图,软件测试知识有点忘了,后面单纯在瞎扯。。。

9. 工作还是读研

10. 有什么想问的

总结

3月16号接到offer call,17号收到offer。对比字节的,最终签了腾讯的offer,base深圳,PCG,具体部门还不清楚。

最初,其实并没打算投腾讯岗位,只在腾讯招聘官网上填了信息。然后,在二月底的时候,收到一个微信好友请求,备注是腾讯实习生招聘,说在简历库看到我的简历,问我是否考虑投递简历。我当时没想太多,就把简历发过去了。当天晚上,他打电话过来,跟我进行了20分钟左右的通话,问了一些简单的技术问题。结束后,说不是正式面,只是预先沟通。

再然后,就是收到了一面通知。一面感觉很差,数据库那部分简直在胡言乱语(学校大三下才学数据库。。。都是自己先看博客学了一些),面完感觉凉了,挺难受的。

结果,晚上收到二面面试官的微信好友请求,瞬间把我从抑郁的情绪中拽了出来。然后就是二面了,感觉比一面简单些,也只有20分钟。

本以为还有三面,却收到了HR面试电话,喜出望外。

总体感觉都不是太难,只有两面,也没写代码,可能是我运气太好了hh。不过听说腾讯实习生转正率不高,所以实习面试就可能相对简单一些吧。最后,感谢牛客网大佬们提供的面经。

#腾讯##实习##面经#
全部评论
每次看别人的面经能找到一点信心,然后自己面完就凉凉😂
点赞 回复 分享
发布于 2020-04-10 21:29
https://www.nowcoder.com/discuss/393653   有同学需要内推吗,java实习生
点赞 回复 分享
发布于 2020-04-10 21:33
同pcg,在等HR面,请问楼主HR面一般会刷人吗?
点赞 回复 分享
发布于 2020-04-11 00:03
楼主太强了
点赞 回复 分享
发布于 2020-04-11 00:21
我人傻了 你这技术栈要溢出了
点赞 回复 分享
发布于 2020-04-11 09:26
同pcg,不过是iOS端,一面之后感觉相当nice,面试官表示还有下次,然后没下文了......
点赞 回复 分享
发布于 2020-04-11 09:34
楼主这真的是技术栈溢出啊🤣
点赞 回复 分享
发布于 2020-04-11 12:58
蚂蚁金服2020实习生欢迎您的加入,邮箱:xunlang.zxw@antfin.com
点赞 回复 分享
发布于 2020-04-11 14:17
cookie直接通过浏览器就可以拿。
点赞 回复 分享
发布于 2020-04-12 08:42

相关推荐

2024-12-27 10:21
已编辑
海南师范大学 媒介策划
到我怀里来:身高体重住址这些就别写了,留几个关键的就行,工作经历突出重点写详细点
点赞 评论 收藏
分享
评论
7
51
分享

创作者周榜

更多
牛客网
牛客企业服务