本帖最后由 杨顺发老师 于 2016-3-7 14:22 编辑
面试地点:深圳市龙华区金地上塘道。
面试公司:哎吖科技
面试时间:2016年02月29日 15:00
二月的最后一天,我又出来面试了。这次是一家小的创业公司,据悉整个团队是某播解体后出来准备在年轻人社交产品上大展宏图的一伙人。
公司在一个小区里,忘了拍照,租金应该便宜不了。来到门口我真的惊呆了,连公司logo都没有。如果不是情怀,一般人应该不会太愿意来这里上班。
进去后表明我是来面试的,就让我稍等一会。
来了个三十来岁的大哥,拿了一套笔试题让我做,然后指了指角落,说做好了直接找他。
小拍一下:
java基础及Android基础和自定义控件这些。开做。第八题不太会呢。
这里就要提醒广大同学,除了android,java基础也要花点时间去补补,或者面试题要看看,面试不同开发。
30分钟,做好找人。就刚才那个哥们来了。
面试官:之前做过SDK对吧?
我:嗯,支付类的,其实就是短信扣费那种。SP行业,不知您是否了解过。
面试官:嗯,很多大公司都有这块。说说三级缓存。
我:三级包括“内存”,“磁盘”以及“网络”,我就说说“内存”这块的吧。普遍的做法是使用LRUCache去做。这个类维护了一个LinkedHashMap集合,每次取缓存值后进行重新排序,确保下次移除的是最少使用的值。这个就是所谓的最近最少使用。
面试官:使用ListView如何保证滑动流畅?
我:比较普遍的做法是服用convertView和使用ViewHolder。convertView复用能减少View的创建,而后者可以减少在layout文件中找控件的行为。这两者结合使用使得用户在滑动时可以快速的创建View。但复用View时要注意一些图片及数据的重置,图片错位可以通过给ImageView设置Url作为tag去标记。
面试官:图片又是如何去优化的?
我:之前项目用过UIL,也用过Glide,后面基本用FackBook的Fresco进行加载,他这里边缓存机制的跟传统的三级缓存不一样。之前听同事说过,但还没去研究过。
面试官:你的项目中如何去做屏幕适配?
我:为了兼容720p以下的及1080p以上的屏幕,项目中切了两套图,720p规格的放在hdpi下边,1080p的放在xhdpi下边,分别向上向下兼容。当然这里的图片不是全套都切两份,有些.9的图片只切一份。写多份dimens匹配不同分辨率的机型也是适配方式之一。在java代码里适配时,通过适配公式去算出来的值在小米上运行的时候,同样的值会变得非常大。所以单独判断了这些雨原生系统不同的机型。去年Google发了一个可用于百分比布局的lib,简单了解了下,适配应该不错。在一些社区里和人聊天的时候发现用的人并不多。
面试官:好的,那你先坐会。
我:好的。
过了一会来了另一个大叔,问我期望薪资多少。我没给他省油,说16k。然后我们聊了下当下公司发展,了解到这是某播解散后的人创建的公司,android端的产品刚刚上线,等iOS做好,马上开始大力推广。由于是创业公司,加班情况还是挺多的。然后他告诉我面试结束啦,这周一定会给答复。
我道别了面试官,离开了这里。
|
|