4.8号晚上8点多接到了阿里一面的电话,面试官人很好,和我聊了半个多小时。我面的是无线事业部,就是做淘宝客户端的那个部门。面试问的都很基础,刚开始问了hashmap和快速排序。接着就是问Android相关的问题。因为数据结构和算法是基础,这里就不多说了,主要写一下与Android相关的问题。
首先问了一个Android中事件分发的问题,如下图:
一个LinerLayout里放一个Button,当点击Button的时候事件是怎么传递的?
点击事件用MotionEvent来表示,当点击事件发生时,最先传递给Activity,用Activity的dispatchTouchEvent来进行事件的派发,具体的工作是用Activity内部的Window来完成的。Window将事件传递个decor view,decor view一般是当前几面的底层容器(setContentView所设置的View的父容器,decor view是一个FrameLayout),通过Activity.getWindow().getDecorView()可以获得。现在,事件传递到decorView了,decorView再将事件传递给LinerLayout,LinerLayout将事件传递给Button。
这里要补充的是:当父容器通过 dispatchTouchEvent来传递事件时,如果他的onInterceptTouchEvent函数返回true,就不会将事件传递个子view,当然Android的还提供了一种防止父容器阻断事件的机制:只要子View调用requestDisallowInterceptTouchEvent方法,就能保证子View一定能收到点击事件。
关于事件的派发可以看一下我的另一篇博客Android滑动事件冲突。
接着面试官又问了Button中调用setOnclickedListener和在onTouchEvent中处理点击事件的区别,这个我觉的很简单,就说都差不多,setOnclickedListener重点onClick就是Android在onTouchEvent中完成的。
这个问题不懂面试官想问什么,欢迎大家评论,告诉我一下,谢谢 :)
还问了一个关于HTTP返回码的问题:你知道HTTP返回码代表什么吗?
1×× 保留
2×× 表示请求成功地接收
3×× 重定向
4×× 客户错误
5×× 服务器错误
最后,问了一个Android中动态加载SDK的问题,面试官给我提示了几个参数,可这个我之前没做过,完全不懂。
问题描述:现在要动态加载仓库中的两个SDK,但这两个SDK中都调用了同一个jar吧,怎么解决这个冲突?
希望懂的朋友能评论一下,:)
阿里Android一面(校招)的更多相关文章
-
阿里提前批校招内推offer经历
经过一个半月的阿里内推面试,今天终于收到了阿里的offer邮件 .阿里的内推面试一共有四轮,本人是7月19号投的内推邮件,8月28号收到了offer的邮件.首先本人谈谈内推的看法.内推是公司招聘人才的 ...
-
阿里腾讯校招Java面试题总结及答案
阿里校招java面试题汇总 1.HashMap和HashTable的区别,及其实现原理. Hashtable继承自Dictionary类,而HashMap是Java1.2引进的,继承自Abstract ...
-
6轮面试辛苦拿到阿里Android开发offer,却从22k降到15k,在逗我?
一小伙工作快3年了,拿到了阿里云Android开发岗位P6的offer,算HR面一起,加起来有6轮面试了,将近3个月的时间,1轮同级 + 1轮Android用人部门leader + 1轮Android ...
-
2016京东Android研发校招笔试题
一.选择题汇总,具体的记不住啦.. 1.计网:ip的网络前缀.SNMP(报文组成):http://blog.csdn.net/shanzhizi/article/details/11606767 参考 ...
-
阿里Android开发手册正式版一览
新年伊始,春意盎然之际,阿里巴巴在2月28日再度为工程师们送上了一份重磅开春好礼:<阿里巴巴Android开发手册>. 该手册长达66页,是阿里巴巴集团各大 Android 开发团队的集体 ...
-
必读的 Android 文章
必读的 Android 文章 掘金官方 关注 2017.06.07 13:58* 字数 25218 阅读 8782评论 2喜欢 218 写给 Android 开发者的混淆使用手册 - Android ...
-
[干货]2017已来,最全面试总结——这些Android面试题你一定需要
地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...
-
Android 模块化探索与实践
首发于<程序员>杂志五月刊 一.前言 万维网发明人 Tim Berners-Lee 谈到设计原理时说过:"简单性和模块化是软件工程的基石:分布式和容错性是互联网的生命." ...
-
2017年终巨献阿里、腾讯最新Java程序员面试题,准备好进BAT了吗
Java基础 进程和线程的区别: Java的并发.多线程.线程模型: 什么是线程池,如何使用? 数据一致性如何保证:Synchronized关键字,类锁,方法锁,重入锁: Java中实现多态的机制是什 ...
随机推荐
-
[SharePoint 2013] Automatic deployment script
Implement automatic deployment through windows task. Add-PsSnapin Microsoft.SharePoint.PowerShell $t ...
-
WinRAR压缩
WinRAR压缩软件: ------------------ 软件官网:http://www.winrar.com.cn/ -------------------------------
-
vc++ 如何添加右键弹出菜单
一.创建新工程 二.编辑菜单资源 1.添加菜单 按"Ctrl+R",双击"Menu"图标 2.于菜单编辑器内编辑菜单 四.添加代码(红色部分) void CCM ...
-
SSH+DWZ、JQuery-UI ,swfobject.embedSWF属性与用法,IE下日期控件被flash控件挡住
---恢复内容开始--- 最近在做SSH+DWZ(JQuery-UI)项目,在用到图表问题的时候,出现在IE下面,日期控件被flash被挡住而不能选取日期情况,经在网络搜查,现在解决办法如下: 1.首 ...
-
Python 网页爬虫
解决问题:获取网页上的内容.特别是加载主框架后,再用AJAX获取数据生成内容的网页. PyQuery:可以像jQuery的py实现.你给他一个PyQuery一个HTML,他给你一个类似jQuery的操 ...
-
CSAPP(2):程序的汇编表示(Linux版)
程序员学习汇编代码的需求随着时间的推移发生了变化,开始时只要求程序员能直接用汇编语言编写程序,现在则要求他们能够阅读和理解编译器产生的代码. 下面是针对32位机器 数据格式 Intel用术语“字”(w ...
-
add monitor resolution
cvt 1920 1080 # Get the correct settings for the new mode # Output for me: "1920x1080_60.00&quo ...
-
在JSP里使用CKEditor和CKFinder
在JSP里使用CKEditor和CKFinder 最 近在做一个新闻发布平台,放弃了很早的FCKEditor,使用CKEditor和CKFinder,尽管免费的CKFinder是Demo版本,但是功 ...
-
判断RadioButtonList是否选中
RadioButtonList有很多指示用户选择项的属性,如SelectedIndex 当该属性 = -1时表示用户没选择项SelectedItem 当该属性为null时也表示用户没选择项
-
Hibernate的increment主键生成机制带来的问题
最近给学校做的系统,总出现主键插入冲突的问题.主键是通过hibernate自动生成的,设置increment属性,总出现Duplicate entry的错误.搜到解决方案如下: 在网站运行在apach ...