2017 Android暑期实习生面试经验谈

本篇文章已授权微信公众号code小生发布
转载请注明出处:http://www.jianshu.com/p/ff0c7215a600

作为一个双非渣硕,历经两个月的时间,面试了大大小小公司的Android实习生岗位,最近终于结束了面试状态,决定好好把面试问题以及相关经验整理下来,顺便附带自己的学习经验与准备过程,攒攒人品,为秋招再战。

一、前言

2016年开始接触Android,从刚开始接触就不断地听到Android市场饱和,工作难找等消息。虽然当时也非常迷茫,不过由于第一次深入接触编程语言,再加上自己的一点兴趣,就一直坚持下来了。

通过两个月的面试经历,确实发现Android岗位比较少,而且通常要求比较高,不仅需要Android开发经验,往往还需要会React Native,JavaScript等,甚至还期望你能具有IOS开发经验。

不过作为应届生还是有些优势的,那就是一些一线的互联网公司还是比较看中个人基础 以及发展潜力的,所以如果能在自己的专业方向上具有扎实的基础1-2个实际开发项目以及个人的兴趣,还是能够找到一个满意的Android岗位的工作的。目前这些素质,自己也很欠缺,通过下面的面试经历就可以看出来,不过最起码有个努力的目标,可以好好准备为秋招做准备。

二、面试经验

自己大大小小投了也有20多家公司,不过经历简历筛选以及笔试淘汰,最终就经历了7家公司的面试。下面我就把自己面试中问到的问题贴出来供大家参考,一些具体项目相关的就不贴了。

1、阿里巴巴

阿里是3月初开始投的,是自己第一次面试大型的互联网公司,当时自己的准备也不够充分,表现不是很好,经历了三次技术面,最后挂了。

阿里一面

1.排序,快速排序的实现
2.树:B+树的介绍
3.图:有向无环图的解释
4.TCP/UDP的区别,滑动窗口,如何确保有效性
5.volatile
6.synchronized与Lock的区别
7.Java线程池
8.Java中对象的生命周期
9.类加载机制
10.双亲委派模型
11.Android事件分发机制
12.MVP模式
13.RxJava

阿里二面

1.抽象类和接口的区别
2.synchronized与lock
3.集合 Set实现 Hash 怎么防止碰撞
4.JVM 内存区域 开线程影响哪块内存
5.垃圾收集机制 对象创建,新生代与老年代
6.二叉树 深度遍历与广度遍历
7.B树、B+树
8.消息机制

阿里三面

1.项目介绍
2.项目中做了些什么?主要解决的问题
3.为什么选择Retrofit,RxJava
4.RxJava的特点
5.进程调度
6.进程与线程
7.死锁
8.进程状态
9.JVM内存模型
10.并发集合了解哪些
11.ConCurrentHashMap实现
12.CAS介绍
13.锁 synchronized,lock
14.开启线程的三种方式,run()和start()方法区别
15.线程池
16.常用数据结构简介
17.判断环
18.排序,堆排序实现
19.链表反转
20.海量数据 字典查找
21.平时看什么书

2.网易游戏

网易游戏当时投的时候就没抱希望,招聘信息上明确指定只招固定的那几所985高校,就随便投了,没想到笔试都没做就直接打电话面试了,不过问的问题确实很深入,结果显然,一面就挂了。

网易游戏一面

1.集合
2.concurrenthashmap
3.volatile
4.synchronized与Lock
5.Java线程池
6.wait/notify
7.NIO
8.垃圾收集器
9.Activity生命周期
10.AlertDialog,popupWindow,Activity区别

3.远景能源

远景能源是一家互联网能源公司,给出的实习待遇是相当好,经室友推荐就投了简历。最后流程走完,得知挂在了二面上,大概原因就是没有拿得出手的项目,实际项目经验不足。

远景电话面

1.四大组件
2.Android中数据存储方式
3.微信主页面的实现方式
4.微信上消息小红点的原理
5.做的项目,一个印象深刻的问题
6.看的技术博客,印象深刻的

远景现场一面

1.两个不重复的数组集合中,求共同的元素。
2.上一问扩展,海量数据,内存中放不下,怎么求出。
3.Java中String的了解。
4.ArrayList与LinkedList区别
5.堆排序过程,时间复杂度,空间复杂度
6.快速排序的时间复杂度,空间复杂度

远景现场二面

问的都是一些项目问题,比较宽泛,没问具体技术点

4.今日头条

今日头条是在四月初投的,当时找了一个月,都没拿到拿得出手的offer,有点心烦意乱,就又海投了一波。4.18做了今日头条的面试,4.25进行的视频面试。一共进行了3轮视频面试,头条的面试官很好,看的出来头条的技术是很强的,也很注重算法。最终拿到offer。

今日头条一面

1.数据结构中堆的概念,堆排序
2.死锁的概念,怎么避免死锁
3.ReentrantLock
4.synchronized
5.volatile
6.HashMap
7.singleTask启动模式
8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
9.消息机制实现

今日头条二面

1.synchronized与ReentrantLock
2.ReentrantLock的内部实现
3.用到的一些开源框架,介绍一个看过源码的,内部实现过程。
4.Java中异常
5.App启动崩溃异常捕捉
6.事件传递机制的介绍
7.ListView的优化
8.今日头条推荐新闻去重,推荐的时候去掉用户已经看过的新闻。
9.二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径。手写算法
10.模式MVP,MVC介绍
11.断点续传的实现

今日头条三面

