
自行学习交流直达链接:【点击获取】
2.简历的准备
简历是一个敲门砖,HR每天会有很多简历收到。简历如何让人眼前一亮,并且能一眼抓住关键信息:个人基本信息(姓名,电话,邮箱,毕业院校等),工作经理,技能点,一些亮点(比如六级证书,获奖等)。简历要简洁,层次分明。写完简历要在招聘网站上更新一下自己的简历。
3.面试机会的各个渠道
这次面试一共通过了3种渠道,一是朋友内推,二是猎头帮忙,三是通过boss或拉钩网投递。
朋友内推: 在圈内首先要认识一些好友,各个厂商的员工,可以通过脉脉加好友,也可以通过技术交流加好友,了解好友的动态,让他们帮忙推荐。当然找内推也有两种方式。第一种是让朋友推荐岗位,让他帮忙问问组内是否缺人。第二种通过自己去找,一般情况
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
下公司招聘会在官网上显示加入我们链接,这里可以看到岗位信息。推荐第二种,你自己找到岗位,发给朋友,让他直接帮忙推荐这个岗位。推荐一般会有奖金的。
猎头帮忙: 最近听了一个得到的课程“如何有效的提升职场竞争力”,我觉得老师讲的一句话特别好,不要排斥猎头,把猎头当做你的合作伙伴。猎头比你更了解推荐的公司,以及当前的行情。找猎头的方式也有很多,第一个是问问你的朋友有没有合作过的靠谱猎头,第二是像智联招聘,猎聘,boss直聘上有很多的猎头。你更新简历之后,会有猎头给你联系。
招聘网站: 互联网招聘就是在拉钩,boss,智联上了。简历更新到网站上,然后就可以投递了,这里要看到简历投递是否有效果,如果半天没有人查看你的简历,那么说明你的简历有问题,及时的修改再投递。
4.面试过程中
面试中分为以下三个方面分享:面试,谈offer,面试后记录总结
二、面试

