腾讯TEG AILab 一面二面HR 意向书 | 面试复盘

腾讯TEG AILab 一面二面HR 意向书

写在前面:楼主是22届校招生,十分幸运能被腾讯录取,感觉三个月的准备没有白费。后续会把自己的笔记放到Gitbook中给大家开源共享,祝大家秋招顺利!

一面 50min

项目问题 -15min

主要涵盖了我项目的开发流程,主要职责还有工作量。挖到一半发现我答的还可以就停了

我是个Javaer,但是面试官说他们是C++, 所以就没有问Java八股,直接从MySQL开始问了

MySQL问题

说说InnoDB与MyISAM的区别

  1. InnoDB 支持事务,MyISAM 不支持事务
  2. InnoDB 支持外键,而 MyISAM 不支持
  3. InnoDB 是聚簇索引,MyISAM 是非聚簇索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB必须要有主键,通过主键索引效率很高。
  4. InnoDB 最小的锁粒度是行锁,MyISAM最小的锁粒度是表锁。一个更新语句会锁住整张表,导致其他查询和更新都会被阻塞
  5. InnoDB 不保存表的具体行数,而MyISAM会保存,所以MyISAM在执行select count(*)更快

说说聚簇索引和非聚簇索引

提示点:再说非聚簇索引的时候一定要提到回表查询

为什么用B+树当索引的数据结构?它跟B树相比,优点是什么?

在B+Tree中,所有数据节点都是按照键值大小存放在同一层的叶子结点上,而非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度

所以与B树的不同在于

  1. 非叶子节点只存储键值信息;
  2. 所有叶子节点之间都有一个链指针;
  3. 数据记录都存放在叶子节点中

我们知道IO次数取决于b+数的高度h,假设当前数据表的数据为N,每个磁盘块的数据项的数量是m,则有h=㏒(m+1)N,当数据量N一定的情况下,m越大,h越小;而m = 磁盘块的大小 / 数据项的大小,磁盘块的大小也就是一个数据页的大小,是固定的,如果数据项占的空间越小,数据项的数量越多,树的高度越低

UNION和UNION ALL的区别?

UNION和UNION ALL都是将两个结果集合并为一个,两个要联合的SQL语句 字段个数必须一样,而且字段类型要一致

  • UNION在进行表连接后会筛选掉重复的数据记录(效率较低),而UNION ALL则不会去掉重复的数据记录;
  • UNION会按照字段的顺序进行排序,而UNION ALL只是简单的将两个结果合并就返回;

Left Join 和Inner Join的区别