1.集合的接口和具体实现类,介绍
2.TreeMap具体实现
3.synchronized与ReentrantLock
4.手写生产者/消费者模式
5.逻辑地址与物理地址,为什么使用逻辑地址
6.volatile
7.一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,给出时间复杂度、空间复杂度。手写算法
8.Android进程分类
9.前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
10.Activity的启动模式

5.触宝科技

触宝科技是一家上海的互联网公司,是通过实习僧上简历投递获得的这次面试机会,一共进行了两轮电话面试,最终获得了offer。触宝科技的hr人很好,时间观念很强,整个流程走的比较顺利。

触宝科技一面

1.RxJava的作用,与平时使用的异步操作来比,优势
2.Android消息机制原理
3.Binder机制介绍
4.为什么不能在子线程更新UI

触宝科技二面

1.JVM内存模型
2.Android中进程内存的分配,能不能自己分配定额内存
3.垃圾回收机制与调用System.gc()区别
4.Android事件分发机制
5.断点续传的实现
6..RxJava的作用,优缺点

6.爱奇艺

爱奇艺也是通过实习僧上简历投递获得的机会,本来不抱希望,结果过了10天左右约我面试。面了大概一个小时,聊得还不错,最后第二天通知我挂了,有点不知所措,可能是实习时间达不到要求吧(只能这样安慰自己了)。

爱奇艺一面

1.RxJava的功能与原理实现
2.RecycleView的使用,原理,RecycleView优化
3.ANR的原因
4.四大组件
5.Service的开启方式
6.Activity与Service通信的方式
7.Activity之间的通信方式
8.HashMap的实现,与HashSet的区别
9.JVM内存模型,内存区域
10.Java中同步使用的关键字,死锁
11.MVP模式
12.Java设计模式,观察者模式
13.Activity与Fragment之间生命周期比较
14.广播的使用场景

7.携程

携程是3月份投的内推,结果挂掉了,后来通过笔试又获得的机会,笔试完快一个月才收到的通知,本来都快忘记了。既然通知了,就去面了。经过2轮技术面,1轮hr面,第二轮技术面是总监面,主要聊了聊项目上的问题。最终拿到offer。

携程一面

1.Activity启动模式
2.广播的使用方式,场景
3.App中唤醒其他进程的实现方式
4.AndroidManifest的作用与理解
5.List,Set,Map的区别
6.HashSet与HashMap怎么判断集合元素重复
7.Java中内存区域与垃圾回收机制

携程二面

1.EventBus作用,实现方式,代替EventBus的方式
2.Android中开启摄像头的主要步骤
3.Github上传了哪些东西,代码量

三、学习资料

从Android开发工程师的角度来讲,我自己主要准备了以下几个方面的内容:

1.Java

Java基础,如集合,反射,注解,IO,NIO,其中集合很重要,面试常问。

JVM,如内存区域,内存模型,垃圾回收机制的算法,收集器,类加载机制。

Java并发,如sychronized,lock,volatile,生产者/消费者模式,线程池,死锁。

2.Android

Android基础,如四大组件,Binder机制,消息机制,事件分发机制,自定义View过程。

Android开源库,如Retrofit,RxJava等原理实现,优缺点,以及使用。

3.数据结构

链表,栈,队列,排序,树,图,以及其中涉及到的一些算法题目。

4.设计模式

单例模式,观察者模式,建造者模式,工厂模式,装饰者模式等。

5.操作系统

进程与线程,进程通信,进程调度,分页存储,分段存储,虚拟内存等。

下面介绍以下我看过的一些书籍。

Java

疯狂Java讲义(有些人说不好,自己看着还行吧,可以看核心卷,别人都推荐,我没看过)

Thinking in Java(看了一部分,没看完,建议有一定基础再看)

深入理解Java虚拟机(很好的一本书,必看)

Head First 设计模式(非常生动 的讲述设计模式)

Java多线程变成核心技术(讲述Java中多线程的一些问题,比较基础)

Effective Java(78条开发中会用到的实际经验,很好,还没看完)

Android

Android群英传(很基础,通俗易懂)

Android开发艺术探索(面试必备,内容都深入浅出)

数据结构

大话数据结构(讲述各种数据结构的概念,算法实现是C,可以作为入门书籍看)

剑指offer(面试必备,面试的时候好多 上面的题目)

其他的没看了,不过可以推荐一个网上视频课程,讲的很好——数据结构

操作系统

现代操作系统(需要耐心的看,书也挺厚,暂时没看完)

推荐个网上课程——操作系统

四、总结

找工作是个很辛苦的事情,而且一般周期都比较长,有时候即看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。

最后,给自己打一个广告,欢迎关注Ruheng,里面的大多文章都是一些面试常问的技术问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • Java中的String类可以被继承么? 答:不能,因为它是一个final类,同样的还有Integer,Float...
    gyymz1993阅读 3,875评论 2 104
  • 在这个快餐年代,我的爱情观,总显得“土气”,很落伍,很原始。 爱一个人,就是要和他一起过日子。一日三餐,一粥一饭,...
    侯玲玉阅读 457评论 2 4
  • 也许从此不再靠近,是最合适的距离;也许从此不再打扰,是最完美的结局。 世人都说,不管之前爱是多么的刻骨铭心,歇斯底...
    司九公子阅读 278评论 0 0
  • 这个造型是自然形成的,买回来的时候就是老桩了,只是品相不好。 ​ 一场春雨过后的多肉植物蓝苹果,叶片充满了色彩。 ...
    多肉植物集聚地阅读 2,295评论 0 1