腾讯CSIG5面+字节4面实习面经

写在前面:之前一直是看各位大佬发帖,从面经中也学到了很多东西,最近面了几个公司,侥幸拿到了实习offer,把自己的面试经验分享一下,希望能够帮到大家~~

2020.03.31 1小时 腾讯CSIG腾讯云视频面试

1、HTTP常见状态码

2、TCP3次握手4次挥手具体流程,一定要非常具体,CLOSE_WAIT等阶段要清楚

3、浏览器输入URL之后的原理,要很详细

4、浏览器异步加载

5、对单例模式的理解

6、多个地点访问图片效率问题?对象存储+CDN加速

7、redis/MySql数据一致性保持方法,定时任务+消息队列

8、多个用户同时点赞会怎么样?如何解决并发问题?

redis hash结构key=点赞人::被点赞人,value=1/0=点赞/取消点赞,配合Spring Task定时同步到数据库

9、token一对秘钥泄漏如何解决?(JWT还会有秘钥对泄漏问题吗,疑惑,面试官是不是听错的我的回答)

服务器同时公布多个秘钥对,定期更换新的秘钥对,一对秘钥泄漏立即启用下一套秘钥,client在上一对失败后自动尝试下一组。

面试官建议:多寻找项目性能优化的点,比如高频的点赞操作,尽量多用新的技术,直接把图片上传到后台很少人在用了现在

总结:第一次面试腾讯,体验非常nice,开头20分钟做了两道easy模式的算法题,有一道思路想错了,虽然全程体验很好,但是并不影响面试官挂我..

2020.04.11 30分钟 腾讯CSIG智慧旅游电话一面

1、介绍自己一个项目(家乡分享的小程序),你负责哪些模块

2、微信授权流程,code和openid的作用

3、微信与后台api交互如何实现授权认证(Spring Security+JWT)

4、GET/POST请求有何区别

5、HTTP如何传输文件,多文件情况呢,headers里面multipart了解吗,boundary干嘛的

6、Spring的IOC/AOP讲一下,什么是幂等性,应该怎么实现

7、点赞功能怎么设计(下边有,不赘述了)

8、MD5算法干嘛的,两个不同文件的MD5一定不同吗,为什么

9、对称非对称加密了解过吗,私钥加密公钥可以解开吗,数字证书怎么用的

10、设计一个秒杀系统/抽奖系统,从架构的层面去考虑,怎么划分模块,每个模块具体怎么去设计

2020.04.14 30分钟 腾讯CSIG智慧旅游电话二面

1、微信用户身份认证授权,session具体存储内容

2、DAO用过分页查询

3、redis点赞功能如何设计,数据一致性和系统性能如何解决

答:开始用hash存储点赞信息,系统初始化是从DB载入redis,定时任务写入数据库,容器异常关闭摧毁bean时写入DB,防止数据丢失。

改进:现有方案系统启动初期耗时久,用户体验差,而且key设置不合理,建议冷热数据分开,当需要某个用户的点赞信息和点赞列表时,查DB后使用redis的list+string存储,hash存放新增点赞信息即热数据,定期把hash的新增数据同步到db即可。再完善一点可以考虑集群配置+AOF持久化。

4、线程进程区别(答了JVM线程共享私有区域以及上下文切换的资源消耗,应该还有优先级调度这些东西)

5、消息队列用过吗,怎么理解的(异步/削峰/解耦)

6、常见排序算法,然后问了两个算法的主要思想以及时空复杂度稳定性

7、TCP3次握手细节,一定要非常细,包括client和server发出接受消息后的状态

8、给定栈出栈入栈队列,计算最小容量(送分)

9、常见设计模式,结合Spring讲了一下单例/观察者/代理/工厂模式,顺带介绍了一下IOC和AOP特性

10、流量劫持了解过吗,讲一下分类,怎么防御(我答了CSRF)

11、你另一个项目还有什么可以改进的地方吗(数据库不符合3NF规范/前后端没有完全分离/数据传递不规范,很多冗余数据/未设计DTO/不应该使用外键)

