面试复盘|逆袭进抖音-面试准备干货&内部实况介绍

楼主21届秋招拿到了抖音Android客户端的offer(base北京)上岸,面试期间在牛客看了大量面经,面试时也有意记录下了面试题集。近期正值校招开启,特地整理出来回馈牛友~

我的经验可以分为【面经题集分享】、【面试准备:如何根据意向岗位JD制定学习计划】,其中面经题集详见另一篇帖子:面试复盘|5家大厂面试对比,抖音客户端上岸分享_笔经面经_牛客网

本文主要分享:【面试准备:如何根据意向岗位JD制定学习计划】,分为自我介绍、准备过程、心态建设三个部分。

一、自我介绍

楼主本科北邮计算机,考研没考上母校,调剂到了一所双非高校,方向变为网络安全。研二时做过安卓相关的安全研究,对安卓比较有兴趣也有一点点了解,秋招时投递的岗位是Android相关的,其中,字节投的是抖音客户端开发工程师。

二、准备过程

这一part分享我怎么确立目标、如何学习,以及总结当时的参考资料。

1、确定适合自己的目标

本科时我就是个学渣,研究生换网安之后玩过CTF、渗透、漏洞挖掘等等,但也没什么牛逼的成果,所以秋招之前,我可以说是研发经验约等于零。

2020年六月底,突然看到各厂提前批的宣传,才意识到该找工作了。我这个人,虽然人菜,但是想得美,我就只想进大厂,特别是字节,可是我对安全也实在没兴趣,搞开发的话没有拿得出手的项目,零实习经验。怎么办?于是我仔细研究了研发类的JD(Job Description),看到客户端岗位接受客户端零基础,看重计算机学科基础能力、对编程语言的掌握深度、编程能力。正好我做过安卓安全研究,对安卓感兴趣,Java也曾选修过,就敲定了安卓客户端研发岗。

2、制定学习计划

复习计划要根据【JD】和【面经】来制定,JD告诉咱们公司的用人需求,面经告诉咱们面试官怎么选人。我当时看了非常多的面试经验帖,总结出安卓客户端程序员要掌握的就是:

1、标配版:Java/Kotlin + 算法 + 数据结构 + 操作系统 + 计算机网络

2、进阶版:标配 + Android基础 + 设计模式

让我最受用的一个Android求职经验贴是《成功入职字节跳动的小姐姐告诉你,Android面试吃透这一篇就没有拿不到的offer!》

作者小姐姐很强大,把面试总结得很透彻,我的复习计划就是以这篇为骨架而做的。而且这篇文也给了我很多信心,当时我想着,这个小姐姐三个月拿字节offer,我就算能力比她差多了,我给自己四个月,五个月,再不济就春招再战,总是可以的吧!(不过建议能秋招上岸还是别拖到春招)
我从大约6月26开始学习Java,一开始主要是看上述小姐姐写的那篇。当时疫情在家,自控力差,效率不高,直到7月9号回到学校,开启高三式作息:

  • 6:10 起床
  • 6:25 出门去实验室
  • 6:45 开始学习
  • 上午刷算法题
  • 午休一小时
  • 下午学习理论知识
  • 晚上看看面经搜集问题/机动安排学习/改简历/笔试
  • 22:30 睡觉
    以上列的是全天用来准备面试时的安排,秋招期间也还有学校的事,毕设的事,不是本文重点所以没往上写。
    当时是和另外两个舍友一起结伴复习的,作息步调一致,相互监督相互鼓励,很好坚持,我每天都过得充实又开心!有志同道合的小伙伴真的非常重要哇!超爱她们!

