您的位置:首页 > 移动开发 > Android开发

【Android】 美团点评校招一面17/9/21

2017-09-21 20:38 344 查看
到了秋招季,身为大四狗自然是苦逼的找工作。

由于没有参加培训,对于各种笔试,面试(尤其是面试)充满恐惧心理;

感谢美团给我这次面试的机会,这是我的第三次面试。

前两次分别面的陈升宝实习生,和秋招的搜狗。

场面十分的尴尬。。。不忍回忆!T.T…

由于我当时还是十分的激动,所以挑我还记得的问题记录下来,而且是无序的。

1.选择一门你觉得你学的最好的专业课?

面试官是让我选一个然后根据我说的来提问。。。当时我竟然说了我最熟悉的是Oracle!脑抽了。。后面场面有点尴尬。

2.切换线程和切换进程的区别,你会选择用哪种?

看了这篇文章就能把线程跟进程相关的点GET到。

http://blog.csdn.net/zheng548/article/details/54669908

3.Android为什么没有IOS快,Android的虚拟机与JAVA的有什么区别?

1、硬件性能永远落后iPhone

2、早期的dalvik虚拟机性能优化差

3、Android直接继承Linux内核,保留了更多桌面系统特性

4、Android手机硬件种类多,很难针对特定硬件进行优化。

5、早期Android版本对GPU的图形加速支持差

6、某些从iOS平台直接移植的应用和国内开发质量低下的应用7、一些修改过多的第三方ROM

作者:知乎用户 链接:https://www.zhihu.com/question/23484020/answer/24762734

来源:知乎

第二个问题可以看

http://www.jianshu.com/p/58f817d176b7

4.链表跟数组的优缺点对比。

从逻辑结构来看

1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。

2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素

从内存存储来看

1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小

2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦

从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

5.请说一下OKhttp是怎么发送请求的(好像是这么问的吧,我有点晕乎)。如果你要做一个加载图片的功能,你会选择用什么去做。

6.ListView的优化方案。

8.Fragment的生命周期(口述。。。)?,你最常用到的是哪个?用来干什么?如果你要发送一条网络请求,你会在哪个生命周期里发?

9.请说一下Handler机制,new 很多Handler会有什么后果。

这个问题当初搜狗也问了,两次我都没答上来为什么不可以new 多个handler,我感觉是陷阱,其实是可以new 多个Handler,面试官可能想问多个handler发送消息的情况,handler机制是怎样的。

参考文章
http://blog.csdn.net/u010680097/article/details 4000
/52142396

10.Servie跟进程的关系。

这个问题问的我一脸懵X,我只是把Service跟Android如何开辟进程说了下。

11.请说一说反射。

12.简述一下集合类有哪些,你用过哪些?(尴尬)

13.如果要你学习一门新的技术,比如视频播放(当时我猜是包括解码部分的),你会如何学习?

14.你对谷歌I/O开发者大会有什么了解。

15.除了CSDN你还逛哪些网站?

。。剩下的问题记不太清了,我这脑袋!T.T…

美团一直有手写(lu)代码的传统:

由于我数据结构什么的学的不够好,面试官只考了我2个算法:

1.找出字符串中第一个重复的字符。

这一题我套了两个循环然后找的结果。面试官让我优化一下,然后我就暴露了我不怎么涉及的部分(集合类,数据结构),所以他问了我集合类的一些问题后让我做了第二题。。

2.找出数组中,最长的1-n的长度(比如123412345,最长的1-n序列是12345,长度为5)

最后还是要说一句,美团的HR小姐姐好漂亮。

感谢美团给我这次的面试机会。

不说了,T.T,苦逼大四狗还要去笔试。

补补数据结构,Java集合和其他的一些基础
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: