前言

首先说一下背景,小公司3年开发经验,Android、iOS都会,211本科,毕业3年,裸辞离京来杭,面的Android开发。

其实面试最重要的是准备好简历上的东西,Java、Kotlin基础,性能优化、内存优化、内存泄漏这些都是基础,肯定要会的。另外简历上一定要有亮点,比如对Android架构设计有一定理解,模块化、组件化这些。

这次跳槽知道了自己的实力,大厂基本上都给了面试机会,可惜啊,都是一面就跪了。有两方面原因,一是自己的实力,这是大头。二是三年都没出去面试过,不知道现在面什么东西,准备也不够,而且一上来就是面的就是大厂,表现不怎么样,留下了槽糕的面试记录。这个要特别注意,大厂的面试记录内部都是能看到的,所以没有准备好就不要去白白浪费机会了。

网易-网易云音乐电话面

  1. 模块化架构怎么设计的?
  2. 怎么在gradle里面定义一个变量?
  3. gradle两个task中间要插入一个task任务要怎么做?
  4. 注解解释器怎么指定处理哪些注解?怎么注册注解解释器?
  5. retrofit怎么生成call对象的?
  6. 知道Kotlin伴生对象吗?
  7. 讲讲Kotlin协程?

网易一面面试官水平很高,我说我熟悉模块化架构,然后问了一堆相关的问题。

阿里-天猫国际电话面

  1. kotlin实现单例有哪些方法?
  2. 知道Kotlin协程吗?
  3. Binder原理
  4. Handler原理, Handler获取消息为什么是通过obtain方法?

阿里-淘宝特价版电话面

  1. HashMap原理、ArrayMap原理
  2. Java线程同步有哪些方法?
  3. 怎么解决线上内存泄漏?
  4. Leakcanary原理
  5. Arouter原理
  6. Activity启动过程

滴滴视频面

  1. Activity四种启动模式,使用场景
  2. Dialog对Activity生命周期的影响?onPause和onStop的区别?
  3. ActivityA跳转ActivityB的生命周期变化。
  4. FragmentManager的add方法与replace方法的区别。
  5. 听过IntentService,原理是什么?
  6. Fragment之间是怎么通信的
  7. 启动一个Service有什么方式,生命周期有什么不一样?
  8. Service播放音乐,音乐开始、暂停是怎么实现的
  9. Handler原理,子线程怎么通知主线程更新。

滴滴问的特别细,都是基础知识,只有滴滴是这么面的,别的都只是问一些大方向上的东西,或者framework层的源码。

字节跳动-西瓜视频视频面

  1. 手写双重判空的单例
  2. 找到两个view的第一个父View,使用IDE,现场写
  3. 怎么设计一个推送SDK
  4. 讲一下内存泄漏的原因,以及怎么解决。

更多相关文章

  1. Android面试(13): Android(安卓)中返回数据给上一个活动---start
  2. [Android]Fragment自定义动画、动画监听以及兼容性包使用
  3. Android(安卓)home键和back键区别
  4. Android数据存储之SQLite
  5. Android(安卓)Hook 机制之实战模拟
  6. Android开发学习之路--Content Provider之初体验
  7. Android(安卓)Service 通知Activity更新界面的方法
  8. Android简易的仿微信聊天的语音播放控件
  9. 较深入的分析Content Providers用法

随机推荐

  1. 详谈NVMe和NVMe-oF架构和知识点
  2. 如何使用 Docker Compose 来构建一套开发
  3. 详解服务器处理器基础知识
  4. 关于InfiniBand架构和知识点漫谈
  5. Flash闪存颗粒和SSD知识深度解析
  6. 细数主流数据中心资产管理软件
  7. NVMe Over Fabrics架构概述
  8. 创建数据库
  9. php之数据库链式操作
  10. PHP:oop->细说命名空间/命名空间类的自动