面试首先不要迟到,着装得体,带好笔和纸,因为是面试也是自己白板能力的一个体现,还有写一些算法以及流程图等。面试前先了解企业信息,有些不合适的公司就不要去面试了,提前安装对方的产品,体验一下。面试过程中一般会让先做自我介绍,要分阶段有条理的介绍。一般会问你在上一家公司最有成就的事情,遇到的最大的技术难点等。 面试过程中不会的可以说自己不了解,也可以反问一下面试官,有的面试官会给你讲解一下,它还表现出你比较好学。
1.谈offer
offer到了之后,首先还是定位,你未来几年的发展方向:技术提升,管理能力提升还是什么。一般大厂会有评级,问清楚评级,福利待遇。谈工资的技巧:1. 内推的话,问问内推的朋友。2. 猎头推荐:让猎头帮忙谈。3. 自己投的简历,一般拉钩和boss直聘上有明码标价。一般来说涨30%~40%是合理范围。
2.面试后
面试后及时总结,有可能下一个面试官会问你同样的问题。我就遇到了好几个一样的问题。
3.面试题分享
下面分享一些一线厂商的面试题:
京东提前批 Android开发面经(已offer)
一面
-  自我介绍 
-  为什么做Android 
-  说一下快排怎么实现,优缺点 
-  XXXX项目负责了什么 
-  网络请求封装是怎么做的 
-  MVP有没有封装的 
-  项目里面RxJava OkHttp Retrofit 源码看过没有 
-  讲一下OkHttp 源码 
-  是怎么根据Dijkstra 做的最短路径 
-  图片加载你是怎么优化的 
-  Glide底层缓存怎么实现 (弱引用,三级缓存…) 
-  瀑布流效果如何去实现 
-  了解过最新的技术吗(Jetpack) 
-  举几个Jetpack的例子 
-  ViewModel,Rom 
-  回问 
二面
面的时候网络不好,画面一卡一卡的。。。
-  自我介绍 
-  讲个项目,自己最熟悉哪一个 
-  项目做了什么 
-  网络请求框架怎么封装 
-  还遇到什么问题没有 
-  事件分发机制,多个RecycleView 嵌套怎么处理 
-  OkHttp源码 
-  讲一下拦截器 
-  Cache缓存是怎么做的 
-  图片做过吗 
-  你的图片项目怎么加载大图 
-  如何防止OOM 
-  做过View 的性能优化吗 
-  讲一下View的优化 
-  层级布局 
-  如何减少绘制 
-  针对measure和draw 有什么优化的地方吗 
-  多个view 加载卡顿怎么办 
-  反问 
滴滴国际化部门客户端开发面经(已拿意向书)
一面
1.android的消息机制
2.为什么每个线程最多只能有一个Looper?这是怎么实现的?
3.Handler为什么会引发内存泄漏?有哪些解决方式?
4.安卓中常用的四种引用类型是什么?它们的特点分别是什么?
5.flutter的使用体会
6.statelesswidget和statefulwidget的异同
7.flutter的状态管理
8.JVM的GC算法都有哪些?详细介绍一下分代算法中新生代部分。'stop the world’是什么意思?
9.android的事件传递机制。如何解决滑动冲突?
10.给一段代码,要求找出代码中出现的错误,并且说出这些错误会导致什么报错
11.HashMap的实现。红黑树的性质
二面
1.android线程通信有几种实现方式?
2.自己做的社交app有用到哪些第三方库?
3.为什么选用Glide作为app的图片加载库?有考虑别的库吗?
4.Glide使用时要注意哪些问题?
5.android的进程通信机制有哪些?它们是怎么实现进程通信的?
6.了解ANR吗?什么情况下会出ANR?为什么消息队列不会引发ANR?
7.android的事件传递机制
8.adnroid的自定义view如何进行优化?
9.app如何保活?
10.你写的应用的抽象架构是什么样的?为什么要搭建这样一个模型?
11.LiveData和ViewModel的实现原理
12.为什么谷歌开始建议开发单Activity的app?
13.了解模块化吗?什么是模块化?
14.flutter在状态管理上都有哪些解决方案?你对这些解决方案有什么看法?
15.算法题:合并两个有序链表
三面
1.Room库和传统的Sqlite有什么不同?它是怎么实现的?使用Room的好处在哪里?
2.如何对app进行增量更新?
3.在一个陌生的城市,如何确定该城市是否适合投放网约车业务?
4.要对1000个人进行新冠检测,最少要检测几次?
5.app国际化会遇到哪些难题?
三面就问了这五个问题,然后面试官就在和我介绍滴滴的国际化进程和中国移动互联网的一个发展趋势。同时面试官也对我的未来技术发展提出了很多建议。我和面试官也对flutter的前景做了一些探讨,和经验丰富的前辈对话总能学到很多东西,非常感谢面试官。
四面
四面的面试官说基础性的问题前面三面已经问的很全了,所以这次面试只问一两个发散性的问题。
1.假设两个线程在两个CPU核上并行运行,它们要对同一块内存区域进行读写,如何保证数据的正确性?想出尽可能多的方案。
2.地图实际上是由无数个矩形图片渲染而成的,我们将这些矩形图片称作“瓦片”。如果让你设计一个地图渲染引擎,你要如何与后台规定瓦片的尺寸?从尽可能多的方面去考虑。
3.Flutter在ios上的表现不如android上的表现好,你怎么看这个现象?
4.你为什么喜欢Flutter?
四面面试官非常nice,从头到尾一直是笑着进行的面试。面试的氛围也特别好,与其说是面试,不如说是前辈在和后辈进行技术讨论。面试官也从过来人的角度对我后面的技术发展提了自己的建议,非常感谢面试官。总的来说,四面的氛围并没有想象得那么严肃,面试官也说面试得很愉快。
####百度春招Android三面面经(已offer)
一面
-  为什么用MVP,技术选型是为什么 
-  MVP好处是什么 
-  MVP有出现什么问题吗 
-  了解其他模式吗?了解MVVM吗?有什么特点 
-  Handle了解哪些 
-  事件分发机制 
-  滑动冲突可以说一下吗 
-  Activity的四种启动模式和对应的场景 
-  HashMap使用说明数据结构 
-  HashMap容量的问题 
-  还了解其他容器吗 
-  进程和线程的区别 
-  Synchronized和Lock的区别 
-  线程池的好处 
-  线程池的创建的方法 
-  接下来是打开编译器,共享屏幕写几道算法题 
-  斐波那契数列求第n个 
-  斐波那契数列求前n个的和 
-  写个快排 
-  有没有参加社团,或者当班委 
二面
一面完面试官说先不要离开视频会议,马上几分钟之后就二面了
-  说说TCP和UDP的区别 
-  三次握手 
-  HTTPS和HTTP 
-  HTTP的不安全具体是指什么 
-  怎么计算网络请求消消耗流量 
-  知道黄油计划吗? 
-  当时不知道,后来搜了一下,是Android4.x版本之后的优化 
-  OkHttp的优点 
-  怎么理解OkHttp的责任链模式的好处 
-  有没有做性能优化? 
-  知道LeakCanary的原理吗