日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面经搜集

發布時間:2025/3/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面经搜集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

頭條學長分享

從開始面試 到現在已經大半年了 和大家分享一下研發崗的簡歷審查和面試考察點:

一、研發崗呢 大家都還是希望要科班的學生(計算機 & 軟件)的 , 如果不是科班的同學, 會關注項目經驗和崗位的匹配程度, 以及學習能力和潛力 (是否有技術博客, 對知識點是否會主動深挖) 簡歷中關于項目的描述是會重點看的,如果對項目的背景,目標,結果有好的描述的(STAR原則:,即Situation(情景)、Task(任務)、Action(行動)和Result(結果)), 這樣是會加分的,對項目有描述和技術架構的, 在后面面試的時候會重點考察技能,判斷候選人在項目里的真實性和參與度。然后是大家寫的技能樹的部分,除了希望對技術的描述準確之外, 描述是否有體系性的思維也是非常重要的。

二. 說完簡歷 然后說說面試時候的考察要點

  • 計算機的基礎知識 計算機四大專業課 數據結構 : 圖、hashmap, 算法原理, 對時間復雜度和空間復雜度的推算 計算機網絡 : 通信基本原理,如TCP/IP協議,三次握手四次揮手、TCP/UDP區別,DNS屬于哪層協議 操作系統知識 : 進程和線程理解,IPC方式和原理 數據庫相關概念 : 三范式, 事務 四大專業課之外(加分項) : 編程語言特性, 設計模式的了解
  • 工程能力 編碼能力 : 如實現一個多維數組的快排 (都是簡單的算法題, leetcode難度為簡單的那些) 架構能力 : 對技術選型理解, 對開源組件的解讀
  • 邏輯思維 一般是一些小的數學題,如概率論的小題目, 看反應能力
  • 項目經驗 業務理解 : 對項目的整體背景, 目標, 方案 , 結果的理解 (STAR原則) 遇到問題的解決思路 : 描述一兩個難點, 如何克服
  • ?軟素質
      • 1. 心態 : 對待問題是否會深究, 是否有較強的自驅力, 有虛心學習強者的心態
      • 2. 溝通 : 是否誠實, 不夸大, 表達流暢, 準確
      • 3. 抗壓 : 不輕易放棄 (我一般會針對候選同學不是很熟悉的領域, 連續追問, 看是否主動思考, 持續思考, 不輕易放棄)

    ?

    ?

    以下內容來自njustlcx的頭條面經

    作者:njustlcx
    鏈接:https://www.nowcoder.com/discuss/159228
    來源:牛客網

    Java有哪些常用的線程池

    之前還沒來得及準備線程池,哭暈,直接回復不太了解,第一個問題就這么告終,實在有點過意不去。Java基礎太薄弱了。

    哪些同步的方式,就是加鎖

    用synchronized關鍵字加鎖,還有分段鎖。

    追問,怎么理解分段鎖?

    之前只顧記概念了,沒能好好理解。瞎胡說一通,說不是對整個數據段加鎖,而是一段一段的加鎖(面試官內心應該是奔潰的),性能比synchronized關鍵字好。

    追問,知道哪些數據結構是用分段鎖的嗎?

    回答只知道ConcurrentHashMap。

    追問,那它是怎么實現分段鎖的,了解過嗎?

    回答沒有。

    除了這個還有沒有別的數據結構用分段鎖?

    回答不是很清楚。

    synchronized知道怎么用嗎?

    之前沒怎么用過,回答在方法或變量前面使用。面試官內心應該很崩潰了。

    知不知道鎖的可重用是一個什么樣的概念?

    這個真沒了解過。

    數據庫里面的索引了解嗎,可以談談它的結構嗎

    hash索引和B+樹索引,如果查詢單條記錄的話,hash索引比較方便。查詢多條記錄的話B+樹索引能夠提高查詢效率。

    追問:B+樹和B樹什么區別?

    回答:這個好像答反了,哭暈

    為什么使用索引查詢會變快呢?

    回答:本身數據庫的結構是按頁存儲,不同的頁之間構成一個循環鏈表,頁里面的記錄也是單鏈表。如果不用索引并且數據量比較大的話,查詢效率低。如果用B+樹balabala,說的有點語無倫次。最主要原因還是對B+樹沒那么了解。

    知道聚簇索引嗎?

    回答:聚簇索引也叫聚集索引。是以主鍵為索引的。

    追問:主鍵索引和普通的索引有什么區別

    回答:以主鍵索引查詢沒有回表的操作,普通索引的話好像沒有回表的操作。

    追問:為什么主鍵索引就不需要回表呢,根本原因是啥?

    回答:好像是數據庫里面是以主鍵存儲的。面試官:大致是這個意思

    講一下tcp三次握手四次揮手

    三次握手主要是為了通信雙方建立一個可靠的通信信道。第一次握手balabala,第二次balabala,第三次balabala。

    四次揮手balabala

    追問:為什么握手要三次,改成兩次行不行?

    回答:沒理解面試官的意思,答偏了。直接說的兩次握手的話接收端無法確認自己是不是發送成功,發送端是不是成功接收。

    追問:兩次的話斷開會有什么問題?

    我的回答還是建立在三次握手的基礎之上來思考的,沒有拋開三次握手的概念。

    算法題,二叉樹的序列化與反序列化

    昨天基友剛答過這題,今天又來了。早上還瞄過一眼,感覺應該不會再出現吧,但沒想到還是出現了。用的是前序遍歷的方式對二叉樹進行序列化,反序列化的時候感覺也挺順利的,但后面執行出現了一個bug,好像是有個遞歸的出口沒考慮到,網頁上寫代碼又不像用IDE,還可以debug,一時半會沒找到原因,期間還問了面試官StringBuilder在哪個包下。。。再加上遇到問題解決不了,有點緊張,卡了很久。最后讓我回頭再調試。還是不能太依賴于IDE,要學會在沒有IDE的情況下寫代碼。

    問我有沒有什么想問的

    我問了三個問題

    平時工作如果忙的話,怎么學習自己的東西

    會做技術分享,每個月都有人會做技術分享,一個組內,每個人按月份分享。學東西的話在工作中遇到一些問題,解決了也能夠學到一些東西。

    怎么學習源碼,有什么策略

    一般遇到問題會去源碼那邊跟一下,如果單純學源碼的話,最好按模塊來看,架構是什么樣子的。最好是能夠跑起來,debug看一些數據。

    像我們在校學生,平時接觸不到生產上的數據和業務場景,如何提升自己

    找實習是最好的,或者自己接項目,做老師的項目。

    ?

    以下內容來自小啾啾的小嘰嘰的頭條面經

    作者:小啾啾的小嘰嘰
    鏈接:https://www.nowcoder.com/discuss/158930
    來源:牛客網

    一面

    1、一上來就是問項目,有意思的或者說是有難度的(項目簡歷上寫了一堆,含金量都不高)?

    A:我就挑了個有意思,一個學校助手小程序,也不知道重點說什么,就把功能和實現方法說了,其實蠻 low 的。


    2、HTTP 請求方法?

    A:我說5個嘛(其實有8個),說到最后還忘了一個,尷尬。

    追問:Post 和 Put 的區別?

    A:只說了 POST 的作用,也是一知半解,沒有說清楚。PUT 不知道,哎。


    3、Cookie 和 Session 的區別?

    A:說了一些基本的區別。

    追問:跨域問題?

    A:記得看過,結果也不知道說什么了,硬是說了 Session 共享。

    HashMap 和 HashTable 的區別?

    A:emmmmm... 不會 Java,只會 System.out.println()


    7、數據庫索引結構了解嗎?

    A:B+ 樹,還有哈希

    追問:B+ 樹和 B 樹的區別?

    A:腦子里有 B+ 樹結構,看到哪里說哪里

    追問:聚集索引?

    A:以主鍵為索引的索引,大概就記得這點。還挖坑說了非聚集索引,說到回表時被問為什么會回表,因為有非主鍵字段,然后額,有點說不清楚了。


    8、來做個題吧,二叉樹的序列化和反序列化

    (Leetcode 原題)一開始還沒搞明白啥意思,光前序或者中序或者后序是不唯一的,后來才明白就是字符串的編解碼。

    要實現兩個方法,中序 + 前序 或者 中序 + 后序能唯一確定一個二叉樹,序列化就遍歷結果相接,反序列化就倒推。

    面試官提示的時候還說了層序,我就默默的開始想怎么層序,面試官又提示用特殊字符節點代替空節點,emmmm,好吧,開始寫吧。尷尬的是居然不知道咋層序了,知道是用列表存節點遍歷,硬是寫不好(太菜了)。自己越想越亂,而且耳麥里時不時嘈雜,腦子一片空白,亂了亂了。好不容易層序完,反層序又亂了,總之整個過程就很亂,寫的時候還發現序列化的結果有問題(代替所有空節點,形成滿二叉樹,而我卻寫成了只把葉子節點替換了)。

    整個過程耗時一個小時,不知道面試官怎么這么有耐心的,尷尬,總之自己是真的菜。


    9、還有什么想問的嗎?

    先問面試官的在哪個部門工作;字節某個產品的服務請求響應處理是不是按地區劃分(其實我也不知道怎么問);怎么處理海量數據的(幾萬臺主機的集群)

    作者:小啾啾的小嘰嘰
    鏈接:https://www.nowcoder.com/discuss/158930
    來源:牛客網

    6、難度比較大的項目?

    A:來來來,計量你來,畢竟你是永遠結束不了的項目。亂說一通,就這樣吧


    7、做題了,根據用戶閱讀文章的情況(article_id, user_id, ...)統計閱讀量 Top5 的文章

    A:第一反應,map 來統計嘛,Python 里字典嘛,然后找統計數最大的五個嘛

    追問:程序跑的時候 map 在內存吧,內存很小咋辦?

    A:redis,本身就是個 map,能存很多數據嘛(redis 也不清楚底層,也不知道咋存的)

    追問:從數據結構上優化?

    A:想了許久,額,五個變量存五個最大的。。。尷尬了,意識到想偏了,我想的居然成了找 TOP5 的 article_id,我怕不是個智障。要是要找也是找統計數,那樣還是沒有解決內存放不下 map。

    追問:你說的五個變量也可以,。。。

    A:被我打斷了,說自己跑偏了。然后就莫名其妙的跑到了 TOP K 問題,最后我就以最大堆結束了這個尷尬的話題。

    追問:說一下建堆的邏輯?

    A:兩種方法,balabalabala,嗯,就這樣。

    一開始說是場景題,也不知道是場景題還是算法題,最后也沒有寫代碼。


    8、下一題,滑動窗口,面經里有很多說過

    A:最后是要得到滑動窗口最大值集合,想了個方法,說了一通。

    追問:那你能實現一下嗎?

    A:可以(其實我想說不能)。反反復復調整了幾次代碼結構,邏輯應該沒問題,就讓面試官看了(不用運行,因為題目也是面試官現場描述的,不然可能有問題),然后就給面試說了下詳細思路。

    追問:你的算法復雜度怎么樣?

    A:最差情況,數組倒序,復雜度 O(n^2),好弱。然后就結束了。


    9、你接觸過哪些技術?

    A:也不知道說什么。SqlServer?Mysql?Mongodb?Django?Flask?。。。

    追問:你現在在關注什么技術?

    A:Docker、redis、。。。尷尬,我在學什么,好弱。

    ?

    以下來自yy要加油的頭條面經

    鏈接:https://www.nowcoder.com/discuss/158034

    來源:牛客網

    崗位:后臺研發 時間:一個小時 1.自我介紹 2.介紹一下自己做的比較好的一個項目 3.java中int和Integer的區別,為什么有了int還要有設計Integer 4.java中hashmap的實現原理,講解一下哈希函數 5.手寫算法:判斷一個數是否為二叉樹的路徑節點值之和 6.操作系統中線程和進程的區別
    • 一個進程是不是可以創建無限數量的線程
    • 線程的數量會受到什么限制
    • 線程在內存中會占用什么資源
    7. udp和tcp的區別
    • 講解udp的校驗和
    • 講解tcp的校驗和
    • tcp的四次揮手過程
    • 如果服務器中含有大量一直處于close_wait的tcp連接,是為什么?
    8.講解算法:一個連連看小游戲(二維數組存儲),如何判斷兩個點可以消去?時間復雜度?連線最多只有兩個拐點,怎么判斷??

    以下來自T.G.的頭條面經

    一面

    • 單鏈表的反轉,不用遞歸的方法。

    • 有序數組存在某個值,查找這個值的下標,有則輸出,無則輸出-1

    • 說說你的項目

    • 我挑的CTF

    • 然后你說阿里巴巴的druid連接池對數據連接有安全,請問下為什么

    • 然后你是信安專業的么 -- 說下自己的經歷

    • 你說你學Java的,靜態變量的初始化和存在哪里說一下

    • Java并發相關,線程通信

    • 說下JVM中堆和棧的區別

    • tcp/ip了解么,說下tcp的三次和四次握手

    • tcp和udp的區別和各自的應用

    • http和https的區別,https加密的過程

    • Linux了解么,MySQL了解么,redis了解么

    • hash表中的沖突是什么產生的,用什么解決方法

    • 在信安方面自己做過最自豪的事情

    • 有什么問題想問我的

    附上我的簡歷,感覺面試官是圍繞著我簡歷中寫的來問的,所以結合簡歷來看問題比較實際點吧。

    https://tugohost.github.io/resume/

    以下來自SyndromePolynomial的頭條面經

    來源:牛客網
    一面,比較基礎 1. 自我介紹 2. 實習經歷 3. HashMap 4. 堆排,建堆的時間復雜度,O(n),為什么是這個,我忘了公式怎么推的了 5. 完全二叉樹和滿二叉樹的概念和區別 6. 數據庫:事務的概念,索引,B+樹講了一下。可能我回答的太不規范,然后也說了自己忘了數據庫的知識了,于是就沒往下問 7. TCP 和 UDP 的區別,為什么是3次握手,4次揮手。4次揮手就是為了等待由一方還沒傳完,才有四次。 8. 編程題:建堆過程 9. 編程題:最小棧:在O(1)的時間復雜度內返回棧的最小元素。思路:兩個棧,一個棧模擬普通的push、pop,getMin() 操作,一個棧用于存儲最小值序列。 10. ArrayList和LinkedList的區別
    二面: 1. JUC聽過嗎,java.util.concurrent的縮寫。。。哭了,我說沒聽過,能不能不要什么都用縮寫啊。。。。 2. 知道哪些垃圾回收器,CMS的優勢在哪。。。哎,真的是看過就忘啊。。。。 3. 不可變類,機制,實現原理。完全不知道。 4. 紅黑樹的特性,面試官說紅黑樹不是二叉搜索樹,我懷疑人生了。 5. 編程題:數組中除了兩個數,其他樹都出現偶數次,找出這兩個只出現一次的數。二面我就答上來這一道題,哭惹 6. 編程題:二叉樹轉雙端鏈表,半個小時沒寫出來,,, 哎,,自己真是太弱了啊,太弱了

    轉載于:https://www.cnblogs.com/greatLong/p/10562418.html

    總結

    以上是生活随笔為你收集整理的面经搜集的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。