3年Android开发再战快手,心有不甘狂刷一个月面试题,成功打脸快手

3年Android开发再战快手,心有不甘狂刷一个月面试题,成功打脸快手_第1张图片

前言

说一下我大概的情况。渣本毕业,工作已经有快3年了,从初中就开始玩快手,快手真的是陪伴我很多年。大学主学的计算机软件专业,所以,入职快手是我大学时期给自己定的小目标。

在学校,专业学的算中上的水平,课本知识和老师讲的东西基本消化的八九不离十,也自己动手写过属于自己APP,参与过一些社团协会共同开发的项目。

刚毕业时候,快手也有校招,满腔热血的参加了,准备了好久,结果还是没有被录用。当时,挺失落的吧,但是也并没有放弃我进快手工作的梦想。

7月份的时候一位学长知道我非常想进快手,特意告诉我快手有内推名额,问我要不要来试一下,我一口直接答应,然后把手里的工作辞掉了,破釜沉舟一把,宅家里半个月复习。将学校所学知识点,以及工作3年的积累经验都系统的归纳整理了起来。再过一遍,然后就是刷面经,面试场景练习等等等。

世间所有的付出终是有回报的,努力的耕耘,也没有被辜负。从离职到入职,一个月时间,顺利的入职了快手,也是要感谢网友们提供的宝贵经验,所以整理了一下,把我的面经整理一下也分享出来给大家。

一面

  1. 自我介绍
  2. JVM内存分布
  3. Binder机制?Binder是怎么样实现Client、Server和ServiceManager通信的?
  4. HashMap底层、扩容、ReHash过程
  5. 锁?锁的自旋、公平锁非公平锁,CAS有了解吗?
  6. ViewModel的生命周期?
  7. ClassLoader机制?为什么要双亲委派
  8. Android中一个View的显示渲染过程,自定义View的时候需要避免什么操作?
  9. Activity、Window、View之间的关系
  10. 实现一个单例有哪些方式?双重检验锁为什么要两次检验?为什么要加Volatile
  11. Volatile有啥用
  12. ANR在什么情况下会发生
  13. Handler机制、为什么Looper不会阻塞线程

二面

  1. Acitivty的四种启动模式与特点
  2. 广播使用的方式和场景以及广播的几种分类
  3. FrameLayout 、 LinearLayout 、 RelativeLayout 各自特点及绘制效率对比
  4. Android中的MVC、MVP模式
  5. App的启动过程
  6. Android怎么加速启动Activity
  7. Bitmap的四种属性,如何加载大图(inJustDecodeBounds)
  8. Touch事件分发机制和冲突处理
  9. Android IPC:Binder原理
  10. Class文件结构(常量池)
  11. Java内存模型结构(主内存和工作内存)及操作,原子性可见性和有序性等
  12. 启动线程和安全的终止线程。(interrupt)
  13. TCP可靠传输原理实现(滑动窗口)
  14. Cookie与Session的作用和原理
  15. Https加密原理

三面

  1. TCP/UDP的区别,有看过具体报文的信息吗
  2. 你觉得开发一个SDK,需要注意哪些地方,有没有做过SDK性能测试
  3. 有了解过音视频的编解码吗
  4. 开放题:让你加载一个200M左右的GIF,如何实现及优化,不可降低画质
  5. 反问环节

HR面的话就不列举啦,就是一贯的聊一些职业规划,了解一下你的性格特点之类的。

小福利

前面我说破釜沉舟宅家半个月刷题刷面经,现在我拿到Offer了,把这份好运分享给近期有面试和想在技术道路上继续精进的朋友。也是希望可以帮助到大家提升进阶

内容包含:Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容

如果你有需要的话,可以点击获取!

现在入职快手也有快一个月时间了,整体感觉还是很棒的,同事们都超棒的,超喜欢这里,打工是不可能打工的,这辈子都不可能打工的…除非在快手hhhh,真香~

看到最后记得一键三连呀~也祝各位能早日拿到心仪的Offer!

你可能感兴趣的:(Android程序员,移动开发,面试,Android开发,Android程序员,移动开发,Android技术,Android面试)