腾讯Android WXG 实习 面经

腾讯WXG,我是大二下(27届)投简历并面试,所以情况有些特殊,仅供参考

一面

面试官真挺忙的,一来就因为开会迟到了10分钟

  1. 说说Java的乐观锁和悲观锁(没答出来, 面完后才了解什么是乐观锁悲观锁)
  2. 结合JVM运行时内存区域,说说volatile关键字(运行时内存区域没答出来,答出来了volatile,面试官人真的很好,答完后还给我解释为什么需要volatile关键字)
  3. 看你项目里用了Kotlin的协程,你能说说协程是如何实现的呢?(答了一部分,说了一下续体)
  4. 能说说你们项目里面是如何使用协程处理视频帧的?为什么要选择协程呢?(答的还算完整,得到了面试官的肯定)
  5. n个项目拷打的问题…….(拷打的时候还问我了不了解密码学,懵了,面试官开玩笑说没关系我就是随便问问)
  6. 说说你如何理解Flutter中的Widget(说了说Widget和Element的关系,提到了Flutter中的三棵树,以及渲染的流程,从源码方面解读了一下,源码分析地比较好,得到面试官的肯定)

然后提起我目前是大二,说看看我基础,问我在学校学过的专业课有哪些。答:有操作系统,数据库,数据结构。然后就开始拷打课程内容

  1. 说说数据库的索引是如何实现的(使用B+树实现,详细说了说B+树的原理和性质)
  2. 什么是用户态和内核态?
  3. IO操作会使CPU陷入内核吗?为什么IO操作要设计成系统调用的形式?(会,为什么要设计成系统调用答了三点:系统安全考量、统一资源管理、抽象思想,减少程序员针对不同品牌的IO设备繁多的适配工作)
  4. 能说说Dart的Isolate是什么?(对比了一下与传统线程的区别)
  5. Dart的异步任务比如Future和async以及await是如何实现的?(说了说事件循环)
  6. 追问:所以说在Dart的单Isolate中,没有真正的异步是吗?(这个问题有点刁钻,我答的是:不完全是,比如网络请求,Dart内部会把网络请求本身交给Dart VM的线程来执行,由C/C++侧管理,当请求完成后,C/C++侧会将回调加入到相应的Isolate的事件循环中。所以对于Dart而言没有真正异步,因为执行事件队列中的任务是同步的;但是对于整个Dart VM而言,是真正的异步操作)
  7. 大部分人都是大三来实习,为什么选择大二就来实习?
  8. 能实习多久?(两到三月)
  9. 有什么想问我的吗?(未来学习的规划和方向,面试官说了很多,也了解到这位面试官是Android大佬,Android刚出来的时候就开始搞安卓开发了;又问了问实习相关的事宜)

