阿里Android一面(校招)
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中实现多态的机制是什 ... 
随机推荐
- 公选网站作业4_2.php
			序: 此实验的功能是只有已经登陆或者已经注册的用户才有发表留言的资格,否则只能够浏览留言. 1. 主要文件: 4_2login.html// 登陆的主页面 4_2login.php //处理登 ... 
- bzoj 1066 : [SCOI2007]蜥蜴  网络流
			题目链接 给一个n*m的图, 里面每一个点代表一个石柱, 石柱有一个高度. 初始时有些石柱上面有蜥蜴, 蜥蜴可以跳到距离他曼哈顿距离小于等于d的任意一个石柱上,跳完后, 他原来所在的石柱高度会减一, ... 
- eclipse 搭建Robotium环境--apk 环境搭建
			1.配置好android sdk ,java环境 2.重新签名apk文件 在用户目录下,会有一个.android的目录,把re-sign.jar放在该目录下.执行命令 java -jar re-sig ... 
- 依赖注入(DI)和控制反转(IOC)
			依赖注入(DI)和控制反转(IOC) 0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只 ... 
- LINUX诞生
			编辑 Linux[1] 是一类Unix计算机操作系统的统称.Linux操作系统也是自由软件和开放源代码发展中最著名的例子.在1991 年的十月,由一个名为 Linus Torvalds的年轻芬兰大学 ... 
- SSD的来由与优势
			SSD,对于很多人来说,它现在已不再是个很陌生的名词,有些网友谐趣的把它称作“湿湿的”,这里既有谐音的意味,也有称赞SSD意思.虽然大家对SSD已不算陌生,但恐怕对SSD的历史也所知不多 ... 
- kafka初探
			http://www.infoq.com/cn/articles/kafka-analysis-part-1 
- eclipse 插件安装
			203.208.46.146 www.google.com203.208.46.146 dl.google.com203.208.46.146 dl-ssl.google.com 
- C模块回调Lua函数的两种方法
			作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ... 
- Android 标签控件
			版本号:1.0 日期:2014.7.24 版权:© 2014 kince 转载注明出处 在有的应用中可能须要设置一些标签来方便用去去查询某些信息,比方手机助手或者购物软件之类都会有一些标签. ... 
