1,java鏈表倒序排列
詳見該文章
http://dianziermu.iteye.com/blog/405318
2,java中查找重複的字符
3,排序輸出AaBbCcDd
亞馬遜面試題目
1,哈希表
哈希表主要是構造一個映射函數,該函數以數據元素爲自變量,函數值即爲數據元素在內存中的存儲位置。通常把這樣的映射函數稱爲哈希函數h(x)。因此可以說,哈希表是通過哈希函數h(x)來確定數據元素x存放位置h(x)的一種特殊存儲結構。
2,數組和鏈表的區別
二者都屬於一種數據結構 從邏輯結構來看 1. 數組必須事先定義固定的長度(元素個數),不能適應數據動態地增減的情況。當數據增加時,可能超出原先定義的元素個數;當數據減少時,造成內存浪費;數組可以根據下標直接存取。 2. 鏈表動態地進行存儲分配,可以適應數據動態地增減的情況,且可以方便地插入、刪除數據項。(數組中插入、刪除數據項時,需要移動其它數據項,非常繁瑣)鏈表必須根據next指針找到下一個元素 從內存存儲來看 1. (靜態)數組從棧中分配空間, 對於程序員方便快速,但是自由度小 2. 鏈表從堆中分配空間, 自由度大但是申請管理比較麻煩 從上面的比較可以看出,如果需要快速訪問數據,很少或不插入和刪除元素,就應該用數組;相反, 如果需要經常插入和刪除元素就需要用鏈表數據結構了。
3,樹的含義
http://blog.csdn.net/liuzhanchen1987/article/details/7324935
數據結構中爲了存儲和查找的方便,用各種樹結構來存儲文件,本章就淺談一下各種樹的表示方法、特點及各自的用途,本章設計的樹結構包括:二叉查找樹(二叉排序樹)、平衡二叉樹(AVL樹)、紅黑樹、B-樹、B+樹、字典樹(trie樹)、後綴樹、廣義後綴樹。
A -> B -> C -> D -> E -> null
A.next = B;
A.random = C;
B.random = B;
C.random = A;
D.random = A;
E.random = null;
A' -> B' -> C' -> D' -> E' -> null
A'.random = C';
class Node {
int value;
Node next;
Node random;
}
Node makeCopy(Node original) {
for(int i=0;i<original.length();i++){
}
}
-----------------------
| 1 3 4 5 7
| 4 7 11 15 21
| 5 8 20 22 24
| 11 12 21 30 31
class Test{
private boolean isContainValueInArray(AarryList<AarryList(String) arrayList,String key>){
for(int i=0;i<arrayList.size();i++){
for(int j=0;j<arrayList.get(i).size();j++){
if(arrayList.get(i).get(j).equels(key){
return true;
}
}
}
return false;
}
}
2014年10月22日 阿里巴巴航空事業部面試題目
1....合併兩個有序的鏈表,合併後的鏈表也要有序。。。。。
用比較高效的方式進行合併,而不是兩次for循環。。。
2,動態加載資源。。。防止62335超過bug
3,動畫api。。。Android4.0 objectAnimation
4,架構整個項目
5,性能優化。。。。。。
6,Activity在frameWork層面如何啓動的。。。
2014年10月30號,騰訊面試題目
1,listview的使用方法
2,viewholder的優化原理
3,framework的工作原理,裏面的activity,service,cp,br
4,說出最近感覺做的最好的效果
5,animation動畫源碼實現,自定義動畫
6,touchevent事件傳遞機制及原理
7,Java中鎖的機制,sycon關鍵字。。
8,設計模式中觀察者模式,uml類圖。。。
9,自定義view實現onMeasure(),onDraw(),onLayout()的順序。。