面试Android实习生岗位的一些问题
今天面试了一家公司的android实习生,我java基础有些不扎实,还好暴露出来了,要补一下自己java的基础了。
1.锁的种类,区别
https://www.cnblogs.com/qifengshi/p/6831055.html 锁的功能种类分类
https://blog.csdn.net/qq_39521554/article/details/81130442 这个讲的是synchronized和lock的区别
2.数组,链表,哈希表,二叉树的区别与线程安全
https://www.cnblogs.com/zlslch/p/7635822.html 这个没讲二叉树
至于线程安全的话,我觉得是要分情况来说明的
3.handle消息机制,还有内存泄漏问题
https://blog.csdn.net/wsq_tomato/article/details/80301851 讲的很详细了这一篇
https://blog.csdn.net/qq_33591903/article/details/82024257 这个是java的四种引用
https://www.cnblogs.com/wenjianes/p/9957946.html java内部类为什么持有外部类的引用
4.LRUCache的实现
https://blog.csdn.net/zhou8622/article/details/46999715 简单的最近最少用算法实现
https://blog.csdn.net/u013637594/article/details/81866582 这篇讲的比较详细
5.堆和栈,(int i,i是在堆中还是在栈中)
https://blog.csdn.net/shimiso/article/details/8595564 堆栈的理解
https://blog.csdn.net/wang_1997/article/details/52267688 这篇文章是对方法区是一些理解
6.synchronize锁方法锁住的是类还是对象
https://www.cnblogs.com/xiohao/p/4385582.html 这一篇主要讲了synchronized
7.ListView的优化
因为在adapter中,我们重写的getView()方法中,每次都将布局重新加载了一遍,当ListView快速滚动的时候,可能会出现卡顿现象。
我们可以使用getView(int position, View convertView, ViewGroup parent)中第二个参数,convertView来优化listview,这个参数用于将之前加载好的布局进行缓存,以便之后可以进行重用。
public View getView(int position, View convertView, ViewGroup parent){ ..... View view; if(convertView==null){ view=LayoutInflater.from(getContext()).inflate(resourceId,parent,false); }else{ view=convertView; } }
还有就是写一个内部类(例如ViewHolder),用来保存findViewbyid()的那些控件,然后将其保存在view中,即view.setTag(ViewHolder);当需要获取时就viewHolder=(ViewHolder)view.getTag()获取。
(参考《第一行代码》第二版中的方法)
8.get和post的区别
https://blog.csdn.net/qq_26360877/article/details/70665820 这一篇讲的很详细
还有就是get能传多少字节,网上有很多版本,有说1kb有说2kb,应该还是要看使用的浏览器的地址栏大小,
9.二叉平衡树搜索效率
O(log2 n)
10.说一下include、merge、viewSub
https://www.cnblogs.com/leipDao/p/8981687.html 这篇文章讲的十分详细
https://www.cnblogs.com/lenve/p/4770535.html 这是merge结合include用法
11.Activity四种启动模式
12.Service两种启动模式生命周期,区别
13.switch能不能用string类型来判断
https://www.cnblogs.com/lchzls/p/6711222.html 很详细
还想着自己是大三的学生就可能会松一些让我进去实习,看来社会还是很残酷的,我回来等通知了。
菜鸟现在要努力飞才能勉强看到大佬的影子啊
- 点赞
- 收藏
- 分享
- 文章举报
- Android打包aar后private可见性变public的问题及解决
- android studio打正式包报错Cause: unable to find valid certification path to requested target
- android中群发短信PendingIntent.getBroadcase的注册广播
- Android滚动显示数字动画
- 支付密码弹出框 Android
- Android 沉浸式状态栏(透明)适配
- Installing Android Studio
- Android Permission
- Android尺寸,DP,PX
- 记录编译Android7.1源码jack ERROR
- [rk3288][android-5.1]通过prop属性设定camera orientation
- [rk3288][android-5.1]打印机支持 (dev/usb/lp*)
- android 读取excel POI JXL
- Android百度地图开发(三)范围搜索
- Android百度地图开发(三)范围搜索
- android开发--推箱子小游戏(一)
- android开发--推箱子小游戏(二)
- Android删除Alarm的方法
- Android多线程编程 之 Handler机制的简单理解
- Android调用JNI本地方法跟踪目标代码