2018届校招Andoid开发工程师总结--笔经面经

2017-12-13  本文已影响32人  HelloTu

校招基本告一段落,今天就来把我记忆比较深刻的一些笔经面经分享出来。

笔经

在校招中大厂基本都是要线上笔试的,其他一部分会在宣讲会之后笔试。

对于宣讲会,从我个人的经历来看,如果一般只是宣传公司的政策之类的东西的这种,有时间的话可以去看看,这个其实去的意义我个人觉得不太大,很多必要的东西是在网上可以查到的,再说了你也不会因为一场宣讲会就决定去不去投他们公司,校招无非就是广撒网,自己看得上的喜欢的都投就是了...

线上笔试

阿里、腾讯、京东、网易、小米等等大厂都是线上笔试,而且相比而言我列举的这几个的笔试时间比较早,差不多在8月底到9月中旬,想投大厂的肯定要早早准备的;

线上笔试大部分的公司都会选择两个平台,一个是牛客,一个是赛码,这两个平台也有很多大公司历年的真题,所以刷题是必须的。

一般情况,线上笔试会有单选题、多选题、填空题、简答题、算法题这些题型;我做的最多的是单选题、多选题、算法题这种组合的

选择题

选择题主要的考点是Java、Android、网络基础等、当然还会有算法,我做过的一般都会有由二叉树的前序、中序推后序,快速排序第一遍排完的结果等;另外部分大厂在选择题还会有c++的题,这个我是真的就本科学了点儿皮毛,所以笔试的时候好多都是蒙的;

算法题

我认为校招里算法比较重要的,大公司很看重,这个可以在牛客、赛码上不断刷题刷经验就好,个人的经历感觉如果能百分百AC的话,笔试一般都能通过
(也有例外的,得说一说这个有很多款app产品的奇葩公司,具体名字还是不透露了。首先给了一个从来没听说过的平台做笔试,但是我点进去做了一道题之后就进不去了,然后官方发信息说网站被黑,会后续安排第二次笔试,到了通知笔试的那一天,一直没有接收到笔试链接,直到晚上8点我在地铁上,收到了一个邮件,结果就是这个公司的笔试链接,但是上面写的是,笔试时间是晚上六点开始,到晚上10点结束....


问号.jpg

我还是在9点钟赶回去打开电脑做了一个小时,不做不知道一做吓一跳,选择题和判断题大概有30个,这里面涉及到的知识点包括java、android、ios、js、h5、python、jquery、ajax、大数据等等,基本上现在流行的常用的技术语言都有涉及,我一度认为自己打开的方式不太对,没辙,90%是蒙的吧,然后还有两道算法题,做了四十分钟两道题AC都只有0.1,无奈交卷,然而几天后告诉我笔试通过了......好吧,什么都不说了)


03df948cc11f4340b28f00707df2744d.png
算法题的形式分两大种情况:
一种是在在牛客、赛码这种平台上,他们是允许使用本地IDE的,这样平时要是依托于智能提示的也不会有什么问题;
另一种就是其他平台的,比如我印象中腾讯的就是用的另外的一个,它在算法题是不允许切屏,必须手动一个一个敲代码,所以平时练习的话最好还是多手动一个个敲,毕竟面试的时候也会让你现场手写代码,这个时候肯定是没有智能提示的吧;

面经

vivo这次校招给我的感受就是效率高,周六笔试的,周日给笔试结果,周二面试,周二晚上通知面试结果,前后不超过5天,还是很佩服的。
vivo的面试在北航旁边的泰富酒店,一进去就感受到了vivo真的有钱,选了一个这么豪华的酒店进行面试;

一面
应该是个技术leader,人很好
1、自我介绍
2、介绍一下自己印象最深的项目
3、如何自学Android
4、Android多线程操作
5、Activity的生命周期
6、Android多线程的处理
7、什么是多态、写一个例子
8、写一个二分查找
9、用具体项目说一说mvp的实现
10、为什么把自己定义为项目负责人
11、在团队中有什么觉得做得不足的地方
还有一些技术问题太久可能忘了,但是问的都属于相对基础的;