3、知识点学习分享

  1. 数据结构 + Java
    数据结构大多是配合着编程语言来考察的,所以这俩我放在一起学习。比如问你Java中容器类有哪些,涉及到Set、Map、Queue、List,进一步问它们的底层实现,就涉及到数组、链表、红黑树。网上有非常多的Java学习资料,大家自己搜索就行,文字版看不下去还可以搜视频资料,真的超级多。
    数据结构还有一个考查方式是配合它在计算机中的具体应用考察的,比如磁盘为什么用B树,总之面试官希望看到你把计算机知识融会贯通。

  2. 操作系统 + 计算机网络
    学习高频章节和考点,比如进程/线程、进程通信、线程同步,作业调度,Linux系统常用命令,死锁,虚拟内存,内存分配,页面置换算法,TCP/IP五层网络模型及每层的职能,TCP,三次握手四次挥手,UDP,HTTP,HTTPS,HTTP长连接/短链接,Cookie,Session,Post和Get等等。我当时是把王道考研辅导书翻出来学习,感觉比考研的时候读得明白了哈哈。
    要学深一些,不能只背概念,因为面试官会一直往下深挖,看你的理解极限在哪里。比如TCP,不能只知道它是可靠的面向连接的协议,如果面试官问:“TCP的可靠性是如何保证的”,咱就答不上了吖!再比如三次握手,要做到能把建立连接过程中双方的状态变化烂熟于心,要知道为什么设计三次握手,两次的话会有什么危害,三次握手机制有什么隐患(SYN洪泛攻击),如何应对,等等。

  3. 算法
    《剑指offer》,在牛客刷的,第一遍刷了一个多月,牛客上有很多大神分享解法,我就疯狂学习。刷完剑指后面了快手,算法考的三数之和,写不出来,一面就挂了,后来发现那道题是力扣很靠前的题目,心痛痛,就开始也刷力扣Top100。这些高频题都很经典,解法也巧妙,只做一次是远远不够的,我比较菜,有些题我甚至要做七八遍。我做的题也不多,总共就200左右吧,但是反反复复刷的比较熟练。牛客有个很好的板块,统计了什么【研发最爱考】【客户端最爱考】,还有考过的企业。面试前半个月,我开始每天在牛客上刷这些题,优先刷字节客户端爱考,刷完之后就扩展到研发爱考、上周爱考等等。
    面试算法就是要熟能生巧(现场解题的大佬请忽略~),我面字节时出的两道算法题我都刷得滚瓜烂熟了,面试前一个月我刚刚认真研究过岛屿系列,该系列题目很有意思,我印象特别深刻,所以听到题目的时候内心狂喜!
    有些特别基础的算法请务必掌握:快速排序、二叉树前/中/后/层序遍历(递归和非递归法都掌握)、深度优先搜索、链表反转、二分查找。
    快排我在美团和滴滴面试中都用到了。

  4. 设计模式
    设计模式不要求必须会,但掌握了绝对是个大大的加分项!而且我发现面试官还挺爱问那么一嘴儿的,能不能聊下去就看你的了。
    推荐一些设计模式的书:

  • 经典之作《设计模式》,机械工业出版社,作者是四个博士,推荐给时间充裕的同学。

  • 《深入设计模式》 ,图文并茂,容易理解,推荐给时间紧任务重的同学。

  • 还有《设计模式之禅》,也很不错,讲得妙趣横生,我那时看它就当作边学习边娱乐了。

    学习设计模式的时候,要多多举一反三,联系实际创建场景,有助于加深理解,当你能够轻松地用自己想的例子来解释一个设计模式的时候,说明理解过关了,可以用在面试上了。比如我学桥梁模式,一个对象有两个可变的,不同维度的属性,是不是可以对应成口红的不同质地、颜色,如果再加一个维度呢?品牌呀!ok,桥梁模式搞定!不过我遇到的面试官都是爷们儿,为了避免增加沟通的成本,面试时我改成用奶茶来举例了,笑:)
    如果你想更秀,还可以用源码举例,比如Java线程池是单例,比较器是策略模式,迭代器是迭代器模式,Android中的监听器是观察者模式,等等。
    单例模式超高频,千万要掌握。

  1. Android基础
    这个我会的就不多,Activity生命周期,线程通信,进程通信,AccessibilityService原理,没了。面试被问时就坦然说学得少,不太懂。

建议学习时整理成笔记,我自己也写了总结的,但当时为了省时,很多都从学习资料中直接复制粘贴,担心引发版权问题,这里就不贴自己的博客链接了,我把我看的博客链接和公众号分享出来。

4、学习资料小结

分享一些让我很受用的资料,大家在学习的过程中也要多搜索,我当时看了很多很多东西的,也自己写代码复现、阅读重要的源码,并整理笔记。

三、心态建设

我的秋招节奏其实比大多数人慢多了,我九月份才开始有面试,而当时身边已经不少同学拿到了知名企业的offer了,我一度非常焦虑,但焦虑是没有帮助的,我就疯狂催眠自己:稳住不要急!好饭不怕晚!每当被面试打击之后(详见面试复盘|5家大厂面试对比,抖音客户端上岸分享_笔经面经_牛客网 ),也疯狂自我安慰:格局要大,脸皮要厚,这些全当练手!

就这样撑到秋招末尾,我觉得自己火候差不多了,才向字节投递了简历,拿了字节offer后我整个人都瘫了,再也面不动了……当时我还有另一个也在找工作的小姐妹,在被面试打击时会相互取暖。她结束秋招比我早,但是offer不满意,就比较丧,后来被拿到字节offer的我灌了一剂鸡血,春招继续肝,拿到了外企月薪26k的offer~可见不放弃希望有多么重要!愿我们的经历可以给大家带来勇气哦!


岗位介绍

