Android 茫茫9个月求职路,终于拿满意offer

  • 适配器模式,装饰者模式,外观模式的异同?

  • ANR 如何产生?

  • String buffer 与string builder 的区别?

  • 如何保证线程安全?

  • java四中引用

  • Jni 用过么?

  • 多进程场景遇见过么?

  • 关于handler,在任何地方new handler 都是什么线程下

  • sqlite升级,增加字段的语句

  • bitmap recycler 相关

  • 强引用置为null,会不会被回收?

  • glide 使用什么缓存?

  • Glide 内存缓存如何控制大小?

  • 如何保证多线程读写文件的安全?

面试官声音略显慵懒疲惫……我怀疑他是不是面了太多人已经麻木了

某海外直播公司

一面:

  • 线程和进程的区别?

  • 为什么要有线程,而不是仅仅用进程?

  • 算法判断单链表成环与否?

  • 如何实现线程同步?

  • hashmap数据结构?

  • arraylist 与 linkedlist 异同?

  • object类的equal 和hashcode 方法重写,为什么?

  • hashmap如何put数据(从hashmap源码角度讲解)?

  • 简述IPC?

  • fragment之间传递数据的方式?

  • 简述tcp四次挥手?

  • threadlocal原理

  • 内存泄漏的可能原因?

  • 用IDE如何分析内存泄漏?

  • OOM的可能原因?

  • 线程死锁的4个条件?

  • 差值器&估值器

二面:

  • 简述消息机制相关

  • 进程间通信方式?

  • Binder相关?

  • 触摸事件的分发?

  • 简述Activity启动全部过程?

  • okhttp源码?

  • RxJava简介及其源码解读?

  • 性能优化如何分析systrace?

  • 广播的分类?

  • 点击事件被拦截,但是相传到下面的view,如何操作?

  • Glide源码?

  • ActicityThread相关?

  • volatile的原

  • synchronize的原理

  • lock原理

三面:

  • 三道算法题,要求在一个小时之内做完。

  • 翻转一个单项链表 1->2->3->4->5->null =====> 5->4->3->2->1->null

  • string to integer

  • 合并多个单有序链表(假设都是递增的)

四面:

总监面,问了一些java 同步相关的。

HR面:

谈薪水,最后没谈拢。

由鹅厂与其他公司合资创立的公司

一场笔试加一场面试后挂了,面试官T4级别……。

笔试:

  • Activity生命周期简述

  • 常见内存泄漏情景及避免内存泄漏的措施

  • Actvity启动模式简述

  • 简绘观察者设计模式UML图

  • 算法,求公共子序列(或者是子串,记不清了)

  • Java四种引用

  • 自定义view重写哪几个方法?

  • http 的session&cookie的区别

  • 简述工作线程更新UI的方法

面试:

  • 应用最多占多少内存

  • 滑动卡顿如何解决(不同原因及对应处理方式)

  • 自定义view实战

  • 多线程,多进程 相关

  • Java四种引用的使用

某ding

一面就挂。

  • XX项目你负责什么

  • Sqlite 怎么增加一个字段

  • XX项目中是怎么创建数据库的

  • Sqlite 怎么删除一个字段

  • 有什么你觉得自己做得好的地方

  • 为什么用Retrofit(一个开源库)

  • Retrofit与之前的网络库有什么优势

  • XX项目中你们自己定义的线程池来管理任务,不使用框架,那么,后来新的项目怎么设计的

  • 你认为Rxjava的线程池与你们自己实现任务管理框架有什么区别?

  • 内存泄漏的常见场景

  • 怎么发现&分析内存泄漏

某条

面了三轮技术加一轮HR,HR事业线不错,笑得职业化,其他的没记住。

其他

  • 处理有序数组为什么比无序数组更快 参考StackOverflow

  • 热修复与插件化相关

  • Integer类是不是线程安全的,为什么

  • 不使用同步锁如何实现线程安全

  • 面试头条的时候在线编程:从上到下从左到右输出二叉树

  • 针对concurrent包下面的一些类的问题

Android面试再也不是“能答出来Activity生命周期就OK”的时代了,你们看前面的面试题,有些问题牵扯到底层原理。另外光是concurrent包下面的东西就能把你问懵逼了。

总结

==

我自己面试了一些公司,拿了一些offer,但是还是想去BAT,所以那些offer最终都拒了,好在最终拿了B的offer,算起来前前后后面了8次BAT,屡败屡战,内心还是很强大的。结合我的面试经历与同事们的面试历程,总结几点:

  • 有些规模小的公司很注重你是不是全能的,恨不得你什么都会,又给不起钱,福利待遇很不好,各种避税措施。

  • 马爸爸的公司很注重项目经验是否匹配,往死了问项目,项目简单的话是很吃亏的,鹅厂希望你是聪明的机灵的,度娘希望你基础好,热爱技术;

  • 有些猎头朋友是非常专业的,不仅给你安排面试流程,还给你提供很多有价值的信息,另外猎头一般推荐的都是高级职位;

  • 面试真的很看眼缘,很多时候你和面试官一见面,如果你觉得面试官和你气场不合,那很可能就没戏了(这话说起来似乎是给自己的失败找借口,信则有不信则无,各自体会吧),碰见一个面试官,一见面就问我”XX大学是一本么”,答曰”是”,”是985么”,答曰”是”,”是211么”,答曰”是”,真心不想聊下去了,不过我也确实没有通过面试……。

  • 我认为一面必须表现的很好,因为二面的面试官会参考一面的评价,一旦一面评价一般,第一印象就不好了;

  • 如果你出身很好,学校认可度高,那你会有优势,请联想“好学生犯错与坏学生犯错时老师的表现“。

  • 基础很重要,大厂还是很青睐名校计算机专业出身的工程师的(我不是),根正苗红啊,他们基础一般都很好。所以半路出家的朋友们,注意补补基础,基础好,才能走得远。

  • 要深入研究,不能浮于表面,多看看源码,被嘲笑为 API Player 是很难受的。

  • 要广泛接触,不要只看着自己的一亩三分地,多看看流行的库,技术等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值