唯品会——java开发实习生机试
生活随笔
收集整理的這篇文章主要介紹了
唯品会——java开发实习生机试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
唯品會——java開發實習生機試
共一個小時。
題型:共三種題型:單選17道,不定項選擇3道,問答題5道。只有兩道單選不是技術,其他都是技術題。
涉及面包括
1.spring中事務控制的注解
2.設計模式主要分三種類型,創建型模式的問題
3.hashmap的描述:hashmap使用鍵值的形式保存數據嗎?hashmap允許將null用作鍵/值嗎?hashmap能夠保證其中元素的順序嗎?
4.static的描述:abstract可以修飾類、接口、方法;abstract修飾的類主要用于被繼承;abstract不可以修飾變量;abstract修飾的類,其子類也可以是abstract修飾的。
4.JDBC事務
5.object類包括哪些?clone、hasnext、finalize。。
6.java的繼承中存在傳遞?構造方法能重載?方法的重寫應用在一個類的內部?constructor在一個對象被new時執行。。。。
7.線程間通信使用的方法?wait、notify、。。
8.java創建線程的兩種方法
9.java線程的五種狀態
10.數據庫常用的join方法:三種:inner join、left join、right join
11.數據庫事務的隔離級別
12.常用的對稱加密算法
13.ThreadLocal類是什么?詳細描述。
14.當線程進入一個對象的synchronized方法A后,其他線程是否可以進入該對象的synchronized方法B嗎?詳細描述。
15.數據庫問題。寫一個sql,查詢員工工資問題。
16.寫出一個單例的設計模式。
17.transient變量有什么特色?詳細描述。
附轉載: 第一部分是不定項選擇(每題4分): 總共10個題,都是一些java的基礎知識,大概有數組的定義以及一些形參的使用方法等; 第二部分是簡答題,總共四個小題,每題10分 (1)、操作系統中段頁式的選址方式 參考:在段頁式系統中,為了獲得一條指令或數據,須三次訪問內存。第一次訪問是訪問內存中的段表 ,從中取得頁表始址;第二次訪問是訪問內存中的頁表,從中取出該頁所在的物理塊號,并將該塊號 與頁內地址一起形成指令或數據的物理地址;第三次訪問才是真正從第二次訪問所得的地址中,取出指 令或數據。
(2)、進程間的通訊方式有哪幾種,有什么區別 參考:(1)管道(Pipe):管道可用于具有親緣關系進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。 (2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。命名管道在文件系統中有對應的文件名。命名管道通過命令mkfifo或系統調用mkfifo來創建。 (3)信號(Signal):信號是比較復雜的通信方式,用于通知接受進程有某種事件發生,除了用于進程間通信外,進程還可以發送信號給進程本身;linux除了支持Unix早期信號語義函數sigal外,還支持語義符合Posix.1標準的信號函數sigaction(實際上,該函數是基于BSD的,BSD為了實現可靠信號機制,又能夠統一對外接口,用sigaction函數重新實現了signal函數)。 (4)消息(Message)隊列:消息隊列是消息的鏈接表,包括Posix消息隊列system V消息隊列。有足夠權限的進程可以向隊列中添加消息,被賦予讀權限的進程則可以讀走隊列中的消息。消息隊列克服了信號承載信息量少,管道只能承載無格式字節流以及緩沖區大小受限等缺 (5)共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的。往往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。 (6)內存映射(mapped memory):內存映射允許任何多個進程間通信,每一個使用該機制的進程通過把一個共享的文件映射到自己的進程地址空間來實現它。 (7)信號量(semaphore):主要作為進程間以及同一進程不同線程之間的同步手段。 (8)套接口(Socket):更為一般的進程間通信機制,可用于不同機器之間的進程間通信。起初是由Unix系統的BSD分支開發出來的,但現在一般可以移植到其它類Unix系統上:Linux和System V的變種都支持套接字
(3)、hashMap、hashTable 的區別,ArrayList和LinkedList的區別 參考: 1.HashTable的方法是同步的,HashMap未經同步,所以在多線程場合要手動同步HashMap這個區別就像Vector和ArrayList一樣。? 2.HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。? 3.HashTable有一個contains(Object?value),功能和containsValue(Object?value)功能一樣。? 4.HashTable使用Enumeration,HashMap使用Iterator
? 1.ArrayList是實現了基于動態數組的數據結構,LinkedList基于鏈表的數據結構。? ???? ? 2.對于隨機訪問get和set,ArrayList覺得優于LinkedList,因為LinkedList要移動指針。? ????? ? 3.對于新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。? (4)、網絡的七層結構?怎樣使用UDP實現TCP的可靠傳輸 參考:(1物理層,2數據鏈路層,3網絡層,4傳輸層,5會話層,6表示層,7應用層)要使用UDP來構建可靠的面向連接的數據傳輸,就要實現類似于TCP協議的超時重傳,有序接受,應答確認,滑動窗口流量控制等機制,等于說要在傳輸層的上一層(或者直接在應用層)實現TCP協議的可靠數據傳輸機制,比如使用UDP數據包+序列號,UDP數據包+時間戳等方法,在服務器端進行應答確認機制,這樣就會保證不可靠的UDP協議進行可靠的數據傳輸 第三部分是編程題,一題20分 1、(1)用C語言創建一個鏈表,然輸出這個鏈表 ? ? ? ?(2)實現刪除一個節點的操作,要求時間復雜度為O(1)
附轉載: 第一部分是不定項選擇(每題4分): 總共10個題,都是一些java的基礎知識,大概有數組的定義以及一些形參的使用方法等; 第二部分是簡答題,總共四個小題,每題10分 (1)、操作系統中段頁式的選址方式 參考:在段頁式系統中,為了獲得一條指令或數據,須三次訪問內存。第一次訪問是訪問內存中的段表 ,從中取得頁表始址;第二次訪問是訪問內存中的頁表,從中取出該頁所在的物理塊號,并將該塊號 與頁內地址一起形成指令或數據的物理地址;第三次訪問才是真正從第二次訪問所得的地址中,取出指 令或數據。
(2)、進程間的通訊方式有哪幾種,有什么區別 參考:(1)管道(Pipe):管道可用于具有親緣關系進程間的通信,允許一個進程和另一個與它有共同祖先的進程之間進行通信。 (2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信。命名管道在文件系統中有對應的文件名。命名管道通過命令mkfifo或系統調用mkfifo來創建。 (3)信號(Signal):信號是比較復雜的通信方式,用于通知接受進程有某種事件發生,除了用于進程間通信外,進程還可以發送信號給進程本身;linux除了支持Unix早期信號語義函數sigal外,還支持語義符合Posix.1標準的信號函數sigaction(實際上,該函數是基于BSD的,BSD為了實現可靠信號機制,又能夠統一對外接口,用sigaction函數重新實現了signal函數)。 (4)消息(Message)隊列:消息隊列是消息的鏈接表,包括Posix消息隊列system V消息隊列。有足夠權限的進程可以向隊列中添加消息,被賦予讀權限的進程則可以讀走隊列中的消息。消息隊列克服了信號承載信息量少,管道只能承載無格式字節流以及緩沖區大小受限等缺 (5)共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的。往往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。 (6)內存映射(mapped memory):內存映射允許任何多個進程間通信,每一個使用該機制的進程通過把一個共享的文件映射到自己的進程地址空間來實現它。 (7)信號量(semaphore):主要作為進程間以及同一進程不同線程之間的同步手段。 (8)套接口(Socket):更為一般的進程間通信機制,可用于不同機器之間的進程間通信。起初是由Unix系統的BSD分支開發出來的,但現在一般可以移植到其它類Unix系統上:Linux和System V的變種都支持套接字
(3)、hashMap、hashTable 的區別,ArrayList和LinkedList的區別 參考: 1.HashTable的方法是同步的,HashMap未經同步,所以在多線程場合要手動同步HashMap這個區別就像Vector和ArrayList一樣。? 2.HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。? 3.HashTable有一個contains(Object?value),功能和containsValue(Object?value)功能一樣。? 4.HashTable使用Enumeration,HashMap使用Iterator
? 1.ArrayList是實現了基于動態數組的數據結構,LinkedList基于鏈表的數據結構。? ???? ? 2.對于隨機訪問get和set,ArrayList覺得優于LinkedList,因為LinkedList要移動指針。? ????? ? 3.對于新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。? (4)、網絡的七層結構?怎樣使用UDP實現TCP的可靠傳輸 參考:(1物理層,2數據鏈路層,3網絡層,4傳輸層,5會話層,6表示層,7應用層)要使用UDP來構建可靠的面向連接的數據傳輸,就要實現類似于TCP協議的超時重傳,有序接受,應答確認,滑動窗口流量控制等機制,等于說要在傳輸層的上一層(或者直接在應用層)實現TCP協議的可靠數據傳輸機制,比如使用UDP數據包+序列號,UDP數據包+時間戳等方法,在服務器端進行應答確認機制,這樣就會保證不可靠的UDP協議進行可靠的數據傳輸 第三部分是編程題,一題20分 1、(1)用C語言創建一個鏈表,然輸出這個鏈表 ? ? ? ?(2)實現刪除一個節點的操作,要求時間復雜度為O(1)
總結
以上是生活随笔為你收集整理的唯品会——java开发实习生机试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移除浏览器左下角的链接
- 下一篇: 口袋电脑,到底是个什么东东?