美文网首页Android高级进阶Android进阶之路Android开发
Android菜鸟6年开发面试字节跳动安卓研发岗,被面试官怼的没

Android菜鸟6年开发面试字节跳动安卓研发岗,被面试官怼的没

作者: 小小小小怪兽_666 | 来源:发表于2020-07-14 21:47 被阅读0次

    人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。

    我一听呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手。

    人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然是牛逼的公司。而这个时候勇敢跳槽的人,必然是牛逼的人。

    于是2020年5月25日下午14:00,我开始了字节跳动的社招面试。

    为了这天,我前一天排老长的队理了个利落的发型,胡子刮得一干二净。穿上崭新的新百伦999,连袜子都是崭新的NB,墨绿色工装裤配酒红色卫衣,外面再搭一件精致的黑色羽绒小坎肩,准时准点出现在电脑屏幕前,准备开始视频面试。

    去面试头条,你最好有点心理准备。我面试过头条的好兄弟给了我一句忠告。不过邮件对考查内容写的一清二楚,所以一面,我并没有做太强的心理建设,事实证明我可能对通用型业务和软性技能的理解还不够透彻。

    时间到了,画面里出现一个面积很小的房间,面试官坐在里面调节姿势和座椅靠背。这不是我第一次,但我却比第一次还要紧张。面试官跟我的一位闷骚朋友很像,长相、气质、说话声音如出一辙,我几乎差点问他这些年跟郑州那个女孩子还有没有联系,孩子到底是不是你的......

    确认过眼神,我们在初次见面的紧张和局促中正式开始,前戏的部分大同小异,自我介绍,公司职能,项目简介。

    小作坊走出来的小猿,项目经验并不出彩,没有高并发,没有分布式,前端后台服务器和数据库部署在同一台机器上。为了不显的太low又假装不经意提了提自己在GitHub上有自己的开源框架,但是他并不care。我的花样耍完了,就到了他肆意挥舞小皮鞭的环节。

    接下来是我靠着自己的记忆整理出来的这次的面试题:

    字节一面 1小时

    面试官一直在摆弄自己超长的浓密头发,可能是变相施压吧在。。

    • http1.1和2.0区别
    • 序列化,Serializable和parceble区别,分别什么时候用
    • tcp三次握手
    • 内存泄露
    • 双亲委派机制
    • 快排
    • threadlocal了解吗
    • handle你怎么理解的(扯源码),post方法是怎么工作的(封装Runnable)
    • okhttp讲讲
    • 事件处理机制
    • Activity生命周期,给了几个场景问生命周期变化
    • Fragment生命周期
    • Service(具体是啥记得不太清了,都学学没坏处)
    • GC回收机制
    • HashTable理解,初始带大小,扩容机制,HashMap
    • 还有哪些安全的map
    • sychronized用过吗,sychronized可以相互嵌套吗
    • violatile用过吗
    • 算法:之字形输出二叉树(秒了)

    20分钟后字节二面 1小时

    • 接口和抽象类区别
    • 设计模式六大原则
    • handle内存泄露
    • 进程调度策略
    • 如何保证微信发送消息可以传达到,跳出TCP思维想想(结果还是抄了TCP思想)
    • 由于网络原因信息发送速度不一,如何使接收端可以确认信息的正确顺序
    • 如果让你管理APP中的线程你会怎么做(我也没太懂。。就说了线程池之类的)
    • okhttp线程池怎么实现的
    • 事件处理机制
    • 如果添加onClick事件怎么处理事件
    • 如何下载一个特别大的图片
    • 如何加载一个特别大的图片
    • 如何在关闭程序之后很快加载特别大的图片
    • Exception和Error区别以及Exception两种类型
    • 算法:求最长递增子序列(原本以为是不连续的讲了半天。。面试官说是连续的,O(n)秒了)

    半小时后hr打电话约三面(视频面)

    字节三面 40分钟

    面试官:那我就看看你安卓了解到什么程度吧。。

    • 布局了解过哪些
    • 广播讲讲,系统广播有哪些
    • MVP和MVVM讲一下
    • 用过哪些隐式intent
    • Fragment生命周期
    • touchEvent和touchListner
    • targetSDKVersion,minSDKVersion,compileSDKVersion(得知我没注意过,面试官发出了肆无忌惮的笑声。。对不起这些不会是真的会被嘲笑)
    • SQLite用过吗,sharedpreference用过吗,多进程使用sharedpreference
    • 聊项目
    • 平时有什么爱好
    • 安卓看了哪些书

    中间面试官问了很多底层原理的问题,除了低头委屈说不会,内心的我已经意识到了问题的严重性,平常面试你只要一喊不行,对方就会体贴地换一个方向继续深入,这次我都快被搞哭了,他居然换了个姿势继续往深怼,这谁顶得住啊……到了这一步我的心理防线基本宣布告罄😭😭😭

    其实面试官的套路大多如此,每个技术都尽可能的深入,深到你不会为止,并不是非得要把你折磨的不能自理,而是为了考察你的技术水平到底如何。但是事到如今我的大脑已经无法给自己完成心理建设了,摧枯拉朽般智商情商性商逆商全线崩盘。

    当然这也不能全怪我,上来就是三个大闷棍,就是李云龙来也让旅长打成懵逼了,哪里还能腾出精力开意大利炮。

    最后的视频面面试官终于放我走人,长达一个小时的激情视频聊天终于结束,关掉视频的一刹那,随着浑身一阵抽搐,整个人瘫软在椅子上。我是谁?我在哪儿?刚才发生了什么?

    哦,刚才发生了那种事情。我之前对那种事情还挺向往的,内心对此充满了激情和憧憬,怎么现在,对这件事情一点兴趣也没了?现在只想这么瘫着什么也不想做。要不要点根烟抽抽?哦对了我不抽烟。原来贤者时间脑子里这么多想法……

    飘飘忽忽浑浑噩噩,脑海里一直回荡着周董的音乐:这感觉已经不对我最后才了解,一页页不忍翻阅的情节我好累,你沉默看我掉过几次泪多憔悴,而我心碎你受罪你的offer,我不配~~~!

    面试过程和提到的问题大致如此,为了阅读体验有部分艺术修饰,但是内容全部都是真实的。接下来咱们说点正经的。

    面试中需要注意的问题

    今天这轮面试,算是被扒了个体无完肤,可以说是程序员面试的反面典型,当然我也不怕说出来,菜就是菜,吹水就是吹水,努力把吹过的水早日兑现,迟早有一天能成真正的大佬!

    这次作为loser再说说在求职前期准备过程中暴露出的问题,望大家引以为戒。

    1、尽量早早做好准备

    面试不应该是准备好了才去,而是时刻都准备好了。如果非要说从什么时候开始准备离职跳槽,我的建议是半年。别像我一样,面试了才开始看算法和数据结构。

    2、先找小公司面几次进入状态,再投大公司一举拿下。

    我蠢到一开始就动用了我所有的人脉,投了bat及其他二线大厂所有的内推。算上字节跳动已经是我黄掉的第三个响当当大厂了,踩着大厂当垫脚石攒面试经,除了觉得自己蠢,我还觉得自己真特么牛逼。

    3、你的简历,就是复习大纲

    总有人拿网上找到的拿了bat offer的人提供的复习大纲复习,结果发现并没啥卵用。我这次字节的面试,他提出的所有的问题全部是基于我简历中的技能清单。

    我认为很多人但凡能做到简历中技能清单描述的样子,就已经算了不起了。如果简历中感觉无料可写?我推荐一个好办法:

    1.听说过名字,就写了解;
    2.跟着帖子写过demo,就写熟悉;
    3.项目当中用过,就写熟练掌握;
    4.项目当中经常用,就写精通;

    我就是这么写的,结果很显然,出来混,总是要还的,敢装逼,就活该被人凌辱。

    4、警惕舒适区

    不得不承认我在现公司呆的真的非常舒服,领导非常器重,项目和授课两不耽误,去大学实训总是受到学生的追捧,手里时不时还能接到价格公道的私活儿。

    之所以想走,一方面是因为心中对大厂和技术的执念,另一方面是因为现在已经到了给自己规划的时间,碰巧赶上互联网寒冬是没有办法的事,但是我仍然坚信真正牛逼的人是不会被寒冬所阻拦。

    最近的几波儿面试直接把我打到怀疑人生了,面试完后双目无神的望着天花板不知道该如何评价自己。授课到现在带过的学生虽然不多,但是送进一二线大厂的没有二十个也有十几个了(我们机构不造假学历,都是实习生进的),怎么我这个老师找个工作这么费劲?是道德的沦丧还是人性人扭曲?是大厂真的飘了还是我确实拿不动刀了?

    “如果程序员对职场感到迷茫,对眼下的舒适感到不安,我建议他出去面试,不见得要走,但是你要出去,听听市场对自己的评价。”

    这句话是在一个求职公众号里看到的,我觉得不光程序员,任何职场人都该深以为然。我对职场虽不迷茫,但是面试一波儿就发现,我在毫无意识的情况下,在工作三年这个节点成长上已经被人甩下一大截,更要命的是对基础知识的掌握程度完全比不上应届毕业的实习生。

    往后日子里赶紧老老实实看书,踏踏实实做事儿,早日兑现自己曾经吹过的牛逼。

    最后

    不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。

    最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2020面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节

    还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

    一线互联网面试专题 379页的Android进阶知识大全 379页的Android进阶知识大全

    点击:

    Android架构视频+BAT面试专题PDF+学习笔记​

    即可免费获取~

    网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。(我现在正在按着这份学习笔记复习,争取下次面试不再被怼!)

    相关文章

      网友评论

        本文标题:Android菜鸟6年开发面试字节跳动安卓研发岗,被面试官怼的没

        本文链接:https://www.haomeiwen.com/subject/qadqhktx.html