网上捡的腾讯android面试题

来源: http://stormzhang.com/android/other/2014/05/03/tencent-interview/

答案是我自己写的


1.如何画出一个印章的图案;
这个没太懂题目,估计要看原题才行。


2.如何实现一个字体的描边与阴影效果;

https://github.com/m5/MagicTextView

思路就是复写textView,用画笔画出各种效果


3.同一个应用程序的不同Activity可以运行在不同的进程中么?如果可以,举例说明;

决定一个Activity是在新的进程中启动还是在原有的进程中启动的因素有两个,一个是看这个Activity的process属性的值,另一个是这个Activity所在的应用程序的uid。

ROM源码中的Setting等程序。



4.Java中的线程同步有哪几种方式,举例说明;
同步方法、同步代码块(需要锁一个对象)、同步一个静态方法(会锁一个类)


5.说说对Handler, Looper, 以及HandlerThread的理解;
见以前博客。

6.dp, dip, dpi, px, sp是什么意思以及他们的换算公式?layout-sw600dp, layout-h600dp分别代表什么意思;

dp 是像素无关的点。
dip 同上
dpi 是硬件的像素密度
px 是像素
sp 是字体大小

dpi/160=px/dp

layout-sw600dp 屏幕最小边是600dp的布局文件夹
layout-h600dp 屏幕高是600dp的布局文件夹
注意转屏

PS:
计算DPI:
比如1080P的手机,那么就是1080px X 1920px,比如是5寸屏幕,那么勾股定理得出斜边,可以算出dpi。
当然最简单还是 adb shell getprop | grep lcd_density。
还有代码获取


7.写出Activity的几中启动方式,并简单说说自己的理解或者使用场景;
standard singleTop  singleInstance singleTask
比如launcher的桌面activity,从其他位置退回桌面时,桌面activity所在栈的上面activity被清空。



8.如何设计一个文件的断点续传系统;
单独线程,记录文件总长和下载长度



9.一个关于xml的布局问题,大概意思就是如何让两个TextView在一个RelativeLayout水平居中显示;
中间设个空view,两个textView在其左右


10.设计一个从网络请求数据,图片,并加载到列表的系统,画出客户端架构并简单的分析;

使用okhttp请求网络,获取json,解析图片url,加载到列表的item,可以用fresco。
不用fresco可以自己做,每个imageView是一个线程,访问网络、内存、磁盘三种方式。

猜你喜欢

转载自ccsosnfs.iteye.com/blog/2254997
今日推荐