Android小白十月面经:真可惜!拿了字节的offer,华为却惨挂在三面

我是10月份参加字节跳动和华为的面试的,虽然我只拿下了字节的offer,但是我自己也满足了,想把经验分享出来,进而帮助更多跟我一样想进大厂的同行朋友们,希望大家可以拿到理想offer。

自我介绍

我是14年从南京工业大学毕业,直到现在,我已经在Android开发的这条路走了6年。在这6年的时间,我见证了移动互联网的“盛衰交替”,身边的同事都是转行换业,所见的市场行情也是一片萧瑟。
如今,虽然Android已风光不再,但是“它”还是那个Android,还是那个我赖以生存、夜以继日陪伴着我的朋友。所以,我永远不会放弃它。

好了,情感已经抒发的差不多了,我们进入正题;虽然我没有拿到两个offer,但是字节跳动的那场面试我也走到了最后一面,没拿到offer,还是觉得挺可惜的。这场你们就当凉经看好了;

10.06 字节跳动随笔

从8、9月开始,我就没少投递简历,刚开始的时候接到了很多邀我面试的电话。虽然很多,但是有些公司我是实在不想去,薪资太低了。

拒绝以后,在等待中时间很快来到了10月6日,当天下午的2、3点钟,我正温习着面试题的时候,电话咚咚咚的响起,接听过后是个声音很好听的女生,她说她是字节跳动的HR,问我是不是投了我们公司的XXX部门的Android研发岗,我说是。她便问我晚上有时间,约我视频面试。我回答道有的,于是晚上8点钟的时候开始了字节跳动的第一轮技术面试。

10.06 字节跳动一面:技术面(电话面)

  • 自我介绍+介绍项目
  • Activity生命周期,每个回调方法的作用是什么?
  • 事件的分发机制
  • 内存泄漏
  • 遇到过滑动冲突吗?滑动冲突的解决方法
  • 如何进行单元测试,如何保证App稳定 ?
  • 说一说Android中如何查看一个对象的回收情况 ?
  • Apk的大小如何压缩 ?
  • 如何通过Gradle配置多渠道包?
  • 插件化、组件化、热修复原理分析

电话一面当时讲了大概一个小时,面试官在匆忙之中结束了面试。在我以为我自己要挂掉了时候,第三天的下午HR约我二面。

10.08 字节跳动二面:技术面(视频面)

  • 深挖项目
  • Activity 生命周期,A启动B两个状态分别是什么 ,A的onStop一定会执行吗?
  • surfaceView 和普通view的区别
  • Bitmap高效加载
  • 线程之间的通信方式handler
  • 内存泄漏
  • 为什么handler可以线程切换
  • Rxjava map关键字的作用是什么
  • 怎么获取view的宽高,如何确定值是准确的,说了view.post()补充viewTreeObserverOnGlobalLayoutListener
  • 场景题:头条列表有多个不同的card,使用RecyclerView怎么解耦getViewType,获得不同的card
    说了用个管理类映射,面试官说用注解、反射,依赖注入。

二面总体感觉还不错,90%都说到点上了。过了半个小时,HR打电话过来问我考虑来北京工作吗?因为我是辽宁人嘛,之前大学毕业后就在北京待了4年,这两年因为家里催婚的问题,我才回了大连。在考虑很久后我跟说她我两天后,给你消息,结果两天后,我再一次的去了北京。

10.15 字节跳动三面:技术面(现场面)

HR小姐姐跟我说,来了北京以后跟她说,约三面的时间。我是十一号的晚上到的北京,放下东西后睡了一觉,第二天上午跟HR打了电话,约了十五号的面试。

  • 项目深挖

  • ARouter路由原理

  • 如何管理过多的路由表?

  • 看视频的时候网络请求很慢怎么优化?

  • 说说HTTP3.0有什么改进?

  • App上线后用户使用时卡顿怎么查看是什么原因?

HR面 30分钟

  • 对面试官的评价

  • 了解字节跳动吗

  • 学习经历,遇到了什么挫折,怎么解决的

  • 对字节跳动有什么建议

  • 你觉得字节跳动存在的问题是什么

  • 挑选工作你看中的是什么

  • 有offer吗?

  • 你对一份工作更看重哪些方面?平台,技术,氛围,城市,还是money?

  • 理想薪资范围;

  • 理想中的工作环境是什么?

  • 谈谈你对跳槽的看法

  • 说说你对行业、技术发展趋势的看法

这次面试依然感受到了字节面试官的耐心温柔与专业,卡住时面试官会引导问题的回答,总体感觉如沐春风,不知不觉就一个半小时了。面到一半面试官说看得出来我准备了很多(内心两行泪)

最后聊了聊部门的工作方向和工作时间安排,面试顺利,加油!

HR面试注意常用技巧,可以提前准备。(给大家整理了一些,需要的可以查看我的【GitHub】)

10.24 华为热经随笔

本来字节跳动给我挂了以后,想着回大连的。但是越想越不服气,**索性就把简历投了北京的所有互联网大厂。功夫不负有心人,在10月24号这天,我终于等到了华为的面试邀约。

  • android事件分发机制,请详细说下整个流程

  • android view绘制机制和加载过程,请详细说下整个流程

  • 图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?

  • A、B、C、D分别是四种Activity的启动模式,那么A->B->C->D->A->B->C->D分别启动,最后的activity栈是怎么样的

  • Service的生命周期,两种启动方法,有什么区别

  • Handler、Looper消息队列模型,各部分的作用

  • Binder原理

  • 描述一次跨进程通讯

  • Bitmap的处理

  • 手写实现一个网络框架(参考Volley)

  • 插件化框架描述:dynamicLoadApk为例子

  • 热修复原理

  • Asynctask和线程池,GC相关(怎么判断哪些内存该GC,GC算法)

两次面试总结:华为+字节跳动

人生之事,幸之有三;有失、有舍、有得;

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围, 平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

我的学习进阶之路

书籍

  • 中级进阶推荐看一下以下这几本书

1.《Android从入门到精通(附光盘)》 明日科技 编
2.《第一行代码2 Android(第二版)》 郭霖 著
3.《Android开发进阶 从小工到专家 》何红辉 著
4.《Android进阶之光 》刘望舒 著
5.《Android开发艺术探索》 任玉刚 著
6.《Android群英传》 徐宜生 著
7.《疯狂Android讲义 》李刚 著

  • Android高级进阶

1.Android 源码设计模式解析与实战 第2版
2.Head First设计模式(中文版)
3.设计模式:可复用面向对象软件的基础

学习思维脑图

大学1-4年 架构师筑基必备


工作1-3年

工作3-5年

工作7-10年

(给大家整理了一些学习面经+Android工程师必备学习知识点,需要的可以查看我的【GitHub】)

尾声

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

另外,描述问题一定要慢!不要一下子讲一大堆,慢显得你沉稳、自信,而且你还有时间反应思路接下来怎么讲更好。 现在开发过多依赖ide,所以会有个弊端,当我们在面试讲解很容易不知道某个方法怎么读,这是一个硬伤......所以一定要对常见的关键性的类名、方法名、关键字读准,有些面试官不耐烦会说“你到底说的是哪个?”这时我们会容易乱了阵脚。正确的发音+沉稳的描述+好听的嗓音决对是一个加分项!

最重要的是心态!心态!心态!重要事情说三遍!面试时间很短,在短时间内对方要摸清你的底子还是比较不现实的,所以,有时也是看眼缘,这还是个看脸的时代。

希望大家都能找到合适自己满意的工作!fighting!


你可能感兴趣的:(Android小白十月面经:真可惜!拿了字节的offer,华为却惨挂在三面)