特別感謝小米面試官抽出時間面試我哈 哺哼!面試完感觸特別大,答案是自己面試完找的。
1.自我介紹
這個不用說了,自己介紹一下自己窑业。
2.數(shù)據(jù)庫My Sql和SQL Server以及Oracle的區(qū)別磨镶?
他是看了我寫了一篇這樣的博客才問的碎乃,可惜我都忘了自己寫了啥则酝!吃虧了,博客太久了庄敛,都忘記看了俗壹。鏈接如下:
http://blog.csdn.net/zpdreamer/article/details/51111905
3.數(shù)據(jù)庫的左連接和右連接
1)左連接:只要左邊表中有記錄,數(shù)據(jù)就能檢索出來藻烤,而右邊有
的記錄必要在左邊表中有的記錄才能被檢索出來
(2)右連接:右連接是只要右邊表中有記錄绷雏,數(shù)據(jù)就能檢索出來
4.數(shù)據(jù)庫的視圖,為什么要用視圖?
視圖其實就是select查詢語句 通過關(guān)聯(lián)查詢或者其他查詢組建起來的怖亭,他是多個表的查詢結(jié)果集涎显,使用視圖可以提高一個程序的SQL效率,比平常使用select 更加便捷依许,我們可以直接select * from 視圖VIEW 來獲取棺禾,數(shù)據(jù)庫也更容易維護更新
5.什么是事務(wù)缀蹄?
事務(wù)(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)峭跳。事務(wù)通常由高級數(shù)據(jù)庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執(zhí)行所引起缺前,并用形如begin transaction和end transaction語句(或函數(shù)調(diào)用)來界定蛀醉。事務(wù)由事務(wù)開始(begin transaction)和事務(wù)結(jié)束(end transaction)之間執(zhí)行的全體操作組成。
6.數(shù)據(jù)庫如何獲取表里最大值衅码?
假如想要取得最大ID的name值(這里只是借ID為例 不用ordery by)
解決辦法:select max(id) from db_name
7.那獲取第二大的呢拯刁?
select top 1 *
from table where 字段a not in (select top 1 字段a from table order by id desc)a order by id desc
以上都是數(shù)據(jù)庫的,數(shù)據(jù)庫沒發(fā)現(xiàn)逝段,基本掛了垛玻。當然,還要繼續(xù)提問吶奶躯。
8.因為我是物聯(lián)網(wǎng)專業(yè)的帚桩,所以他問了一下物聯(lián)網(wǎng)方面的知識。我給他介紹了短距離通信嘹黔。
9.如何實現(xiàn)多線程服務(wù)器账嚎?
這個不好回答,主要是在線程的run方法里面執(zhí)行一些輸入輸出流操作,
如何實現(xiàn)多線程緩沖池郭蕉?
通過隊列來實現(xiàn)
10.java的數(shù)組疼邀、List、map的區(qū)別召锈?
數(shù)組是固定長度的旁振,list不固定,map是基于key-values進行映射的涨岁。訪問元素數(shù)組可以通過下標訪問规求,list需要遍歷,map可以通過Key值獲取map的values.
11.鏈表反轉(zhuǎn)
1.鏈表內(nèi)反轉(zhuǎn)
節(jié)點的下一個元素插到節(jié)點之前卵惦。依次進行阻肿,
例如:
鏈表的第二個插到第一個之前,第三個插到第二個之前
2.用棧實現(xiàn)
遍歷鏈表沮尿,把每一個節(jié)點放到棧里面丛塌,遍歷萬,然后再出棧
12畜疾,實現(xiàn)線程的方式
1.繼承Thread類赴邻。
2.實現(xiàn)Runnable,然后重寫run方法。
兩種方式的區(qū)別啡捶。
1.一個類只能繼承一個父類姥敛,如果已經(jīng)繼承了Thread,就無法繼承其他的了瞎暑,所以一般用runnable.
2.使用Runnable可以避免點繼承的局限彤敛,一個類可以繼承多個接口。
適合于資源的共享