专栏名称: 开发者全社区
分享和推送Java/Android方向的技术和文章,让你成为这方面的大牛,让你每天都成长一点。同时,我们也会邀请BAT的大牛分享原创!
目录
相关文章推荐
鸿洋  ·  AndroidManifest中配置的各种信息解读 ·  昨天  
鸿洋  ·  画了10张图,带你搞定RecyclerVie ... ·  2 天前  
鸿洋  ·  掌握这17张图,掌握RecyclerView ... ·  4 天前  
郭霖  ·  Android - 监听网络状态 ·  1 周前  
51好读  ›  专栏  ›  开发者全社区

【干货】2017年阿里、腾讯、今日头条、携程Android面经汇总!

开发者全社区  · 公众号  · android  · 2017-04-11 09:57

正文

相关阅读:

吊炸天!74款APP完整源码!

[超级干货第二波]Android各种花式酷炫自定义控件开源库集合

一种最新Android客户端架构设计分享,Android架构师必看

本文由读者群中的同学提供,该同学于17年初面试了几家公司的Android工程师职位,并顺利拿到了携程的offer,面经新鲜出炉,马上要面试的小伙伴不要错过哦。


今天刚拿到携程的offer,也是春招的第一个offer。遂想把最近面的公司面经发出来,希望对大家有帮助。头条和腾讯是二月份散招的时候面的,没怎么准备所以都是一面挂。


1.头条一面

项目相关:

  •     retrofit底层,为什么用retrofit。

  •     RxJava内存泄露问题,怎样解决。

  •     常用图片库picasso,fresco,glide比较。

  •     px,dp,sp区别。

  •     跨进程RxBus怎么实现(其实就是在问ipc)。

  •     项目的MVVM架构怎么设计的。

  •     socket相关。


基础:


2.腾讯一面MIG

  •     自我介绍,擅长的技术有哪些。

  •     c++熟不熟。

  •     python写过些什么,怎么写爬虫的,用过xx框架没(当时没听清,不记得叫啥框架了)。

  •     linux常用命令,列举当前进程的命令是(ps)。

  •     数据结构了解哪些,函数局部变量存在哪里。string两种创建方法有什么区别,哪种会从常量池取对象。

  •     Picasso加载和缓存机制,怎么优化其加载速度。这里分别对LRUCache和磁盘缓存进行提问了。

  •     http和tcpip了解多少,get参数的最大长度多少?http请求头可以定义哪些内容,怎么实现文件下载的断点续传。

  •     下拉刷新为什么不用性能更好可扩展性更强的recyclerview。

  •     jvm了解过吗?常用垃圾回收算法有哪些?说说标记清除算法。GC发生在什么时候。

  •     用过哪些数据库?sp安装新版本的时候会清理吗?


总结:问得很全很基础很深,面试官说我linux了解不够,http也只知道大概。知识点要深入。


3. 阿里

二面通过后等了一星期莫名被拒,也是凄惨。


一面:

实习的项目。

干货营项目:图片列表怎么避免oom,用过哪些图片加载框架,LRUCache用什么数据结构实现(LinkedHashMap)。

handler怎么用,内在原理,还用过哪些线程间通信的东西。

热修复和插件化,AIDL。

占用内存比较多频繁GC的情况下用什么回收算法。

社团工作,讲课讲得怎样,成绩怎样。


二面:

下拉刷新和加载更多怎么实现,要支持margin的话怎么改。

RxJava优缺点,和函数式编程的不同。

Picasso缓存策略。

LRUCache。

讲讲JVM垃圾回收机制(分代收集,新生代,老年代,元空间),分配一个大对象会出现什么情况(在老年代分配,内存不够会执行full gc,执行之后内存还不够会oom)

100*100像素的图片在内存中占多大,编码方式。

八种排序算法,适用场景,复杂度。


5.携程(已拿到offer)

一面没答好:


二面:


养成好的阅读习惯,没事多点点广告,活动下筋骨!

看完本文有收获?请分享给更多人

Java和Android架构

欢迎关注我们,一起讨论技术,扫描和长按下方的二维码可快速关注我们。搜索微信公众号:JANiubility。

公众号:JANiubility