2020.04.16 30分钟 腾讯CSIG智慧旅游电话三面

1、看你开发过小程序,如果小程序启动初期需要从服务器加载视频播放,有什么比较好的性能优化思路,让用户感觉没有明显的加载过程(我...,面试官提示了一下从生命周期和本地存储方面去考虑,苟了半天设置CDN增加图片遮挡后台请求视频感觉也没答到点子上,面试官也不太满意,希望有大佬指点一下)

2、微信授权小程序登录流程

3、图片上传存储怎么做的

4、点赞如何设计(可能就这一个点能挖一挖了...)

5、MySQL用过哪些索引,项目中多表查询多吗,做了什么优化,有没有碰到索引失效的问题,怎么排查的(未遵循最左匹配原则导致发生全表扫描)

6、InnoDB引擎有什么优点,查count那个引擎好点,InnoDB对这个命令做了哪些优化,性别的列可以建索引吗,为什么不推荐建

7、32/64位系统有什么区别(...)

8、最近在学什么,怎么去学的,为啥学这个

2020.04.16 20分钟 腾讯CSIG文旅视频HR面

唠嗑,本科什么方向,为什么读研究生,研究生什么方向,学习成绩怎么样,什么时候毕业,可以保证实习啥时候开始持续多久,有女朋友吗,日后规划在哪里工作,深圳可以接受吗,来深圳以后会遇到什么困难,你怎么去克服,简历上的项目为什么做,怎么评估性能的,做了哪些优化,用户量有多少,并发性怎么样。

2020.04.20 4个小时 字节后台开发日常实习面试

一面 1小时二面1个半小时

基础问题实在分不清,索性写在一起了

1、Spring IOC AOP如何实现,结合常用设计模式讲解

2、AOP和JDK静态代理有何区别,常见应用及方法(日志捕获/异常处理)

3、TCP3次握手4次挥手详细过程(面试官说这个回答的不错,所以后边才出了算法题)

4、一道算法,不难,写的时候有点紧张,LR传的是另外新建的对象,没传指针引用进去。

反转部分单向链表

给定一个单链表,在链表中把第 L 个节点到第 R 个节点这一部分进行反转。

输入描述
n 表示单链表的长度。
val 表示单链表各个节点的值。
L 表示翻转区间的左端点。
R 表示翻转区间的右端点。
输出描述
在给定的函数中返回指定链表的头指针。

示例1
输入
5
1 2 3 4 5
1 3
输出
3 2 1 4 5

5、第二道算法,查找第k小的数,也不难,维护大顶堆限定总数量就可以了,就是太久没刷题,忘了比较器怎么写,还查了百度,尴尬。最后输入输出也没处理好..算法结束就是二面,会换一个面试官

6、用过哪些索引,联合索引失效的情况,举个例子

7、Linux命令用过哪些,查日志error并且统计行数怎么做(忘了统计行数的命令真是尴尬,只想到了cat和grep筛选error)

8、微信授权小程序登录的流程(项目有这个),wx.login产生的code作用以及生成原理

9、OAuth 2授权框架用过吗,讲讲主要授权流程

10、数据库事务ACID特性,四种事务隔离级别解释一下,InnoDB如何实现可重复读原理,MVCC原理,select操作会加锁吗,为什么(我竟然懵逼的回答了不加锁)

11、算法题,链表存储的大数相加计算结果,代码写的一般没运行,口述了思路

12、算法题,有序数组如何建立AVL,口述思路并证明。

回答:找到中点作为根节点,循环左右子树递归建立。思路正确,面试官让证明一下,提示了才想到,总节点数为n,高度,按照之前的思路,左右子树高度分别为,数学公式可以证明左右子树高度不会超过1,不赘述了。

13、用过抖音吗,点赞操作如何设计,在我的点赞列表中可以看到所以点赞记录倒序排列如何设计数据结构,每划过一个视频如何快速判断是否点过赞,每种方案有什么优缺点。

