面经_简寻

来源:互联网 发布:网络调度表 编辑:程序博客网 时间:2024/05/19 01:07

大约60分钟的电面时间,android移动端开发
1.自我介绍
2.做过前端后台,为什么转移动端
3.了解哪些移动端开发技术:这个我真不知道怎么回答
4.问项目,负责的模块,个人还是团队
5.性能调优,有做过哪些,图片(imageLoader)和下载,我说做过多线程下载,然后问实现原理,发送头有哪些
6.问android比较擅长哪方面的,我说线程间的处理,然后问有哪些手段,我说常见的就是用handler,asyncTask,然后问两者的比较,最后说让我多看看asyncTask里面的具体实现,线程池。
6.1问handler平时用有没有觉得什么比较不方便的地方:
现在想起来(handler的缺点),在子线程里才确定生成的View对象,要进行UI绘制,由于view不是object的子类不能被bundle传递,所以需要设置成全局变量,但刚刚也说了 如果是临时才能生成的,那就先发送message让handler去生成,然后子线程里面继续操作…
如果换成是asyncTask的话 这一系列操作都可以在它函数里面进行。

7.问了两道算法题

  • 求中位数(这个说的不好)
  • 排序的A数组找出两个数相加=给定的B

8.问了网络里tcp三次握手,如何判定重发,判断的时间是怎么设置的(这个不懂)
9.问了数据库的事务4个性质
10.问了进程和线程的区别,什么情况会死锁
10.1 线程同步的方法
11.接下来的规划:我说看ndk和opengl es
12.问数据库用的如何,我说之前java后台开发的时候用的挺多的,android的sqlite也还好
12.1数据库索引有没有用过,采取的是什么数据结构,用索引的优缺点
13.用过哪些开源框架,我说用了一个挺早的afinal.然后里面有哪些模块:ioc,orm等等,然后之前java后台开发时候都挺熟练的
14.数组和链表的区别
还有一些忘记了

然后我问了
1.如何看源码
先看View,Activity的运行机制,handler及Task的实现,service以及网络开发,不推荐直接看内核
2.Dalvik虚拟机的运行机制什么时候看
先了解jvm,然后后面等源码看了一部分再去研究
3.布局调优
这是基础,然后开发一般是性能调优后再去考虑布局调优..

给的建议:基础再打牢固点.然后平时用框架多比较,看源代码。

0 0
原创粉丝点击