二本渣渣 6 年开发面试字节跳动 Android 研发岗,被怼的有点惨 ---
时间到了,画面里出现一个面积很小的房间,面试官坐在里面调节姿势和座椅靠背。这不是我第一次,但我却比第一次还要紧张。面试官跟我的一位闷骚朋友很像,长相、气质、说话声音如出一辙,我几乎差点问他这些年跟郑州那个女孩子还有没有联系,孩子到底是不是你的......
确认过眼神,我们在初次见面的紧张和局促中正式开始,前戏的部分大同小异,自我介绍,公司职能,项目简介。
小作坊走出来的小猿,项目经验并不出彩,没有高并发,没有分布式,前端后台服务器和数据库部署在同一台机器上。为了不显的太 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、先找小公司面几次进入状态,再投大公司一举拿下。
评论