回答:点赞在app启动初期用list存储点赞列表,然后将新增或者取消的点赞热数据存储到hash中,定期更新到MySQL,但是没办法实现判断是否存在某条点赞记录,然后想到了set,如果按照日期倒序,可以使用zset,作品id作为member,点赞日期作为score,做一个排过序的set。然后面试官说你这样启动初期会等待很久,然后问zset底层如何实现,我...

14、还是点赞的问题,数据库为什么用MySQL,redis持久化到磁盘不可以吗,其他非关系型数据库不可以吗(我只用过MySQL和Oracle reids..,而且关系型数据持久化不太好吧,有没有大佬指点一下)

15、HashMap底层实现,线程安全吗,为什么不安全,rehash是干嘛的,怎么rehash,Node在数组的索引怎么获得

16、JVM gc讲一讲,内存怎么划分,主要gc算法,分代各自采用什么算法,各种算法的优缺点

17、最后我问了他们部门做什么的,一个新APP的后台,主要技术栈是python/golang,负责APP服务端内容/基础/小视频/直播这些后台部分的设计实现,进去之后要转语言。然后问了一下对我技术路线的建议,面试官觉得我自己定的路线太飘了,让我脚踏实地,多想想目前阶段的事情,现在多抓基础知识刷题准备实习,实习之后尽快熟悉业务场景锻炼自己的业务能力准备转正

三面leader半小时

本来二面面试官去叫hr了,然后hr忙着让我等一下,leader看见了就面了我一会

1、你的项目有什么亮点,自己负责哪些部分,可以继续往那个方向去完善,为什么这么完善

2、你和其他组员比有什么优势

3、你自己以后准备往哪方面去学习

4、问了个设计题,就是电梯调度系统的类结构设计,刚开始没听清还以为是写电梯调度算法,苟了半天没苟出来,尴尬,然后类设计的也不太好

5、让我问问题,我随便问了一个,我没仔细了解他们部门具体业务leader有点不满意感觉,应该是想让我多了解一下先选择一个小部门,然后leader再调整,然后说我今天太紧张了,发挥的不太好。

hr面20分钟

纯唠嗑,然后还问了项目的亮点,跟leader前几个问题差不多,吹就完事了,什么时候毕业,是不是统招,意向工作地点,到岗时间,实习时长这些

hr最后说今明两天出结果,然后吃完饭上官网看了状态变成了已结束,问了内推人这种就是面试挂了,还抱着侥幸以为是面试流程正常走完了,唉,啥也别说了,接着努力吧,一下午白玩,希望csig不要鸽我,只求一个offer

2020.04.21收到了字节hr的通知,面试通过,发了offer,不想等csig了,就这样吧

总结

1、一定要多面试,前期可以先从小厂开始试,面多了知道哪些是高频问题有针对性的去记去理解,干背面经感觉没啥意义,面多了自然就有经验

2、项目用到的技术栈尽量丰富一点,现在各种中间件分布式架构还是挺重要的,然后要有合适的技术选型原因,别为了用而用

3、问面试官问题别瞎问,问工资问流程他也做不了主,多问问部门相关的业务方向以及专业发展建议比较好

4、不知道是不是提前批快结束了,腾讯的面试感觉降低了难度,虽然截止4.22还没有oc(我可能是进了备胎池...)

5、现在的hr都喜欢问项目了吗...莫不是开发运维都转去做hr了2333

6、腾讯流程可太慢了,很多csig难民等到头都秃了,难顶...

最后,祝大家都能拿到心仪的offer,也希望我的字节实习一切顺利!

#字节跳动实习##实习##字节跳动##腾讯##面经#
全部评论
老哥,字节三面之后多久hr面?
点赞 回复 分享
发布于 2020-04-22 19:22
大佬,是不是研究问的问题都比较难啊,我看你面经感觉好吃力😂
点赞 回复 分享
发布于 2020-04-22 22:19

相关推荐

评论
10
61
分享

创作者周榜

更多
牛客网
牛客企业服务