開發人員面試題目分享(來看看不一樣的面試題吧)【第二彈】


第一彈的地址在這里:

開發人員面試題目分享(來看看不一樣的面試題吧)【第一彈】

 

直接說第二彈的題目,

這些題目都是環環相扣,由淺入深的(您看到很淺的題目,千萬別笑,繼續往下看)

 

第一排:

第一題:設計一個多對多關系的表結構,比方說一個老師有多個學生、一個學生有多個老師,一般需要幾張表?

第二題:在這三張表中有一張表是關系表,關系表中需要什么字段?

第三題:假設老師表中有兩個老師,其中一個老師有三個學生,另一個老師沒有學生,我要查出“所有老師和這些老師的學生”,怎么寫這條SQL語句,會得到幾行結果記錄?

第四題:你用了兩個left join對吧?一般情況下調整表名前后順序,都可以把right join換成left join,但在一些特殊場景下,你不用right join就解決不了問題或者說很難解決問題,你能不能給我說一個這樣的場景?

(最后一題是燒腦的題目)

 

第二排:

第一題:假設我要做一個和菜單相關的業務,這個菜單是無限分級的,一級菜單、二級菜單、三級菜單....有無限個層級;而且每個層級都可能有很多個菜單,我要把這些菜單數據存儲到數據庫中,“最少”需要幾張表?

第二題:假設業務上只需要菜單的名字,那么你這張表里“最少”有一個字段,都是什么?

第三題:我需要你設計一個方法,這個方法的傳入參數是一個菜單的ID,輸出參數是這個菜單的層級,你怎么做?

第四題:如果我業務上要頻繁的獲取菜單的層級信息,那么你會怎么對這個設計進行構調優?

第五題:好的,現在已經為你加了一個“菜單層級”的字段,假設我這個“菜單樹”只有一個頂級節點,我現在需要從這棵樹中隨機抽取一個節點,把這個節點調整成頂級節點,把原來的頂級節點調整成這個節點的子節點,你打算怎么做

(最后一題是燒腦的題目,要注意,整棵樹所有的節點的層級都會變化)

 

第三排:

第一題:你在開發過程中有用過多線程嗎?是在什么業務場景下用的?

第二題:你既然用過多線程,那么你用過線程鎖嗎?你能不能給我說一個業務場景,在這個業務場景下必須用線程鎖,如果不用線程鎖就可能會出問題?

第三題:假設有一項任務,需要你開很多個線程去並行執行這項任務;centos_x64系統,8核8G內存,任務是計算密集型的任務,你覺得你最多開到多少個線程就需要申請加服務器了?

第四題:假設給了你10台服務器,讓你並行處理這項任務,現在需要讓你設計這個分布式系統,你把技術關注點列給我看看好嗎?

(最后一題是燒腦的題目,描述的很含糊,要讓面試者自己提問,從提問中看面試者的技能水平)

 

 

 

要下班了,就寫這三排,以后在寫其他的!

喜歡請點推薦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM