本人Android小菜鸡,目前还在大三下学期,在学校的网络中心搞Android开发。面试
想趁着春招体验一下面试,就在一个月前投了阿里,(ps:阿里的简历处理速度有点慢)。直到今天才打电话通知我电话面试。 记录一下4.29日下午4点阿里的电话一面:算法
面试官:请作一下自我介绍 我:你好,我是…..如今在学校网络中心负责Android开发。(正常介绍就完事)数据库
面试官 : 你作过的这些项目中 , 哪个是最有成就感的? 我: …(想了想Crossword作的最多,就说了说Crossword是怎么从无到有和小伙伴在老师的指导下开发的)。 ok,ok..嗯..嗯数组
面试官 : 那这个项目中,你遇到的最难的问题是什么? 我 :拍照打分(讲了讲项目中要实现从目前二维数组到像素坐标转换的难点)。 嗯。。嗯。。(貌似对个人回答挺满意 ? )微信
面试官 :还有吗其余遇到比较难的地方吗 ? 我 : (想了想。。。好像其余没什么太难的,毕竟都是OCR和翻译的百度的服务。)实现生成Crossword的算法,到打印成pdf吧,优化算法的过程当中费了很多时间,学习PDF库的使用。网络
面试官 : ok,没什么问题,说一下Android的四大组件吧 ? 我 : Activity,BroadCastReciver,Service,ContentProvider(这个相信你们基本都会)架构
面试官 : 好,那说一下 ContentProvider 的做用吧 我 : ContentProvider,内容提供程序,能够为其余app提供信息,好比获得电话号码,能够进行一些类数据库的增删改查操做之类的操做( 感受说的不是很好 )app
面试官 : 嗯,好。说一下Activity吧,Acitivity有四个启动模式,都知道吗 ?ide
我 :….(想了半天,就记起来一个 栈内复用模式)栈内复用模式,当A是此模式时,A启动了B,B启动了C,C再启动A,系统就会把A从活动栈中拿出来(这点说错了,面试官纠正了我,实际上是启动了A,那么栈中在A之上的活动B,C都会被弹出,A回到栈顶。) (。。面试官估计是不太满意)函数
面试官:(打破窘境)那我们换个换题吧,用过自定义View吗? 我 : (对于自定义View我有点虚,只会点简单的),用过一些简单的自定义View,好比一个View实现随手全局滑动。
面试官 : 好,这个全局随手滑动是怎么实现的呢 ? 我 : 在View的 onTouchEvent函数中,获取手指的坐标,在onLayout中,对View进行定位,坐标是得到的手指坐标。
面试官 : 好,那 在 onTouchEvent方法,onLayout方法中,坐标是相对与谁的 ? 我 : (这一点,我开始说了是相对屏幕的,而后意识到不对,立刻改为是相对父布局的….)
面试官 :(估计也发现了我对这块不太熟..)那有没有作过更复杂一点的自定义View呢? 我 : 没有,不过目前打算在咱们的项目中用到自定义棋盘的GridView.
面试官 :嗯。那你准备怎么实现呢 ? 我 : 先实现可以展现黑白棋盘格子,而且有效格子部分可以接收键盘输入,而后若是屏幕显示不下,还须要画布可以随手势放大,缩小。。。暂时想的是实现这些。 (其实这里,我是瞎吹的,这个功能估计不会作。)
面试官 :好,那你能讲一下 随手势 放大 缩小怎么实现呢 ? 我 : 这两个手势都是须要两个手指触摸屏幕,我只要观察两个触摸点之间的距离,放大时 两个触摸点的距离会愈来愈大,反之亦然。
面试官 :嗯好,那这个方法缩小的中心点在哪里呢 ? (问的问题好奇怪,不过确实,这也是实现过程当中要解决的问题 ) 我 : 暂时想的是以得到焦点的格子为中心或者,当时画布的中间为中心。
面试官 :你有没有观察过微信中 图片的 放大缩小 的中心点 在哪里 ?
我 : (这我真没观察过,后来试了试发现是以两指之间的中间点为放大缩小的中心点。。。)嗯。。。是两只之间的中间点,这是个不错的方案。
面试官 :嗯。。。。(反应通常,貌似没达到满意的效果)。 给你看到算法题吧,说一说你的思路
(重点来了)
面试官 : emmm,你的时间复杂度是多少 ? 我 : 。。。。n2.
面试官: 题目要求时间复杂度是2n,你还有更好的方法吗? 我 : (emmmmm。。。)在以前检查9的时候能够保存已经 加过了的信息,留到检查到后面的元素是复用。
面试官 : 那能说说具体用什么实现吗 我 : 队列 ?...(我本身也不肯定)emmmm,暂时不清楚。
面试官 : 好,个人问题问完了,你还有什么问题吗 (我估计已经凉了,等秋招再来吧) 我 : emmm,若是此次面试没有过的话,会影响秋招吗 ?
面试官 : 基本不影响的吧,(好像他本身也不肯定),通常都是春招没有招够,再在秋招补招的 我 : ???(好吧),那没有什么问题了。。
面试大概用了40分钟吧,面试的人也是个懂技术的,都说大厂重视基础,这句话一点也不假,问个人这些问题,都是基础范围。 仍是准备的不充分,再这最后半年好好复习了。加油吧
(完~)