百度社會(huì)招聘Android方向筆試題及答案解析
1.java 基礎(chǔ)題,下面的代碼輸出結(jié)果是什么?
public static void main(String[] args) { String str = new String('abc'); char[] ch = {’a’,’b’,’c’}; change(str,ch); System.out.print(str+' '); System.out.print(ch);} public static void change(String str,char[] ch){str = 'gbc';ch[0] = ’g’; }}
答案:這道題考察的東西很多,看似簡(jiǎn)單,實(shí)則考察了java的基礎(chǔ)知識(shí),對(duì)內(nèi)存的理解,對(duì)面向?qū)ο蟮睦斫猓瑢?duì)==,equals,hashcode等的理解。總體來(lái)說(shuō)不難,但是這個(gè)原理理解卻不是那么容易的。結(jié)果是:abc,gbc
2.HashMap,Hashset,ArrayList以及LinkedList集合的區(qū)別,以及各自的用法
參考這篇文章:http://josh-persistence.iteye.com/blog/1975956
3.Activity的啟動(dòng)模式有哪幾種
參考這篇文章:http://www.cnblogs.com/plokmju/p/android_ActivityLauncherMode.html
4.介紹Handler機(jī)制
參考這篇文章:http://blog.csdn.net/stonecao/article/details/6417364
5.線程考核,解析sleep、wait、join、yield方法,以及notify和notifyAll是如何控制線程同步的
參考這篇文章:http://blog.csdn.net/xh16319/article/details/8032877
6.android 存儲(chǔ)方式以及各自用法
參考這篇文章:http://blog.csdn.net/zhangtengyuan23/article/details/10701597
7.ListView中BaseAdapter的使用和優(yōu)化;在ListView中的item放置一個(gè)按鈕,如何使用按鈕對(duì)不同的item響應(yīng)不同的事件
參考這篇文章:http://www.cnblogs.com/loulijun/archive/2011/12/28/2305016.html
8.編程題:生成一個(gè)1-100的隨機(jī)數(shù)組,但數(shù)組中的數(shù)字不能重復(fù),即位置是隨機(jī)的,但數(shù)組元素不能重復(fù)
第一種:用Math.random,使用Math.random()方法來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù),這個(gè)產(chǎn)生的隨機(jī)數(shù)是0-1之間的一個(gè)double,我們可以把他乘以一定的數(shù),比如說(shuō)乘以100,他就是個(gè)100以?xún)?nèi)的隨機(jī)
public static void main(String[] args) { StringBuffer resRand = new StringBuffer(''); int maxnum = 0; while (true) {String num = (int) (Math.random() * 100) + '';if (maxnum < 10) { if (resRand.toString().contains(num)) {continue; } resRand.append(num + ','); maxnum++;} else { break;} } System.out.println(resRand.substring(0, resRand.length() - 1));}
第二種:用Java.util.random,在java.util這個(gè)包里面提供了一個(gè)Random的類(lèi),我們可以新建一個(gè)Random的對(duì)象來(lái)產(chǎn)生隨機(jī)數(shù),他可以產(chǎn)生隨機(jī)整數(shù)、隨機(jī)float、隨機(jī)double,隨機(jī)long
public static void main(String[] args) { Random ran = new Random(); Set<Integer> set = new HashSet<Integer>(); while (set.size() == 10 ? false : true) {int num = ran.nextInt(100) + 1;set.add(num); } Iterator<Integer> it = set.iterator(); int count = 0; while (it.hasNext()) {System.out.println('第 ' + ++count + ' 個(gè)隨機(jī)數(shù) = ' + it.next()); }}
相關(guān)文章:
1. 釘釘直播如何小窗口播放2. 京東中注銷(xiāo)帳號(hào)的詳細(xì)步驟3. 釘釘APP怎么關(guān)閉好友運(yùn)動(dòng)排行 釘釘APP關(guān)閉好友運(yùn)動(dòng)排行教程4. 如何使用天貓魔投 天貓魔投的使用教程5. 華為watchfitnew怎么綁定支付寶6. 小天才z6可以登微信嗎7. 美團(tuán)眾包怎么進(jìn)行搶單 美團(tuán)眾包搶單方法介紹8. 華為watch3怎么看微信消息9. 蘋(píng)果手機(jī)qq分身怎么在設(shè)置里找10. 京東閱讀APP怎么解綁設(shè)備 京東閱讀APP解綁設(shè)備方法