说说事务隔离级别

  • READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读
  • READ-COMMITTED(读取已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生
  • REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生
  • SERIALIZABLE(可串行化): 最高的隔离级别,完全服从 ACID 的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读

提到了幻读,从而引申出了MVCC

MVCC是怎么实现事务的安全性的

可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。大多数的MVCC都实现了非阻塞的读操作,写操作也只锁定必要的行。在MVCC并发控制中,读操作可以分成两类:快照读 (snapshot read)与当前读 (current read)。

提到了行级锁后,说说锁按照粒度的分类

说完了后面试官提问:InnoDB行锁是怎么实现的?

我听到这里愣了得有二十秒,没想明白。然后面试官又提到了表锁,灵感就来了。InnoDB行锁是通过给索引上的索引项加锁来实现的,InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。

MySQL八股结束,开始写题

算法题:括号匹配,但是我用的栈必须得自己实现。算法写的挺快的,手动实现栈想了一下,解决了。

二面 1h

上来直接写题:三选一。我选了第一道

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。

找到所有出现两次的元素。

你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?

本来想用异或加位运算的,但是我这个算法不熟练。所以现场临时想了个类似于哈希的解法,就是数组中的值num对应的索引应该是num-1, 在操作完最后遍历的时候如果发现 这两个的值没有对应,那么它就是出现两次的元素

总得来说20分钟算是解决了,也写了测试语句通过了用例。

但是面试官好像没太看题,上来自己测试就往数组里加了个0,说我程序报错。给我吓一机灵,我提醒后,又往数组里加了个100,又说我报错哈哈,我没给他吓尿了。最后面试官嘟囔了句,这题限制还挺多,我只能应声附和。舔狗真是卑微..

写完之后继续项目,这次挖的比较彻底。从我们的市场调研开始说,动机是什么?每天的用户量有多少?数据库有多大?为什么用MySQL当数据库?为啥使用Mybatis Pagehelper? 怎么用Pagehelper? (现在还没有高并发的问题)-> 如果有高并发了怎么办?用什么解决?加什么东西?你觉得为什么可以?

这一套操作下来,面试官看我回答的还比较流利,就出了些分布式的场景题,具体问题有点忘了哈。大概是我上学期分布式数据库学过的算法往上套就行,但是我全还给老师了,只能现场硬说,跟阿杜一样--冷手硬打。有点痛苦

最后面试官说我们是C++哈,你Java可以转不?

那当然可以,必须可以,相当可以。我现场表忠心,“语言只是形式,关键还是思想,我自学能力很强的!”

面试结束以为自己凉了,结果当天晚上睡前就有TEG的HR姐姐加我微信了。我直接从书桌上起飞

HR面 30min

HR姐姐还是很温柔的

为啥要来腾讯?家是哪的?就是一些常规问题

然后又把我的项目唠了二十分钟

面完十分钟后云证加测评

周二HR面完 周五下午等来了Offer Call !!!!! 我也太开心了

以上就是我的流程,祝大家心想事成哈!

#面试复盘##面经##校招##Java工程师#
全部评论
二面就没了?流程挺快
3 回复 分享
发布于 2021-08-28 10:48
感谢大佬把我捞了
2 回复 分享
发布于 2021-08-28 10:31
我想问一下哈,面试官让你手撕算法,是在本地IDE写还是说让在牛客网这种平台写
1 回复 分享
发布于 2021-08-28 20:27
想问一下楼主的项目方面是如何准备的呀
点赞 回复 分享
发布于 2022-02-27 20:51
9月22面完hr,到现在都没加微信,感觉凉了
点赞 回复 分享
发布于 2021-10-21 10:05
楼主 我们应该是一个部门,从二面的内容来看重合度很高。加个好友嘛?我马上要给HR答复签不签了
点赞 回复 分享
发布于 2021-10-17 00:52
请问大佬现在开奖了吗
点赞 回复 分享
发布于 2021-10-17 00:28
被“**真是卑微..”逗笑了,画面感实足hh
点赞 回复 分享
发布于 2021-09-24 17:42
老哥同AI Lab,想问下状态变为HR面,但是将近一周没人联系是什么情况呀
点赞 回复 分享
发布于 2021-09-17 09:45
请问楼主base哪里
点赞 回复 分享
发布于 2021-09-15 20:56
楼主,请问二面跟HR面之间隔了多久
点赞 回复 分享
发布于 2021-09-15 17:00
想问问楼主一面和二面隔了多久呢
点赞 回复 分享
发布于 2021-09-08 19:00
我也是ai后台,16号就云证了,现在还没oc,请问大佬hr面完后加了hr的微信没有
点赞 回复 分享
发布于 2021-08-31 22:06
大佬 AILAB也有这种开发的岗位吗 我看你这里问的和AI没什么关系 想了解下是这个情况吗
点赞 回复 分享
发布于 2021-08-31 14:49
想请教楼主二面和HR面间隔多久呀
点赞 回复 分享
发布于 2021-08-30 21:54
问问楼主是投的后端开发不?问了他们业务是啥吗
点赞 回复 分享
发布于 2021-08-30 16:18
同学你好,TEG只有两技术面吗?
点赞 回复 分享
发布于 2021-08-29 17:06
二面场景题补充:(大家有什么好想法可以在评论区里说说) 现在有master - slave, 有一个slave 宕机,需要你找到并且重启它,怎么操作? 现在有master - slave, 如果有一半的slave宕机,这时候你怎么用剩下的一半处理原来的流量? 现在缓存雪崩了,你要怎么解决? 说说负载均衡算法
点赞 回复 分享
发布于 2021-08-28 10:48

相关推荐

不愿透露姓名的神秘牛友
昨天 16:41
妈妈,我被应届生身份压得喘不过气,真的好想你们。我不知道该往哪走,也不知道该怎么努力,甚至开始怀疑是不是自己根本就不够聪明。从小,大家都说我是个笨小孩,只有拼尽全力才能读好书。我很少像其他孩子那样肆意玩耍,因为转学到乡村小学,连方言都不会说,别人说什么我都傻乎乎地相信。但我一直努力着,从乡村小学到初中尖子生,考上重点高中,选择文科,进入 985 高校,再到转专业,参加演出、担任学生干部。本想努力保研,却被疫情打乱计划,那段日子,我仿佛被黑暗笼罩,花了好久才走出来。后来我积极参加比赛、大创项目,大量阅读,还以为自己有文学天赋,于是决定考研。我想去上海,想去看看更大的世界,想用自己的文字为那些真诚...
wuwuwuoow:工作可以慢慢找,因为急也没用。根据我的经验,工作主要还是看运气,慢慢来吧。比起找工作,我觉得更重要的是调整下心态。我就直说吧,你目前状态肯定找不到工作,感觉处于崩溃边缘了。 现在有两种选择:一种是找不到工作每天又很焦虑,一种是找不到工作但每天很开心。你选择哪个呢? 可能会觉得奇怪,没工作怎么会开心呢?至少对我而言,工作很重要,但绝对不是生活的全部。你有摄影和画画的兴趣爱好,这点已经要比绝大部分人强了。很多人虽然有工作,或者在读硕士博士,但他们唯一的“兴趣爱好”就是玩手机。你的精神世界至少比我要丰富,我每天只会玩手机。我也想学画画,但又不想动手去学,哈哈。 我相信你一开始学摄影和画画,不是为了赚钱才去学的,而是因为自己喜欢才去学的。所以没有必要这么功利,非得从兴趣爱好里赚钱。因为和钱相关的事情,不叫兴趣爱好,这叫工作,工作怎么会让人快乐?所以纯粹点,把兴趣爱好当成兴趣爱好本身,作为一种休闲娱乐的方式,不要想着从里面赚钱。就像我前面所说的一样,工作不是生活的全部。 平时的话,可以多陪妈妈聊聊天,妈妈肯定不指望你赚大钱,只希望你每天开开心心。就像最后只能回家当老师,又有什么不好的呢,可以多花时间陪陪家人。 也可以多试试冥想,闭上眼,专注呼吸,学会“活在当下”。没必要对过去的事情后悔,没必要对未来没发生的事情焦虑。因为你没法改变他们,你只能专注眼前的事情。 新疆的教育资源不算好,你能考上 985 足以证明你比大部分学习能力强了,所以你很聪明,你根本就不笨。只是你需要试试接纳自己,接纳自己是个普通人,接纳自己不可能什么都会,接纳自己也会犯错,也要接纳比自己更强的人存在。这才是实实在在的你。 所以,我建议你可以给自己休息一个月,调整一下心情。旅游,冥想,运动,规律作息。等心情好了,再来烦恼下工作的事情,好吗? 加油哦
点赞 评论 收藏
分享
xwqlikepsl:感觉很厉害啊,慢慢找
点赞 评论 收藏
分享
评论
29
189
分享

创作者周榜

更多
牛客网
牛客企业服务