Android-记一次阿里的电话面试

栏目: IOS · Android · 发布时间: 5年前

内容简介:记录一下4.29日下午4点阿里的电话一面:我:你好,我是…..现在在学校网络中心负责Android开发。(正常介绍就完事)面试官 : 你做过的这些项目中 , 哪一个是最有成就感的?

记录一下4.29日下午4点阿里的电话一面: 面试官:请做一下自我介绍

我:你好,我是…..现在在学校网络中心负责Android开发。(正常介绍就完事)

面试官 : 你做过的这些项目中 , 哪一个是最有成就感的?

我: …(想了想Crossword做的最多,就说了说Crossword是怎么从无到有和小伙伴在老师的指导下开发的)。 ok,ok..嗯..嗯

面试官 : 那这个项目中,你遇到的最难的问题是什么?

我 :拍照打分(讲了讲项目中要实现从目前二维数组到像素坐标转换的难点)。 嗯。。嗯。。(貌似对我的回答挺满意 ? )

面试官 :还有吗其他遇到比较难的地方吗 ?

我 : (想了想。。。好像其他没什么太难的,毕竟都是OCR和翻译的百度的服务。)实现生成Crossword的算法,到打印成pdf吧,优化算法的过程中费了不少时间,学习PDF库的使用。

面试官 : ok,没什么问题,说一下Android的四大组件吧 ?

我 : Activity,BroadCastReciver,Service,ContentProvider(这个相信大家基本都会)

面试官 : 好,那说一下 ContentProvider 的作用吧

我 : ContentProvider,内容提供程序,可以为其他app提供信息,比如得到电话号码,可以进行一些类数据库的增删改查操作之类的操作( 感觉说的不是很好 )

面试官 : 嗯,好。说一下Activity吧,Acitivity有四个启动模式,都知道吗 ?

我 :….(想了半天,就记起来一个 栈内复用模式)栈内复用模式,当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.

面试官 :嗯。那你准备怎么实现呢 ?

我 : 先实现能够展示黑白棋盘格子,并且有效格子部分能够接收键盘输入,然后如果屏幕显示不下,还需要画布能够随手势放大,缩小。。。暂时想的是实现这些。 (其实这里,我是瞎吹的,这个功能估计不会做。)

面试官 :好,那你能讲一下 随手势 放大 缩小怎么实现呢 ?

我 : 这两个手势都是需要两个手指触摸屏幕,我只要观察两个触摸点之间的距离,放大时 两个触摸点的距离会越来越大,反之亦然。

面试官 :嗯好,那这个方法缩小的中心点在哪里呢?

(问的问题好奇怪,不过确实,这也是实现过程中要解决的问题 ) 我 : 暂时想的是以获得焦点的格子为中心或者,当时画布的中间为中心。

面试官 :你有没有观察过微信中 图片的 放大缩小 的中心点 在哪里 ?

我 : (这我真没观察过,后来试了试发现是以两指之间的中间点为放大缩小的中心点。。。)嗯。。。是两只之间的中间点,这是个不错的方案。

面试官 :嗯。。。。(反应一般,貌似没达到满意的效果)。
给你看到算法题吧,说一说你的思路

(重点来了)

Android-记一次阿里的电话面试

我 :(想了一会,说了一个比较笨的方法)对数组挨个遍历,第一个是9,用9往后加,不符合就跳到下一个元素5...,5往后加,5,4,8是符合的,ok,结束。

面试官 : emmm,你的时间复杂度是多少 ?

我 : 。。。。n2.

面试官: 题目要求时间复杂度是2n,你还有更好的方法吗?

我 : (emmmmm。。。)在之前检查9的时候可以保存已经 加过了的信息,留到检查到后面的元素是复用。

面试官 : 那能说说具体用什么实现吗

我 : 队列 ?...(我自己也不确定)emmmm,暂时不清楚。

面试官 : 好,我的问题问完了,你还有什么问题吗

(我估计已经凉了,等秋招再来吧)

我 : emmm,如果这次面试没有过的话,会影响秋招吗 ?

面试官 : 基本不影响的吧,(好像他自己也不确定),一般都是春招没有招够,再在秋招补招的

我 : ???(好吧),那没有什么问题了。。

面试大概用了40分钟吧,面试的人也是个懂技术的,都说大厂重视基础,这句话一点也不假,问我的这些问题,都是基础范围。

还是准备的不充分,再这最后半年好好复习了。加油吧

(完~)

Android-记一次阿里的电话面试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

expert one-on-one J2EE Development without EJB 中文版

expert one-on-one J2EE Development without EJB 中文版

[美] Rod Johnson、Juergen Hoeller / JavaEye / 电子工业出版社 / 2005-9 / 59.80元

乍一看这本书的名字,Expert one on one J2EE development without EJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而without EJB看上去有点象是故意挑衅EJB的感觉。一本J2EE的书怎么可能会给人带来信念或思维的冲击呢?但是它做到了,它不仅使自己变成了不朽的经典,也使Rod Johnson成为了我最近一年的新偶像。           ......一起来看看 《expert one-on-one J2EE Development without EJB 中文版》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具