写点什么

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

用户头像
Android架构
关注
发布于: 16 小时前

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


小作坊走出来的小猿,项目经验并不出彩,没有高并发,没有分布式,前端后台服务器和数据库部署在同一台机器上。为了不显的太 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、先找小公司面几次进入状态,再投大公司一举拿下。


我蠢到一开始就动用


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


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


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


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


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


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


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


4、警惕舒适区


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


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

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Android菜鸟6年开发面试字节跳动安卓研发岗,被面试官怼的没话说