阿里實習麵筋

2021-09-02 02:00:25 字數 2701 閱讀 6982

麵筋1

1.第一題實現快速排序,第二題是實現乙個同步控制,使用多執行緒列印abcabcabc

2.很多區間求並集。合併兩個有序鍊錶比較快的方法

3.給定乙個公升序整數陣列a和整數x,返回a中》=x最左的位置,如果沒有這樣的數返回-1, 要求複雜度o(lgn)

4.已知乙個單鏈表中存在環,求進入環中的第乙個節點

思路兩個指標,先用flyod判圈法讓2個指標進環並走到一起,

然後讓乙個走一圈得到環的大小,接著兩個回到原點,乙個走環大小的步數,

之後再一起走,相遇的地方便是入口

5.有乙個單向鍊錶,可能有環也可能無環,請把這個鍊錶複製乙份.(感覺和一面有點撞題了)

思路:和之前一樣,先flyod判圈看看是不是有環,有的話就把入口搞出來,然後分情況copy就好了

6.不用乘法實現兩個數的乘法

7.乙個先公升序後降序的陣列中判斷乙個數是否存在

8.編寫演算法,實現乙個單鏈表的翻轉。

9.實現乙個字串轉整形的函式

10.兩個有序陣列,怎麼合併?合併過程中時間複雜度和空間複雜度是多少?

11.他就把這個題公升級了一下,說乙個長度為100,乙個為100萬,合併的話,怎麼才算最優的?也問了時間複雜度和空間複雜度?複雜度怎麼計算的?

二分,lgn,的插入把

12.快排、堆排(大、小)

13.n個區間 問覆蓋的長度總和是多少

14.鍊錶翻轉——經典的題目,秒掉無壓力;

15.編輯距離——演算法課學過,動態規劃,不過寫出正確的**還是需要一定時間

16.左旋or右旋陣列——要求至少給出兩種做法,在《劍指offer》上看到其中一種做法。

麵筋21.tcp協議的三次握手和四次揮手,以及網路中資料報是如何傳輸的,

2.當瀏覽器中輸入乙個url以後,後台的操作是什麼樣的,如何通過http協議獲取網路資源的。

3.資料庫方面的問題,資料庫的索引如何建立,資料庫的儲存引擎是怎麼樣的。

4.作業系統方面問了程序和執行緒,程序與執行緒的區別以及如何實現同步,問了實現同步的方法,又問了synchronize,lock的區別,以及wait,notify等的區別。最後問了堆和棧的區別。還有部分資料結構和演算法的東西,hashmap的實現原理,以及concurrenthashmap如何實現併發控制的。

5.mtu,為什麼要三次握手,如果第三次握手沒有收到資料報會發生什麼。epoll和poll包括select具體實現。程序和執行緒具體區別(最好細到暫存器方面)。dns和arp之類的具體細節,還有一些簡單的基礎。

7.什麼是多型

8.怎樣實現多型

9.什麼是執行緒安全

10.你知道有什麼執行緒安全和執行緒不安全的類

11.hashmap和hashtable的原始碼(gg沒有看過)

12.list和set有什麼區別、set實現方式(不知道實現方式)

13.==和equals區別

14.equals是怎麼來的(最基礎的答錯了t.t)

麵筋31.學過哪些技術知識呢?

2.說說介面和抽象類的區別(語法,設計,跨域三方面)

3.怎麼判斷兩個物件是否相等?(名稱和類載入器)

4.==和equals的區別(比較方式)

1.==是判斷兩個變數或例項是不是指向同乙個記憶體空間

equals是判斷兩個變數或例項所指向的記憶體空間的值是不是相同

2.==是指對記憶體位址進行比較

equals()是對字串的內容進行比較

3.==指引用是否相同

equals()指的是值是否相同

5.排序演算法有哪些呢(分類說,插入,選擇,交換,歸併,基排)

6.堆排序的時間複雜度?怎麼計算的(logn)

建堆的過程是n,調整堆的過程是nlgn

調整堆,每次都是從上向下調整,一次調整比較次數lgn,調整n個點就是nlgn

7.說說歸併的演算法過程(先劃分,歸併,遞迴實現,把過程理清)

首先從中間對資料進行二分,然後遞迴前面二分的過程。

然後當只剩乙個元素的時候,開始進行合併操作,合併就是兩個陣列的合併。

8.知道先序,中序,後序遍歷嗎?(把演算法過程說一遍)

先序,根左右,遞迴

中序,左根右,遞迴

後續,左右根,遞迴

9.事務的實現原理?(原始碼)

acid,原子性,一致性,隔離性,永續性。

10.說說四層網路模型(每層的協議及應用)

和五層模型相比,沒有物理層

11.談談tcp,udp的區別,分別有哪些應用(可靠,面向連線,首部)

12.說說tcp三次握手過程?

13.為什麼是3次,2次可以嗎?4次呢?(從失效的資料報談2次為什麼不行,從響應時間說為什麼不用4次)

麵筋42.智力題

給你乙個數n,能否對它開方,不能用乘法

3.計算機基礎知識

——作業系統中,給程序分配的管理方式是怎麼樣的,給你乙個4m的記憶體,怎麼分配?

——作業系統中,記憶體的頁級和段級管理方式,兩者的區別

——作業系統中,如果給你乙個二級頁表,那麼這個二級頁表,可以減少多少的記憶體,怎麼算?

——記憶體管理知識基本都考到了

——網路擁塞有了解過嗎,分為哪幾個部分

——滑動視窗是怎麼樣控制流量的

——linux系統,linux核心,io棧,io從上到下的流程,io請求可以合併嗎?

4.還學過什麼?

redis,快取演算法,一致性hash

5.程式設計

模擬實現lru演算法

騰訊系統測試麵筋 實習

一面。小哥哥超級溫柔的好麼。果然 面試還是有溫度,太可怕了,不過我們只聊了半個小時。我準備了一天的資料結構沒有用,如果有幸挺進二面,估計會有用。自我介紹沒有,首先就是說專案,講專案流程 因為我是做web測試的,其中問了我的專案怎麼在瀏覽器裡面跑起來的。然後問我什麼時候學的python,就開始問程式設...

阿里電話實習問題

突然就打了個 晚上將近九點 問題 0.學習過哪些關機計算機的課?1.c 裡面如果要呼叫c程式的話怎麼做 2.有乙個檔案是關於伺服器的,裡面有產品號和位址,訪問物件啥的,排出前三名,具體怎麼做?排序演算法的原理?3.指標溢位的問題 怎麼解決?4.知道的模板庫有什麼?5.sendmessage和post...

麵筋 奇虎360 c 後台開發 實習生 面試

投的是360上海的商業化部門,崗位是c 服務端開發實習生,記錄一下面試歷程 一面 q 先說一下個人資訊,做過的專案 a q 先寫個翻轉字串 a 這個簡單,不過要注意一下細節 q 了解nginx嗎 a 聽說過,沒有用過暫時 然後面試管就不問nigix了 q 說一下執行緒池 a 網上很多就不寫了,主要也...