1.自我介绍,我写了三个app,面试官对我的音乐播放器和基于socket的服务端客户端通信有意思.
2.问:你的音乐播放器的功能有哪些?
答:找歌 放歌 切歌 通知栏切歌 进度条控制播放
3.问:你的找歌是怎么找的?
答:2种办法安卓系统内容提供器,目录检索.MP3结束的文件.我使用了检索办法,因为我不太会用内容提供器,所以没用.
4.问:那么你有去实现内容提供器找歌吗?
答:没有
5.问:你的服务端和客户端通信是怎么通信的?
答:用socket ,基于tcp他的java有实现好的.
6.问:说下tcp和udp的区别.
答:老生常谈
7.问:怎么看的ip?
答:socket有个api可以看远程的ip
8.问:你的服务端有多个客户端怎么写的?
答:用了线程池
9.问:可以传输文件吗?
答:没用到,如果要用也是编解码
10.问数据结构可以吗?
答:会写链表,但是你问我红黑树,我手写不出,只知道性质,面试官:(哈哈那个也太难了).
11.那么动态数组会写吗?
答:listview那样的吗?
差不多
有个resize的过程,具体倍数我也不记得了,1.5还是2倍
12.gc有了解吗?
答:我看了文章但是也不清楚,巴拉巴拉文章新生代老年代叽里呱啦,然后总之就是标记无用对象回收.
13.你想做安卓,你知道4399是游戏公司,为什么会选择4399安卓呢?
答:游戏开发可以用unity,但是我觉得那样就业面窄,只是一个工具人,安卓就业面大一点, 我也玩过游戏,清楚用原生语言写安卓游戏不太适合
面试官:哈哈,是的但是也可以,你有用原生写过吗?
没有.
14.以后职业规划?
答:先做安卓应用层再去搞framework层把
总结:这次面试问的问题都在意料之中,毕竟一面都问最简单的那种