美文网首页Android开发Android开发经验谈Android技术知识
通过三轮面试斩获腾讯offer的Android菜鸟亲述:末流渣本

通过三轮面试斩获腾讯offer的Android菜鸟亲述:末流渣本

作者: 程序员叁柒 | 来源:发表于2020-08-21 15:28 被阅读0次

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在我身上实现了。

每一个程序员都拥有一座大厂梦,我也不例外。而对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二线城市的普通本科,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了阿里offer。

今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!

我是6.28下午投的简历,从投送简历到面试结束一共经历三次技术面+一次HR面,耗时39天。

腾讯三次面经+HR面

腾讯一面面试题

  1. 自我介绍+项目介绍
  2. Activity的启动模式?如何缓存的呢?
  3. 怎么保证service不被杀死/进程保活?
  4. 动画有哪几类,各有什么特点,请简单分析下属性动画的实现原理。
  5. 请简述Handler/looper机制
  6. 请介绍下activty的加载过程。
  7. 请分析下Android的事件分发机制,请详细说下整个流程
  8. 请分析下View的绘制流程。
  9. 如何加快冷启动速度?
  10. 算法题:有1000万人,有10000份新冠检测试剂,如何尽可能多的检测出来得新冠的人

腾讯二面面试题

  1. 介绍项目
  2. JVM内存分布
  3. Binder机制?Binder是怎么样实现Client、Server和ServiceManager通信的?
  4. HashMap底层、扩容、ReHash过程
  5. 锁?锁的自旋、公平锁非公平锁,CAS有了解吗?
  6. ViewModel的生命周期?
  7. ClassLoader机制?为什么要双亲委派
  8. Android中一个View的显示渲染过程,自定义View的时候需要避免什么操作?
  9. 实现一个单例有哪些方式?双重检验锁为什么要两次检验?为什么要加Volatile
  10. ANR在什么情况下会发生?
  11. 为什么Looper不会阻塞线程?
  12. 换一题,两个子节点的公共父节点(找root和target路径的方法用递归)

腾讯三面面试题

  1. 介绍项目
  2. AsyncTask的实现原理及优缺点
  3. 自定义view三部曲,流程(或者实际场景题,例如实现一个表盘,怎么做)
  4. 能不能在非UI线程更新UI
  5. 怎么知道一个Activity是否发生了泄露
  6. Android中的MVC、MVP、MVVM的区别和联系
  7. onSaveInstanceState和onRestoreInstanceState的调用时机(需要理解,一般会出个场景让你判断)
  8. clone和直接下载zip压缩包的区别是什么?
  9. 组件化以及如何解决合并冲突问题?
  10. 手撕代码:求所有在数组中的A,A满足前面的数都小于该数,后面的数都大于该数
  11. 谈一下你做这个岗位的最大优势?

腾讯HR面

来面我的HR,是个非常漂亮的小姐姐。她问的也不太多,差不多半个小时就问完了,感觉她还挺害羞的。

  1. 你希望你工作的地方在哪个城市?
  2. 你最期望的薪资是多少?
  3. 对部门和面试官,你有什么建议?

后面扯了一点家常,也扯了一点职业规划,问我以后想往哪方面转型、这些的。如果HR这面你没有很大的问题,offer基本到手。

腾讯三面面试题答案:

因篇幅问题,面试题答案整理在pdf文档里,希望可以给大家做一个参考~;获取方式在下方↓

复盘总结和建议

其实面试过很多次以后,你就应该明白拥有以下几点,面试已经成功一大半了。

01—调整自己的心态,正确面对得失

面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职朋友们在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。

02—提升技术,扩宽知识

对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。那么如何提升自己的技术,扩宽自己的知识储备呢?

以下是我个人的一些做法,希望可以给各位提供一些帮助:

Java基础方面:JVM、String、内部类、多态、抽象和接口、集合框架(Hashmap、Arraylist)、单例、线程、Synchronized、Look锁、动态代理、引用
Android基础方面:四大组件、View、进程、Bitmap、屏幕适配、消息机制、线程异步、WebView。
Android扩展方面:ART、Apk优化、Hook、Proguard、架构(MVC/MVP/MVVM)、Jetpack、NDK开发。
Android源码方面:Leakcanary、Eventbus
设计模式方面:面向对象六大原则、工厂模式、单例模式、建造者模式、观察者模式、适配器模式、策略模式、代理模式
算法方面:排序、二叉树、链表、栈和队列、二分、hash表、堆、数组/双指针、字符串处理、动态规划
网络知识:Http(缓存、Https、Http2.0)、TCP(三次握手四次挥手、socket)、类加载器

附上我搜集整理的Android知识点汇总(包括了Java基础+Android基础+Android进阶+Android源码+算法题及答案解析+设计模式+网络)+高级Android开发进阶思维导图,把技术点一层一层分化总结(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

全部资料打包领取方式:——点击此处即可获得

Java基础方面部分截图

Android基础方面部分截图

Android进阶方面部分截图

Android源码方面部分截图

算法题汇总(部分截图)

网络知识(部分截图)

高级Android开发进阶思维导图

结束语

对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。

以上内容中我所整理的Android知识汇总和腾讯面试复盘PDF,点击此处即可获得希望大家面试顺利,拿下自己心仪的offer!

相关文章

网友评论

    本文标题:通过三轮面试斩获腾讯offer的Android菜鸟亲述:末流渣本

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