面完已经晚上九点多了,说好的是半个小时,结果面了一个半小时((,他说他还有一个会要开,告诉我明天给我出结果。晚上12点看一面过了。

二面

一面过了四天后就发复试通知了,两天后面试。

二面面试官也很和蔼,全程脸上挂满微笑,问到我不会的问题还会坏笑一下~~(我嘞个~~

上来面试官先进行了自我介绍

  1. 然后让我自我介绍
  2. 算法题:字符串的括号匹配问题,用栈解决,秒了
  3. 算法题:力扣上的打家劫舍II(圆形住户,收尾相连)(动态规划只写出来了打家劫舍I(线形住户)的代码。面试官看没写出来,首先肯定了我的现有代码对线形住户是对的,然后提示了一下,瞬间明白,去头去尾分别算一次,求最大值即可)
  4. 智力题:两根绳子,长度相同,粗细均匀各不相同,每根绳子的粗细均匀程度未知,不同粗细处的燃烧速度不一样,但已知这两根绳子的燃烧时间都是60s,如何用这两根绳子精确测量出15s的时间?
  5. 项目拷打,问某个项目中的视频帧处应该如何优化?图片上传如何优化?如何优化课表的缓存策略?
  6. SSO单点登录的流程
  7. 说说Flutter中的三棵树,以及GlobalKey的实现原理(早上刚读过源码,源码中的变量名叫啥都记得,面试官评价:不错啊,了解的很细致,看得出来仔细研究过的)
  8. Dart中的const构造函数为什么比非const构造函数具有更好的性能?
  9. Flutter的ListView.builder性能为何比直接使用构造函数好?
  10. ListView还有哪些优化手段(这里记混了,答成了PrototypeChildDelegate)
  11. Flutter中当用户滑动ListView时,内部的事件处理和组件缓存是如何进行的?(这个当时是真不会,于是给面试官说这个我没了解过,但是我了解过Android原生中的RecyclerView的相关机制,然后面试官说,这俩其实差不多的,就让我说说RecyclerView,于是开始长篇大论,给他分析源码,讲了一下事件分发、事件冲突的处理以及RecyclerView内部的缓存策略和如何自定义缓存等等,评价:真不错啊,这么细)
  12. 让我问他问题,问了问平时开发的时候,前后端是如何协调的

面完时是中午12点,时长两个小时,感觉面试官挺满意的,有一种能过的预感。下午四点看官网,二面也过了。

HR面

最后一轮了,离成功最近的时候是最紧张的

HR是个小姐姐,问的都是非技术问题,比如平时身体健康状况怎么样,能否适应广州的环境(她说以后正式工作多半在广州),还问了问未来的规划什么的。最后让我问她一个问题,结束。

时长刚好半个小时,个人感觉,HR面的目的是为了看你的情况适不适合腾讯吧,表现得像个正常人,回答的时候以公司利益为主就好(虽然感觉实习也没啥)。

后续流程

等得我很焦灼,25号HR才来加我好友,通知我面试通过,前前后后等了一周,还以为挂在了最后一关。随后26号云证,27号接收offer。

收获

不得不说,面试一次还是有很多收获的,学到了很多面试技巧

首先是简历方面,在简历里面写的东西都有可能被面试官闻到,所以在准备面试的时候需要根据你简历上面涉及到的技术点进行准备,笔者是自己当自己面试官,问自己这个功能怎么实现的?用了什么技术?这个技术或者涉及到的框架是什么?其中有使用到什么设计模式吗?还有什么可以优化的地方?

面试官提问的逻辑是很发散的,会根据你每次回答中的关键词来决定下一个问题问什么,我们也可以反向利用这一点,在回答的时候尽量多提及自己熟悉的关键词,这样就能提高下一个问题问到我们会的内容的概率。

然后就是八股,这个要根据面试的岗位来进行准备,一般来说,这方面问题都是基础性的东西,例如Java锁机制,线程池如何实现的,或者让你谈谈某个框架的实现原理等等问题。还有一些技术部门通用的问题,例如经典的TCP三次握手四次挥手以及操作系统的进程间通信、同步等等,这类问题是所有技术部门面试都可能会出现的高频问题,也需要细细准备。

还有就是面试能不能过还是需要一些运气的,像我这种前一天刚读完源码第二天就精准问到的概率还是有点小的。没面上的小伙伴也不用灰心,或许你就是差那一点点运气!

大概就是这些,我是6.6投的简历,这个时候其实已经很晚了,很多暑期实习的简历投递3-5月都已经完成,已经招了大部分人了。之所以选择在这个时间点投递,是因为先前都没有岗位要大二学生,6月这个不仅有内推链接(是在我们学校的腾讯校招群里看到的),虽然不知道为什么这个节点了还能有内推,而且还招大二学生,并且还是我擅长的Android岗位,天时地利人和了属于是。

一开始我也知道现在大二就出去实习有点儿太早了,所以其实是抱着试一试的心态去做的,纯想看看面试究竟是怎么样的,压根就没有通过面试的期待,没想到居然真给我过了。

#腾讯2025实习生招聘##wxg##腾讯##面经##面试#
全部评论
请问一下算法和八股准备了多久,我也是大二,最近也是抱着试一试的投了投字节客户端,没想到给机会面试,不知道怎么准备
点赞 回复 分享
发布于 07-11 01:57 福建
兄弟是哪个组的
点赞 回复 分享
发布于 06-28 16:10 广东

相关推荐

7.12好痛苦,越来越觉得自己像迟钝的人机最近在刷莉蔻,又开始恶补那些算法知识,其实已经学过很多次了不是吗?但是一点也不妨碍这些东西在我脑子里留不下任何一点痕迹啊!想哭😭大一的时候第一次学,后来忘了,大二的时候打比赛又学,大四跑去面试又学,现在又忘了…我的脑子好像一个容量为几kb的临时堆栈,只能存下几天内学的东西,几天过后,内存自动释放,那么多八股咋背下来的啊!!项目涉及到的方法要学,方法相关的方法要了解,知道xx是咋实现的,还要知道为什么xx要这么实现,不xx的话会怎么样。。。面试官以为我的脑子是万能的ai吗,什么都答得上来,围着一个点能展开三四点…唉我真的好容易被影响,周一的面试很顺利很轻松,我就开始放松警惕,不咋接着学了,今天下午的面试一坨,磕磕绊绊,最后面试官还跟我说再好好学学吧还是,尴尬的想找个缝钻进去了。(吐槽环节结束)我也在想为什么那些题刷过几遍之后我还是没印象,是我没过脑子刷吗?是我刷的次数太少了吗?(yes,二者都有)可是头脑里偶然会有个声音冒出来:现在ai都会做那些题了,而且比你做的更好更快,有什么意义吗?(你看,我又开始思考意义了,思考意义是我的逃避方式之一)当然,ai比我可以把我摁在地上打,可是,见过美食博主的视频就等于自己吃过那顿饭了吗,见过旅游博主的视频就等于自己也去环球旅行了吗,会用翻译器就等于自己掌握了那门外语吗?(转变想法:直面现实,既然必须要做,不如创造些意义,欣然地去做)但是就像博主的视频可以作为我们做攻略时的参考,我们是不是也不要对ai有敌意,而是转变想法,ai就是一位优秀的老师,让来引导我,向它学习。ai当然会刷题,但跟我会不会刷题又有什么关系,我自己做出来那些题目当时是有意义的,说的近可以应付笔试面试,说得远了刷题有助于提高未来代码的性能。背面经的意义更不用多说,一方面了解学习这些知识,另一方面借助面试官来拷打自己的薄弱环节,愈挫愈勇,宝宝,你一直不会被轻易打败的,不是吗?(洗脑环节先到这里,我接下来可以做些什么让情况变得更好)1️⃣面试磕巴,不自信不自信很正常,因为我时间不够准备不充分,我过去的经历告诉我,准备足够充分的话,我的语气眼神都很坚定,透露着满满的自信。那么问题就变成了准备不够充分的情况下如何装的更自信。首先,声音要洪亮,注意一些语气词,少点试探性的词汇(应该,感觉,吧)。其次,不会的话就道歉,大方的和面试官说,不好意思,这部分没有准备。最后,磕巴的本质还是不够熟悉,脑子里有话但说不出,周日我自己找个地方念叨念叨2️⃣ 需要准备的内容过多设置优先级,项目>基础技能知识>其他知识- [ ] cs144每个模块的功能,主函数的实现- [ ] 数据结构的基础知识- [ ] 计网八股- [ ] cpp八股3️⃣心态容易被影响拉长时间轴,放宽心态,宝宝你的经历已经告诉你:成果是日积月累的,不是一蹴而就的。紧急准备实习,本来希望就很渺茫,找到了说白了也是运气好,应该给自己做稍微长期一些的规划。尽可能的做到自己能做到的最好。(问题梳理结束,把计划细化到可以执行)🚩短期goal:应付下周一的节子面试7.12- [ ] 刷完链表- [ ] cs144的前三个模块- [ ] 背一轮计网八股- [ ] 数据结构过一遍知识点7.13- [ ] 刷完二叉树- [ ] cs144的期待他模块- [ ] 栈、堆、二叉树🚩长期goal:- [ ] 操作系统的学习- [ ] webserver- [ ] 数据库(心灵除草环节)回到标题,之所以说自己像个迟钝的人机,是因为我害怕变得无趣,害怕变得一板一眼,害怕丧失活力,而最近背东西让我回到了一种熟悉的被考试支配的感觉,放大了这种恐惧。但话反过来讲,“人机”一些是否也意味着在变得更加地professional?再者就是今天被打击到了,自己曾经引以为傲的东西离我远去了,意识到知识不是永恒的呆在我脑子里的,知识那么容易被遗忘,我好难过。如果我可以有面柜子,上面整齐的排列着一个个的小箱子, 我可以把我曾经学到的知识打包好放在箱子里,需要用的时候直接取就好了。还有就是觉得自己永远是个小学生,永远有好多东西要学,不要停止,脑子是越用越快的,不用是会生锈的。抛开这些,我希望我可以拥有自己的信仰,信仰不一定是宗教,但我希望我的信仰是绝对正确的东西,这样脑子会轻松简单很多。我正在寻找一些永恒不变的真理,可以指引我的想法,指导我的行动。好难,不过我可以从自己的经验出发,不断记录,尽量保持开放,慢慢相信些什么,要不太容易被外界打倒了。我不要被打倒。我不会轻易地被打倒。
点赞 评论 收藏
分享
评论
1
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务