二面
hr面
1、自我介绍
2、谈谈自己大学比较有挑战性的事
3、对于工作地点有要求么
4、目前其他公司的面试情况
5、朋友怎么评价你的

一面
主要java基础和算法(当时面的不好,好多问题记不清了)
1、写一个单例模式
2、有哪些常用的排序算法、它们的时间复杂度与空间复杂度
3、项目中什么地方用过排序算法
4、写一个选择排序
5、写一个单例模式
6、单例模式不同实现方式的优缺点
7、java的四种引用类型
8、手写算法实现字符串按空格翻转
9、优化让上述算法的空间复杂度为O(1)
10、TCP/IP是什么
11、http协议,get和post的区别
12、ArrayList与LinkList的区别,底层实现方式

一面
1、类的三大特性
2、怎么让一个函数返回两个int值
3、重载和重写的区别
4、说一说Handler
5、Service的启动方式
6、Activity的4种启动模式
7、用过什么设计模式
8、java的8种基本数据类型
9、抽象类与接口的区别
10、java的访问修饰符及各自的限制
11、静态嵌套类和内部类
12、写算法快速找完全二叉树的最后一个结点

二面
1、聊了聊自己做的App,问了相应的布局方式
2、Android自定义View的步骤
3、补间动画与属性动画的区别
4、有没有使用过ContentProvider
5、就自己写的博客内容提了些问题
6、Sychnorized锁对象和锁方法的区别
7、java异常的抛出相关问题
8、静态嵌套类访问权限
9、讲一讲内存的栈、堆、方法区
10、 Callable和Runnable的不同,有没有用过Future
11、写一个有关线程间通信的代码(具体记不太清)
12、Android事件传递机制

一面
1、自我介绍
2、equals()和hashcode()
3、写一个快速排序
4、写一个单例模式,多种实现方式
5、Listview的优化方式
6、对注解了解多少
7、重载和重写的区别
8、有没有看过Retrofit这些的源码
9、Android事件传递机制
10、自定义listview中侧滑菜单的过程
11、StringBuffter和StringBuilder的使用
12、java四种引用类型及其特点,使用场景

二面(这个印象特别深,人很好,技术也很厉害,不会的都给讲的很明白)
1、LinkList的底层实现细节
2、一个Activity启动另外一个Activity的过程
3、如何在启动一个activity之后,前一个activity不调用onStop()方法
4、用栈实现一个队列并优化
5、给定结点数,计算一个完全二叉树的深度,详细计算过程
6、单例模式,要求线程安全的,不断按要求优化
(这一轮基本上是属于写代码和算法优化,有一部分忘了...)

1、自我介绍
2、做过的项目介绍
3、目前的面试及offer情况
4、Activity四种启动模式
5、Activity的生命周期
6、View事件分发机制
7、讲一讲volatile关键字
8、列举写代码过程中遇到过的RunTime Exception
9、Try catch finally相应问题,try中有return的情况等
10、说一说final关键字
11、Sychnorized锁方法与锁对象的不同
12、LinkList的底层实现
13、Fragment生命周期
14、写代码,字符串反转
15、写代码,字符串比较(具体的有点儿模糊,记得答案是需要先按Asc码排序)

总结

现在确实很后悔当时面试完没有做系统地总结,现在好多都忘了,基本上每一轮面试都是一个小时左右,所以问的问题还是比较多的,大厂一般会问的比较深,注重源码和算法、面试多了就会发现这些公司问的问题好多都差不多,有些是必问的,所以总结面试、刷题真的很有必要的...

另外还是附上一些我认为比较好的android面试复习资料
Android面试题收集
Android面试知识库
Android面试之开篇
Android面试总结
Android面试一天一题-goeasyway

806实验室
2017.12.12

上一篇 下一篇

猜你喜欢

热点阅读