一面:
演算法題:旋轉陣列查詢target的開始和結束索引(lc 二分搜尋經典題目)
最直觀的做法是兩次二分,第一次二分先找到分界點,第二次二分找到開始和結束
演算法題1:排序陣列有重複,旋轉之後查詢(lc/劍指offer原題)
演算法題2:二維陣列左到右上到下非遞增,查詢元素,注意陣列維度很大時要使用二分查詢思想。
數學題:拋硬幣的依圖祖傳題,具體題目記不太清了,用到了貝葉斯公式和等比數列求和。 ( 概率題以及貝葉斯公式有時候在面試中(主要是演算法崗)也會遇到)
二面:
演算法題:二維陣列全是0或1,求全為1的最大子矩形面積(lc85題)這道題比較難
演算法題:一維陣列,索引差為寬度,兩邊值較小的為高,求最大矩形面積, (lc84題)
演算法題:全排列(lc原題,遞迴回溯)
演算法題:topk,用了快排和堆兩種思路,堆的解法讓現場建堆(演算法導論上那一堆關於heap-sort的輔助函式都讓寫,當時全職實習沒時間複習基礎,基本都忘了,憑藉之前的印象大致寫出來了)
簡單的演算法題:爬樓梯,斐波那契數列』
三道演算法題:最長回文序列: lc516 用動態規劃解
非迴圈列印
判斷圖形是否為凸多邊形: 計算幾何問題,用叉積,但是現場面試一般很少出現。
演算法題:一維亂序陣列,給定乙個target,輸出所有和為target的子陣列 ( 使用字首和容易給出o(n^2))的做法, lc560)
map reduce 基本原理在面試中也經常問到
演算法題:判斷兩個鍊錶是否有交點,自己說了三四種方法,面試官比較滿意。
這道題目比較簡單
演算法題,每隔k個翻轉鍊錶
這道翻轉鍊錶的題目,稍微有點難,需要畫圖思考
演算法題1:給定乙個一維陣列,輸出乙個一維陣列,每個位置對應輸入陣列相同位置之後第乙個比該位置元素大的數,沒有的話輸出-1,當時只想出了n**2的暴力做法,這個題目可以使用單調棧,on時間複雜度,當時沒想出來。
演算法題2:給定乙個陣列,判斷是否存在索引i
校招筆試面試中Linux常考內容
對linux只是個人興趣愛好,在之前稍微接觸了一點,學校對這部分內容的學習安排在大三下學期,而自己又要現在準備實習,許多公司對作業系統和linux的考察又比較多,無論是在筆試中還是面試中 算是自己總結知識和複習吧,從網上各處收集一下各種考點,也方便大家複習查閱 1 在linux中,常用檔案的方式訪問...
面試常考 排序演算法總結
排序在各次面試的過程中問道的次數不少,氣泡排序和快速排序尤多。因此做一些總結,尤其是 部分。1.氣泡排序 1 思想 在一組數中,對當前未排好序的數,自上而下地對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的數往上冒。2 複雜度 平均情況 o n 2 最壞情況 o n 2 逆序有序 最好情況...
面試常考的幾個題
管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...