楼主入职快三个月了,公司有线下培训,专门给校招同学举办的,介绍企业文化、部门概况等等,还有前辈现场分享高效工作方法,没有统一的技术培训,但是会给新人提供学习资料和时间。公司福利很nice,三餐全包(自助餐厅/盒饭/健身餐),饮料水果小零食下午茶,五险一金商业保险等等,最让我喜欢的是部门氛围,大家都很nice,有事直说,互帮互助,鼓励分享。还有就是字节是真的很敢让新人接触甚至负责重要的任务,比如楼主就参与了一个新项目的开发,这个项目的PM是个刚入职4个月的小妹妹。

说一下我投递的岗位供大家参考,名称叫【客户端开发工程师-抖音/抖音火山版/直播/影像】,职位 ID:8CL2,属于产品研发和工程架构部下的智能创作团队,在北京、上海、深圳、杭州,大家在官网上按岗位名称搜索就能看到哈。

我们智能创作团队负责抖音、抖音火山版、直播、音乐、影像等多款明星产品的研发,岗位要求我画个重点,完整版见官网:2022届获得本科及以上学历;可接受客户端零基础同学;扎实的数据结构和算法基础,精通至少一门编程语言,包括但不限于:Java、Objective-C、Swift、C、C++……

现在校招还在进行中,如果大家想了解我所在岗位的工作内容等等都可以评论或者私戳我哈,会及时回复滴

#面试复盘##面经##秋招##Android##校招##字节跳动#
全部评论
资料链接绝了 收! 感谢楼主~
1 回复
分享
发布于 2021-10-12 11:43
滴滴
校招火热招聘中
官网直投
😊神仙小姐姐真滴棒!!
1 回复
分享
发布于 2021-10-12 11:57
小姐姐牛🐂!!!
1 回复
分享
发布于 2021-10-12 12:05
牛啊牛啊
1 回复
分享
发布于 2021-10-12 20:43
哈哈哈,你好,我是广工的,看来大家都是在广州读书的
1 回复
分享
发布于 2021-10-13 14:22
看见小姐姐面试抖音的分享了! 膜拜..
点赞 回复
分享
发布于 2021-10-12 11:44
感谢分享!
点赞 回复
分享
发布于 2021-10-12 11:44
另外可以求小姐姐给一个内推码嘛?球球了
点赞 回复
分享
发布于 2021-10-12 12:02
小姐姐tql~~向小姐姐学习
点赞 回复
分享
发布于 2021-10-12 12:12
谢谢分享呀
点赞 回复
分享
发布于 2021-10-12 19:25
可以加你问一些学习上的东西吗
点赞 回复
分享
发布于 2021-10-12 20:19
果然严格的行为习惯更好出成功,感谢大佬share,向他学习
点赞 回复
分享
发布于 2021-10-12 21:17
太棒了 受益匪浅 这些资料我都收藏起来了
点赞 回复
分享
发布于 2021-10-12 22:49
请问力扣top100在哪里刷呀?
点赞 回复
分享
发布于 2022-10-19 21:45 四川

相关推荐

头像
04-26 22:54
已编辑
门头沟学院 计算机类
4.26,70 mins 美团 SaaS技术部 前端&客户端开发 一面1. 有什么跳出舒适区然后收获颇丰的经历2. 有什么以前包括现在一直在用的学习方法3. 印象最深的一次解决难题是什么4. 你学过的感觉设计最巧妙的数据结构是什么5. 红黑树的特性有哪些6. 红黑树和平衡二叉树的区别,HashMap中为什么使用红黑树不用平衡二叉树7. 红黑树和平衡二叉树的插入和查找时间复杂度是多少8. 链表的定义是什么9. 防抖和节流了解吗10. 设计模式了解哪些11. 单例模式有哪些创建方式12. 观察者模式和发布订阅模型的区别13. Java 中的基本类型有哪些14. 它们的大小分别是多少15. 基本类型放在哪里,对象引用呢16. 为什么对象要放在堆上,基本类型和引用要放在栈上17. JVM 垃圾收集算法有哪些,分别介绍一下18. 说说对 Java 的泛型的理解19. 注解有哪些类型20. 讲一讲 Websocket21. Websocket 和 socket 的区别22. 还有什么方式能够实现类似 Websocket 的机制吗23. 如果要你自己实现一个类似全双工的协议你会怎么做(然后说考察你的思维能力,但是我完全不知道怎么答)手撕:编辑距离手撕不会,但是面试官很好,一步步引导我,还给我画二维dp矩阵给我分析有哪几种情况,我怎么这么菜其他感觉问的挺简单的,但是那道思维题我沉默了很久没说话,说我思维能力还不足,应该随便说一点的,吃到苦头了#美团##前端##面经#
投递美团等公司10个岗位
点赞 评论 收藏
转发
62 229 评论
分享
牛客网
牛客企业服务