美图2018Android岗面经

昨天面试美图,将整个过程记录一下。

收到美图面试通知的那天晚上,我一夜没睡。

因为我一整个晚上都在和蚊子打架,直到第二天早上6点才渐渐睡着。

第二天复习,准备面试。

第三天早早起床,一路风火赶往厦门,面试约的是下午两点,我大概一点十分到厦门软件园二期。

一路上看到很多公司,比如前同事所在的美亚柏科,还有4399、美柚、纵横集团,还有给了我offer的易联众。

美图在厦门软件园二期有好多个办公地点,我一开始走错地方,跑到6号楼去了。

刚到公司时,填了一下应聘表格,在外面休息区坐了一会儿,然后HR拿了一份笔试题给我,当时前台旁边的两间洽谈室都有人在进行面试,于是HR让我到楼下旁边的咖啡厅门口做题。

笔试

一、选择题

1234题我忘了。

5、整型数组8个元素,要选出最大的和第二大的元素,至少需要进行几次比较?

A、7 B、8 C、9 D、10

二、编程题

1、选择排序

2、二分查找(即折半查找)

3、将一组数的一个或多个数按照原来的顺序换到该数的末尾,称改变后的数列为原来数列的旋转数列,如“123456”的旋转数列包括“234561”、“345612”、“561234”等。若给定数列S、T,和它们的长度lengthS、lengthT,试判断T是否是S的旋转系列,如S=“2345”,T=“3452”,返回true。(题目描述可能不够准确,但大概意思就是这样)

三、简答题

1、px、dp、sp有什么区别?以及它们的作用。

2、什么是ANR?如何避免?

3、Activity的启动模式及应用场景。

4、什么是内存泄漏?内存泄漏产生的原因是什么?试举例说明。

5、Android事件分发机制。

做笔试题时,身后几个其他公司的大佬在商谈,谈融资谈规划,聊游戏行业聊明星主播,商业气息在身后风起云涌。

做完笔试题后,拿给HR,在洽谈室等了几分钟,然后一个面试官走了进来。

下面的面试题没有严格按照面试官问我的先后顺序来写,完全根据我的记忆,想到哪个先写哪个,但大致的问题顺序没错。

一面

1、自我介绍

2、编程题为什么没做?简答题不是应该更难吗?

(笔试时间一开始说30分钟,开始答题后延长到50分钟,我做完时已经超过了14分钟,所以共用时64分钟左右吧。选择题做完后,我是把编程题跳过,先做简答题了。在做简答题时觉得答题纸不够用,我还让HR帮我多拿了一份来,但是到后面发现时间不够,所以我简答题也写得很简略,新的答题纸就没用上,编程题只写了思路。或许是我做得太慢了,简答题花了太多时间了吧。)

3、Android线程间通信方式,以及需要注意的地方。

(AsyncTask、Handler、新建Thread或实现Runnable,需要注意的地方我只回答了需要注意避免内存泄漏)

4、讲一下四大组件。

5、广播注册方式有嘛两种?有什么区别?动态注册方式需要在AndroidManiest.xml注册吗?

6、平时都在学习什么技术?学习方式?有做过什么练手项目吗?(有个练手项目,是完全模仿种子习惯的设计、配色和动画效果,只进行了UI的模仿,功能都没实现)

7、介绍一下第三个项目(旅游出行助手)

8、有考虑过上线吗?为什么不做上线?(我答两点:数据来源暂时依赖第三方、应用内的推荐系统做得不够好,只用到协同过滤,推荐效果不好,而且没有用户历史行为数据,存在冷启动问题)

9、有个人职业生涯规划吗?

10、掌握哪些语言?(聊到python,因为最近买了些机器学习的书)

11、三方协议签了吗?(我回答,签了。。。)

12、让你学一些新技术,你会去学吗?比如iOS、python等。(我从个人兴趣和公司项目需求两个角度来聊,从个人兴趣来看,得看是学什么技术;从公司项目需求来看,我会去学,就像我在实习公司做的事情一样,项目需要,那我就去学)

13、如果你适合产品经理岗位,相比编程,你会选择哪个?为什么?

一面结束后,等了几分钟,另一个面试官走了进来,开始了二面。

二面

1、自我介绍

2、编程题为什么没做?简答题不是应该更难吗?

3、5分钟手写冒泡排序

4、学Android多长时间了?

5、项目:

1)介绍一下整个项目

2)团队一共几个人?如何分工的?你在团队里的角色是什么?

3)Android端,你负责开发哪些模块?

4)为什么需要市场调研?怎么进行调研工作的?

5)相比同类产品中的优秀竞品,你们的产品有哪些做得比较好的地方?(我从受众、研发内容上的创新这两个角度讲了)

6)A项目x功能,有考虑到路线问题吗?(没有,我还另外自我吐槽了A项目的y功能,及当时考虑到的不完美解决方案。)

6、讲一下Bootstrap和jQuery这些你用过的前端框架的特点和区别

7、你第一次接触这些前端框架时,是怎么学的?

8、聊一下Android进程间通信方式有哪些?聊一下Binder机制

9、你知道的协议有哪些种类?(我从应用层、传输层、网络层简要地介绍了一下HTTP、FTP、SFTP、TCP、UDP、IP这些协议位于哪个层,各自是干什么的。忘了讲HTTP和HTTPS的区别,TCP与UDP的区别,也忘了讲TCP三次握手过程了,唉。)

10、你投的是Android实习岗位,那你是更希望?(我当然说更希望是校招offer了。)

11、为什么从上家公司离职?

12、有参加我们的福州站校招吗?

13、在做过的这些项目中,你遇到的最难的技术难点是什么?(回答了滑动冲突的解决。)

14、你有什么问题要问我吗?时间关系,只能问1个。

(我:在之前的面试经历中,有个面试官问我一个问题,我觉得挺有意思的,就是在项目开发过程中,前面的那些需求和设计都弄好之后,在编码阶段,正式的团队开发是怎么开始一个Android项目的呢?)

加油!

2018/05/05

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值