Android实际面试被问到问题总结归纳
来源:互联网 发布:淘宝商城品牌旗舰店 编辑:程序博客网 时间:2024/06/14 00:17
面试注意事项
1 知之为知之。不要糊弄。
2 不要有小动作。会显得心虚。
3 不要谦虚,不要睥睨天下的感觉 把握好尺度。
4 不要停下来 面试官问你一个问题 你就把你知道的都说一遍 面试官不说停 你也别停
1 activity怎么传递数据
方案1 intent 可以传递些基本类型或者实现Serializable或者parcelable的序列化对象
方案2 使用public static 修饰 但是生命周期过长 不推荐使用
方案3 使用inputStream存储 或者SQLite 或者contentProvider或者sharedpreferences
2 gravity和layout_gravity的区别
gravity是相对与自己 比如button里面写个TextView 里面加属性left 该TextView的字体就会在button最左边开始
layout_gravity写left属性的话是相对与 父容器 会在父布局的左边
3 res目录有几项Resource 分别作用是什么
drawable 存放图片和selector和shape等资源文件
layout 存放布局
mipmap 存放适配好的图pain
valuse 存放一些用到的字符串或者颜色和样式
xml存放一些配置文件
4 处理触屏事件的方法 和他们之间的关系
onTouchevent 当onTouchenent处理的时候 就是返回true的时候就onClickListener就会不处理了
事件先由父布局分发下来 父容器如果拦截的话 就在父容器的onTOuchevent里处理 否则就向下传递 直到子view 子view如果也不处理的话就会以冒泡的形式传给父容器并且默认消费
5 margin和padding的区别
margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离。在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离。
6 简述mvp和mvc mvc中的c后来放到了mvp中的那里
后来的c没有了 转换成了p的接口
mvp的v之中只有简单的set和get方法 没有任何逻辑了
http://blog.csdn.net/mp624183768/article/details/57074472
7 view的刷新机制
Invalidate()方法和postInvalidate()都可以在主线程中调用而刷新视图。
8 handler原理机制
http://blog.csdn.net/mp624183768/article/details/54969659
9手写算法 冒泡 插入排序 快速排序
冒泡很简单~~
private static void maoPao(int[] arrs) { for (int i = 0; i < arrs.length-1; i++) { for (int j = 0; j < arrs.length-1-i; j++) { if(arrs[j]>arrs[j+1]){ int temp=arrs[j]; arrs[j]=arrs[j+1]; arrs[j+1]=temp; } } } System.out.println(Arrays.toString(arrs)); }快速就用到了递归
private static void quickSort(int[] arrs) { if(arrs.length>0){ //如果数组不为空 quickSortRecurSion(arrs,0,arrs.length-1); } System.out.println(Arrays.toString(arrs)); } private static void quickSortRecurSion(int[] arrs, int low, int high) { if(low<high){ //将list数组一分为二 int middle=getMiddle(arrs,low,high); //对低字表进行排序 quickSortRecurSion(arrs,low,middle-1); //对高字表进行排序 quickSortRecurSion(arrs,middle+1,high); } } private static int getMiddle(int[] arrs, int low, int high) { //数组第一个作为中轴 int temp=arrs[low]; while (low<high){ while (low<high&&arrs[high]>=temp){ high--; } //比较轴小的记录移到低端 arrs[low]=arrs[high]; while (low<high&&arrs[low]<temp){ low++; } //比中轴大的记录移到高端 arrs[high]=arrs[low]; //返回中轴的位置 } //中轴记录到尾 arrs[low]=temp; return low; }
插入排序就是从数组第三个开始往前插入
private static void insertSort(int[] arrs) { for (int i =0 ; i < arrs.length; i++) { //待插入数据 int temp=arrs[i]; int j=0; for (j=i-1;j>=0;j--){ //判断是否大于temp 大于则后移一步i if(arrs[j]>temp){ arrs[j+1]=arrs[j]; }else{ break; } } arrs[j+1]=temp; System.out.println(i+":"+ Arrays.toString(arrs)); } }
10 写出你所了解的设计模式
http://blog.csdn.net/mp624183768/article/details/58035572
0 0
- Android实际面试被问到问题总结归纳
- ANDROID 面试问题归纳
- Java面试问题归纳总结
- .net面试问题归纳
- .net面试问题归纳
- .net面试问题归纳
- 面试问题归纳
- android 源码下载问题归纳总结
- Android 面试知识点归纳
- Android面试知识点归纳
- 总结Android面试问题
- 前端面试总结与归纳
- Android 开发归纳总结
- android开发面试问题总结
- android面试问题的总结
- 总结Android面试问题答疑
- 自学android 问题归纳
- 面试-计算机网络7层结构归纳总结
- SolrCloud使用教程、原理介绍
- 类和继承
- 样式化加载失败的图片
- PHP中的类型转换
- 注解映射器和适配器
- Android实际面试被问到问题总结归纳
- 内存的思考题
- 老个推接入方式记录
- 通过汇编一个简单的C程序,理解计算机如何工作
- scala List reduce和fold对比分析
- Java实现从m个各不相同的元素中取出n个,并进行全排列。
- AIDL——跨应用启动service
- nw.js 开发跨平台应用(1)部署开发环境
- leetcode: 2. Add Two Numbers