【面試】互聯(lián)網(wǎng)軟件研發(fā)崗位,面試內(nèi)容準(zhǔn)備方向(技術(shù)面試考察點(diǎn))
1、簡歷篩選與面試評(píng)價(jià)
HR部門撈簡歷的流程
-
簡歷的細(xì)選
- 職位、職責(zé)、學(xué)歷、工作年限、地點(diǎn)等等。關(guān)鍵詞可以幫助招聘官迅速判斷應(yīng)聘者是否符合JD要求。
- 應(yīng)聘者的主要數(shù)據(jù)。應(yīng)聘者的名字、目前的職位和公司、目前職位的起始時(shí)間、以前的職位和公司、以前的職位的起始日期、應(yīng)聘者教育背景。
- 應(yīng)聘者最近工作經(jīng)歷中與JD相匹配的內(nèi)容。這里有三個(gè)核心詞:最近、大致、匹配。這就是說,細(xì)選時(shí)只看重最近經(jīng)歷中與JD中相吻合的經(jīng)驗(yàn);只求“大致”匹配,不要求嚴(yán)格吻合。
-
細(xì)選簡歷的關(guān)鍵要點(diǎn)有:
- 只看“有沒有”,不看“配不配”。
- 在細(xì)選簡歷階段,不必糾結(jié)在關(guān)鍵要素是否匹配上,而只是關(guān)注是否有我們需要的核心元素。在簡歷中所描述的職責(zé)和經(jīng)驗(yàn)中,有沒有我們在JD中所設(shè)定的“關(guān)鍵詞”。不要“雞蛋里挑骨頭”。
-
簡歷的精讀
-
應(yīng)聘者既往經(jīng)歷的主要職責(zé)和工作內(nèi)容;應(yīng)聘者既往取得的成就和成功經(jīng)驗(yàn);應(yīng)聘者既往的管理幅度和管理經(jīng)驗(yàn);簡歷中存在的疑問和瑕疵。
-
辨別和確認(rèn)應(yīng)聘者解決問題能力和經(jīng)驗(yàn)、領(lǐng)導(dǎo)風(fēng)格和經(jīng)驗(yàn)、文化適應(yīng)性、書面溝通能力、團(tuán)隊(duì)精神和團(tuán)隊(duì)建設(shè)、效率改善能力和經(jīng)驗(yàn)等等。
-
一個(gè)在外企工作多年的應(yīng)聘者轉(zhuǎn)到民營企業(yè),可能存在“水土不服”問題。再者,在日韓臺(tái)企工作多年的候選人工作風(fēng)格多偏于嚴(yán)格、服從、執(zhí)行;在民企出來的應(yīng)聘者抗壓能力和實(shí)操能力明顯強(qiáng)于其它,但可能缺乏高度和深度;而外企工作多年的候選人專業(yè)度、職業(yè)精神更出色。
-
既往的角色和職責(zé):不僅僅要看應(yīng)聘者做了哪些事,還要特別關(guān)注他在其中擔(dān)任的角色是什么,承擔(dān)的責(zé)任有哪些。“主持”項(xiàng)目和“參與”項(xiàng)目的責(zé)任不同,獲得經(jīng)驗(yàn)也不同。 對角色和職責(zé)的判斷有兩個(gè)關(guān)鍵詞:“相關(guān)性”和“最近”。相關(guān)性是指應(yīng)聘者在既往的工作經(jīng)歷中與所應(yīng)聘職位的角色、職責(zé)的吻合度
-
一個(gè)既有國企、外企又有民企工作經(jīng)歷的應(yīng)聘者,對文化的適應(yīng)性肯定高于只有單一性質(zhì)的企業(yè)工作經(jīng)歷的應(yīng)聘者。在國企工作多年的應(yīng)聘者可能對處理復(fù)雜人際關(guān)系得心應(yīng)手;而外企應(yīng)聘者自我意識(shí)會(huì)更強(qiáng)烈;有民營企業(yè)工作經(jīng)歷的應(yīng)聘者抗壓、抗擊打能力則明顯高于在其他企業(yè)的應(yīng)聘者。
-
工作期間和職業(yè)發(fā)展
應(yīng)聘者每一段工作經(jīng)歷少于三年,通常意味著應(yīng)聘者的穩(wěn)定性較弱。
兩段工作經(jīng)歷之間存在 “工作間隔” 需要引起重視。
另外,應(yīng)聘者的職業(yè)發(fā)展線路是上行、下行或波浪式,對判斷應(yīng)聘者的能力和整體素質(zhì)有積極意義。
當(dāng)然,如果高職位是在小公司,而后來的較低的職位是在大公司,是符合職業(yè)發(fā)展邏輯的。
-
用人部門撈簡歷的流程
- 目標(biāo):盡可能低的成本找到更大概率能通過全部面試且和當(dāng)前團(tuán)隊(duì)匹配的人選。
- 來源:
- 公司內(nèi)部招聘網(wǎng)站,會(huì)對接司外主流的招聘站點(diǎn),周期性同步新的簡歷到系統(tǒng)里。
- 招聘系統(tǒng)簡歷先到先得,誰先找到并發(fā)起面試流程誰就能先擁有這份簡歷的面試資格。
- 公司內(nèi)其它部門同事溝通,任何時(shí)候都可以聯(lián)系。
-
如何過濾簡歷(面試評(píng)價(jià)):
- 有3個(gè)或以上團(tuán)隊(duì)面試過且都不通過的一般不考慮,因?yàn)槎鄠€(gè)團(tuán)隊(duì)都不要,一般多少有點(diǎn)問題
- 其它團(tuán)隊(duì)面試記錄里反饋有比較惡劣情節(jié)的不考慮。最近一個(gè)月連續(xù)兩個(gè)以上團(tuán)隊(duì)溝通都表示沒意向的不考慮。
- 重點(diǎn)關(guān)注只有一個(gè)團(tuán)隊(duì)面試過,且初試通過,復(fù)試不過的候選人, 這個(gè)時(shí)候已有評(píng)語很重要
- 其次看有多個(gè)團(tuán)隊(duì)且多次通過面試記錄的人選。
- 歷史面試只有1次,放棄理由里沒有硬傷,可以考慮再發(fā)起。
-
通用流程:
找到覺得值得面的后馬上發(fā)起面試,鎖定簡歷。
選擇非正常工作時(shí)間聯(lián)系,比如中午,晚上8點(diǎn)后。
說明自己是誰(面試官),問候選人是否方便通話,說明是從簡歷庫里找到簡歷,看是否有看新機(jī)會(huì)的意向,再介紹我們做什么,問候選人是否有意向,有的話約一個(gè)時(shí)間,系統(tǒng)里點(diǎn)擊安排。 -
外包流程:
外包供應(yīng)商開始篩選簡歷并錄入系統(tǒng)進(jìn)行推送(可以要求供應(yīng)商提前面試和筆試)
崗位職責(zé):負(fù)責(zé)XXX項(xiàng)目的開發(fā)。
崗位需求:熟悉python編碼語言和django框架,思維活躍,邏輯性強(qiáng),主動(dòng)性好。
備注:供應(yīng)商推送簡歷時(shí)注意,為了加快招聘過程,提升成功率:
1.必須要先做筆試,筆試題目可以找XXX,筆試可以在線方式也可以現(xiàn)場,但要保證獨(dú)立完成。
2.必須要在供應(yīng)商側(cè)先做一輪面試,保證基本溝通能力沒問題,基本的python語言熟悉度和具備實(shí)際項(xiàng)目經(jīng)驗(yàn)
3.簡歷推送時(shí)需要附上筆試結(jié)果和面試評(píng)價(jià),如果沒有,則部門不會(huì)篩選簡歷和安排面試。
2、面試內(nèi)容(通用 & 溝通表達(dá))
靈魂三連問
- 你覺得人怎么樣? 【表達(dá)能力、溝通能力、學(xué)習(xí)能力、總結(jié)能力、自省改進(jìn)能力、抗壓能力、情緒管理能力、影響力、團(tuán)隊(duì)管理能力】
- 如果讓他獨(dú)立完成項(xiàng)目的設(shè)計(jì)和實(shí)現(xiàn),你覺得他能勝任嗎? 【系統(tǒng)設(shè)計(jì)能力、項(xiàng)目管理能力】
- 他的分析和解決問題的能力,你的評(píng)價(jià)是啥?【原理理解能力、實(shí)戰(zhàn)應(yīng)用能力】
考察目標(biāo)
-
候選人的技術(shù)基礎(chǔ):
技術(shù)基礎(chǔ)是基石(冰山之下的東西),占七分, 解決問題的思路和能力是落地(冰山之上露出的部分),占三分。 業(yè)務(wù)和技術(shù)基礎(chǔ)考察,三七開。 -
分析和解決問題的能力:
技術(shù)層面:深度 + 應(yīng)用能力 + 廣度。 對于校招或社招 P6 級(jí)別以下,要多注重 深度 + 應(yīng)用能力,廣度是加分項(xiàng); 在 P6 之上,可增加 廣度。 -
校招:
基礎(chǔ)扎實(shí),思維敏捷。 主要考察內(nèi)容:基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)與算法、進(jìn)程與并發(fā)、內(nèi)存管理、系統(tǒng)調(diào)用與IO機(jī)制、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)庫范式與設(shè)計(jì)、設(shè)計(jì)模式、設(shè)計(jì)原則、編程習(xí)慣; -
社招:
經(jīng)驗(yàn)豐富,里外兼修。 主要考察內(nèi)容:有一定深度的基礎(chǔ)技術(shù)機(jī)制,比如 Java 內(nèi)存模型及內(nèi)存泄露、 JVM 機(jī)制、類加載機(jī)制、數(shù)據(jù)庫索引及查詢優(yōu)化、緩存、消息中間件、項(xiàng)目、架構(gòu)設(shè)計(jì)、工程規(guī)范等。
面試內(nèi)容:
-
自我介紹: 覆蓋籍貫, 愛好, 個(gè)人經(jīng)歷, 掌握的技能;
可以借此判斷性格, 溝通表達(dá)能力, 是否有認(rèn)真準(zhǔn)備 - 項(xiàng)目陳述: 背景, 問題,解決方案,難點(diǎn),亮點(diǎn)
- 工程能力: redis, mq, 緩存,性能優(yōu)化, 設(shè)計(jì)能力,業(yè)界各問題類型的最新的一些組件,web安全漏洞攻防;開源項(xiàng)目的跟進(jìn)了解和參與;一些組件源碼的熟悉等,實(shí)際github上的項(xiàng)目分享
- 專業(yè)基礎(chǔ): 操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),網(wǎng)絡(luò)基礎(chǔ),算法基礎(chǔ),編碼語言基礎(chǔ);計(jì)算機(jī)相關(guān)專業(yè)書籍的閱讀
- 技能考察: 前端和后臺(tái)特有的技能知識(shí)點(diǎn)考察
- 筆試: 在系統(tǒng)里約了后,如果選擇方式面試,在操作界面里有推薦的筆試題入口
問題設(shè)計(jì)與面試過程
- 提前閱讀候選人簡歷,從簡歷中篩選出關(guān)鍵詞,根據(jù)這些關(guān)鍵詞進(jìn)行有針對性地問題設(shè)計(jì)。
- 比如候選人簡歷里提到 MVVM ,可以問 MVVM 與 MVC 的區(qū)別; 提到了觀察者模式,可以談?wù)動(dòng)^察者模式,順便問問他還熟悉哪些設(shè)計(jì)模式。
- 可遵循“優(yōu)勢-標(biāo)準(zhǔn)-隨機(jī)”原則:
- 首先,問他對哪方面技術(shù)感興趣、投入較多(優(yōu)勢部分),根據(jù)其優(yōu)勢部分,闡述原理及實(shí)戰(zhàn)應(yīng)用;
- 其次,問若干標(biāo)準(zhǔn)化的問題,看看他的原理理解、實(shí)戰(zhàn)應(yīng)用如何;
- 最后,隨機(jī)選一個(gè)問題,看看他的原理理解、實(shí)戰(zhàn)應(yīng)用如何;
- 對于項(xiàng)目同樣可以如此:
- 首先,問他最有成就感的項(xiàng)目,技術(shù)棧、模塊及關(guān)聯(lián)、技術(shù)選型、設(shè)計(jì)關(guān)鍵問題、解決方案、實(shí)現(xiàn)細(xì)節(jié)、改進(jìn)空間;
- 其次,問他有挫折感的項(xiàng)目,問題在哪里、做過什么努力、如何改進(jìn);
- 學(xué)會(huì)傾聽:多問少說,讓候選者多表現(xiàn)。根據(jù)候選者的回答適當(dāng)?shù)匾龑?dǎo)或遞進(jìn)或橫向移動(dòng)。引導(dǎo)候選人表現(xiàn)他最優(yōu)勢的一面,讓他或她感覺好一些:畢竟一場面試雙方都付出了時(shí)間和精力,不應(yīng)該是面試官 Diss 候選人的場合。
- 記錄重點(diǎn):認(rèn)真客觀地記錄候選人的回答,盡可能避免任何主觀評(píng)價(jià),亦不作任何加工(比如自己給總結(jié)一下,總結(jié)能力也是候選人的一個(gè)特質(zhì))。
- 作出判斷:面試過程是一種鋪墊,關(guān)鍵的是作出判斷。
- 作出判斷最容易陷入誤區(qū)的是:貪深求全。總希望候選人技術(shù)又深入又全面。實(shí)際上,這是一種奢望。如果候選人的技術(shù)能力又深入又全面,很可能也會(huì)面臨兩種情況:1. 候選人有更好的選擇; 2. 候選人在其它方面可能存在不足,比如團(tuán)隊(duì)協(xié)作方面。
- 一個(gè)比較合適的尺度是:1. 他或她的技術(shù)水平能否勝任當(dāng)前工作; 2. 他或她的技術(shù)水平與同組團(tuán)隊(duì)成員水平如何; 3. 他或她的技術(shù)水平是否與年限相對匹配,是否有潛力勝任更復(fù)雜的任務(wù)。
- 不同年齡看重的東西不一樣
- 對于三年以下的工程師,應(yīng)當(dāng)更看重其技術(shù)基礎(chǔ),因?yàn)檫@代表著他的未來潛能;同時(shí)也考察下他在實(shí)際開發(fā)中的體現(xiàn),比如團(tuán)隊(duì)協(xié)作、業(yè)務(wù)經(jīng)驗(yàn)、抗壓能力、主動(dòng)學(xué)習(xí)的熱情和能力等。
- 對于三年以上的工程師,應(yīng)當(dāng)更看重其業(yè)務(wù)經(jīng)驗(yàn)、解決問題能力,看看他或她是如何分析具體問題,在業(yè)務(wù)范疇內(nèi)考察其技術(shù)基礎(chǔ)的深度和廣度。
高效考察
- 考察內(nèi)存管理及算法、數(shù)據(jù)庫索引、緩存、并發(fā)、系統(tǒng)設(shè)計(jì)、問題分析和思考能力等子主題。
- 如果候選人答不上,可以問:如果你來設(shè)計(jì)這樣一個(gè) XXX, 你會(huì)怎么做?
- 時(shí)間占比大概為 : 技術(shù)基礎(chǔ)(25-30分鐘) + 項(xiàng)目(20-25分鐘) + 候選人提問(5-10 分鐘)
3、面試內(nèi)容(八股 & 基礎(chǔ)知識(shí))
考察思路
- 為什么不能單考察業(yè)務(wù)維度?
因?yàn)闃I(yè)務(wù)方面通常比較熟悉,可能就直接按照現(xiàn)有方案說出來了,很難考察到候選人的深入理解、橫向拓展和歸納總結(jié)能力。
這一點(diǎn),建議有針對性地考察下候選人的歸納總結(jié)能力:比如, 微服務(wù)搭建或開發(fā)或維護(hù)/保證系統(tǒng)穩(wěn)定性或性能方面的過程中,你收獲了哪些可以分享的經(jīng)驗(yàn)? - 為什么要考察業(yè)務(wù)維度?
技術(shù)基礎(chǔ)考察,容易錯(cuò)過的地方是,候選人的非技術(shù)能力特質(zhì),比如溝通組織能力、帶項(xiàng)目能力、抗壓能力、解決實(shí)際問題的能力、團(tuán)隊(duì)影響力、其它性格特質(zhì)等。
考察方法:
-
是什么-為什么
是什么考察對概念的基本理解,為什么考察對概念的實(shí)現(xiàn)原理。
比如 索引是什么? 索引是如何實(shí)現(xiàn)的? -
引導(dǎo)-橫向發(fā)問-深入發(fā)問
引導(dǎo)性,比如 “你對 java 同步工具熟悉嗎?” 作個(gè)試探,得到肯定答復(fù)后,可以進(jìn)一步問: “你熟悉哪些同步工具類?” 了解候選者的廣度;
獲取候選者的回答后,可以進(jìn)一步問:“ 談?wù)?ConcurrentHashMap 或 AQS 的實(shí)現(xiàn)原理?”
一個(gè)人在多大程度上把技術(shù)原理能講得清晰,包括思路和細(xì)節(jié),說明他對技術(shù)的掌握能力有多強(qiáng)。 -
深度有梯度和層次的發(fā)問
設(shè)置三個(gè)深度層次的發(fā)問。每個(gè)深度層次可以對應(yīng)到某個(gè)技術(shù)深度。
第一個(gè)發(fā)問是基本概念層次,考察候選人對概念的理解能力和深度;
第二個(gè)發(fā)問是原理機(jī)制層次,考察候選人對概念的內(nèi)涵和外延的理解深度;
第三個(gè)發(fā)問是應(yīng)用層次,考察候選人的應(yīng)用能力和思維敏捷程度。 -
跳躍式/交叉式發(fā)問
比如,講到哈希高效查找,可以談?wù)劰R恢滦运惴?。 兩者既有關(guān)聯(lián)又有很多不同點(diǎn)。也是一種技術(shù)廣度的考察方法。 -
總結(jié)性發(fā)問
比如,你在做 XXX 中,獲得了哪些可以分享的經(jīng)驗(yàn)? 考察候選人的歸納總結(jié)能力。 -
實(shí)戰(zhàn)與理論結(jié)合
比如,候選人敘述 JVM 內(nèi)存模型布局之后,可以接著問:有哪些原因可能會(huì)導(dǎo)致 OOM , 有哪些預(yù)防措施? 你是否遇到過內(nèi)存泄露的問題? 如何排查和解決這類問題?
比如,候選人有談到 SQL 優(yōu)化和索引優(yōu)化,那就正好談?wù)勊饕膶?shí)現(xiàn)原理,如何建立最佳索引?
比如,候選人有談到事務(wù),那就正好談?wù)勈聞?wù)實(shí)現(xiàn)原理,隔離級(jí)別,快照實(shí)現(xiàn)等; -
熟悉與不熟悉結(jié)合
針對候選人簡歷上寫的熟悉的部分,和沒有寫出的都問下。比如候選人簡歷上寫著:熟悉 JVM 內(nèi)存模型, 那我就考察下內(nèi)存管理相關(guān)(熟悉部分),再考察下 Java 并發(fā)工具類(不確定是否熟悉部分)。 -
死知識(shí)與活知識(shí)結(jié)合
比如,查找算法有哪些?順序查找、二分查找、哈希查找。這些大家通常能說出來,也是“死知識(shí)”。
這些查找算法各適用于什么場景?在你工作中,有哪些場景用到了哪些查找算法?為什么? 這些是“活知識(shí)”。 -
學(xué)習(xí)或工作中遇到的
有時(shí),在學(xué)習(xí)和工作中遇到的問題,也可以作為面試題。
比如,最近在學(xué)習(xí)《操作系統(tǒng)導(dǎo)論》并發(fā)部分,有一章節(jié)是如何使數(shù)據(jù)結(jié)構(gòu)成為線程安全的。這里就有一些可以提問的地方:如何實(shí)現(xiàn)一個(gè)鎖?如何實(shí)現(xiàn)一個(gè)線程安全的計(jì)數(shù)器?如何實(shí)現(xiàn)一個(gè)線程安全的鏈表?如何實(shí)現(xiàn)一個(gè)線程安全的 Map ?如何提升并發(fā)的性能?
工作中遇到的問題,也可以抽象提煉出來,作為技術(shù)基礎(chǔ)面試題。
考察中的注意點(diǎn):
-
技術(shù)棧適配度發(fā)問
如果候選人(簡歷上所寫的)使用的某些技術(shù)與本公司的技術(shù)棧比較契合,則可以針對這些技術(shù)點(diǎn)進(jìn)行深入提問,考察候選人在這些技術(shù)點(diǎn)的掌握程度。如果掌握程度比較好,則技術(shù)適配度相對更高一些。
當(dāng)然,這一點(diǎn)并不能作為篩掉那些沒有使用該技術(shù)棧的候選人的依據(jù)。比如本公司使用 Mongodb 和 MySQL, 而一個(gè)候選人沒有用過 Mongodb, 但使用過 MySQL, Redis, ES, HBase 等多種存儲(chǔ)系統(tǒng),那么適配度并不比僅使用過 MySQL 和 Mongodb 的候選人遜色,因?yàn)樗婕暗募夹g(shù)廣度更大,可以推斷出他有足夠能力掌握 Mongodb。 -
應(yīng)對背題式面試
首先,背題式面試,說明候選人至少是有做準(zhǔn)備的。當(dāng)然,對于招聘的一方來說,更希望找到有能力而不是僅記憶了知識(shí)的候選人。
應(yīng)對背題式面試,可以通過 “引導(dǎo)-橫向發(fā)問-深入發(fā)問” 的方式,先對候選人關(guān)于某個(gè)知識(shí)點(diǎn)的深度和廣度做一個(gè)了解,然后出一道實(shí)際應(yīng)用題來考察他是否能靈活使用知識(shí)。
比如 Java 線程同步機(jī)制,可以出一道題:線程 A 執(zhí)行了一段代碼,然后創(chuàng)建了一個(gè)異步任務(wù)在線程 B 中執(zhí)行,線程 A 需要等待線程 B 執(zhí)行完成后才能繼續(xù)執(zhí)行,請問怎么實(shí)現(xiàn)?
”理論 + 應(yīng)用題“的模式。敵知我之變,而不知我變之形。變之形,不計(jì)其數(shù)。 -
實(shí)用不生僻
考察工作中頻繁用到的知識(shí)、技能和能力,不考察冷僻的知識(shí)。
比如我偏向考察數(shù)據(jù)結(jié)構(gòu)與算法、并發(fā)、設(shè)計(jì) 這三類。因?yàn)?strong>這三類非?;A(chǔ)非常核心。 -
綜合串聯(lián)式發(fā)問
知識(shí)之間總是相互聯(lián)系著的,不要單獨(dú)考察一個(gè)知識(shí)點(diǎn)。
設(shè)計(jì)一個(gè)初始問題,比如說查找算法,然后從這個(gè)初始問題出發(fā),串聯(lián)起各個(gè)知識(shí)點(diǎn)。比如:在每一個(gè)技術(shù)點(diǎn)上,都可以應(yīng)用以上發(fā)問技巧,導(dǎo)向不同的問題分支。同時(shí)考察面試者的深度、廣度和應(yīng)用能力。
4、面試內(nèi)容(項(xiàng)目 & 解決問題)
一般面試的開頭,都是讓候選人自我介紹,還是介紹最近所做的項(xiàng)目。
考察方向:
- 這個(gè)環(huán)節(jié)可以考察兩點(diǎn):
1、溝通表達(dá)能力,候選人能否清晰、準(zhǔn)確、簡練的介紹自己和項(xiàng)目。
2、業(yè)務(wù)理解能力,候選人能否用簡短的幾句話,介紹項(xiàng)目的實(shí)現(xiàn)架構(gòu)、業(yè)務(wù)模型、以及所使用的技術(shù)棧。 - 遇到過不少候選人,簡歷上寫的一堆項(xiàng)目,大部分都是參與開發(fā),深入問一些細(xì)節(jié)問題,就開始支支吾吾,把鍋甩到隊(duì)友身上:這塊功能是xxx開發(fā)的,具體細(xì)節(jié)我沒去了解過。
考察目標(biāo):
- 項(xiàng)目經(jīng)歷考察不宜超過兩個(gè)。因?yàn)橐钊肟疾煲粋€(gè)項(xiàng)目的詳情,所占用的時(shí)間還是比較大的。
- 一般來說,會(huì)讓候選人挑選一個(gè)他或她覺得最有收獲的/最有挑戰(zhàn)的/印象最深刻的/自己覺得特有意思/感受到挫折的項(xiàng)目。然后圍繞這個(gè)項(xiàng)目進(jìn)行發(fā)問。
- 通常是從項(xiàng)目背景出發(fā),考察項(xiàng)目的技術(shù)棧、項(xiàng)目模塊及交互的整體理解、項(xiàng)目中遇到的有挑戰(zhàn)性的技術(shù)問題及解決方案、排查和解決問題、代碼可維護(hù)性問題、工程質(zhì)量保障、重來一遍可以改進(jìn)哪些等。
實(shí)習(xí)與項(xiàng)目經(jīng)歷描述(簡歷)
- 參與XXX技術(shù)方案制定與評(píng)審,完成后端接口設(shè)計(jì)與編寫,通過聯(lián)調(diào)測試并上線供各部門使用;
編寫XXX腳本與XXX查詢接口,完成XXX前XXX資源查詢;
使用Gin+Gorm+PostgreSQL與N8N工作流構(gòu)建后端服務(wù),使用XXX關(guān)聯(lián)工單id解XXX問題。 - 使用XXX+XXX作為基本框架,分層編寫RESTful APl(controller、service、dao)
使用Dokcer技術(shù)打包并完成API部署,編寫Shell腳本保障容器正常運(yùn)行。
解決問題能力考察
-
僅僅只是技術(shù)基礎(chǔ)還不夠,通常最好結(jié)合實(shí)際業(yè)務(wù),針對他項(xiàng)目里的業(yè)務(wù),抽象出技術(shù)問題進(jìn)行考察。
-
解決思路重在層層遞進(jìn)。這一點(diǎn)對于面試官的要求也比較高,兼具良好的傾聽能力、技術(shù)深度和業(yè)務(wù)經(jīng)驗(yàn)。首先要仔細(xì)傾聽候選人的闡述,找到適當(dāng)?shù)募夹g(shù)切入點(diǎn),然后進(jìn)行發(fā)問。如果進(jìn)不去,那就容易考察失敗。
-
常見問題:
性能方面,qps, tps 多少?采用了什么優(yōu)化措施,達(dá)成了什么效果?
如果有大數(shù)據(jù)量,如何處理?如何保證穩(wěn)定性?
你覺得這個(gè)功能/模塊/系統(tǒng)的關(guān)鍵點(diǎn)在哪里?有什么解決方案?
為什么使用 XXX 而不是 YYY ?
長字段如何做索引?
還有哪些方案或思路?各自的利弊?
第三方對接,如何應(yīng)對外部接口的不穩(wěn)定性?
第三方對接,對接大量外部系統(tǒng),代碼可維護(hù)性?
資損場景?嚴(yán)重故障場景?
線上出現(xiàn)了 CPU 飆高,如何處理? OOM 如何處理? IO 讀寫尖刺,如何排查?
線上運(yùn)行過程中,出現(xiàn)過哪些問題?如何解決的?
多個(gè)子系統(tǒng)之間的數(shù)據(jù)一致性問題?
如果需要新增一個(gè) XXX 需求,如何擴(kuò)展?
重來一遍,你覺得可以在哪些方面改進(jìn)? -
系統(tǒng)可問的關(guān)聯(lián)問題:
絕大多數(shù)系統(tǒng)都有性能相關(guān)問題。如果沒有性能問題,則說明是小系統(tǒng),小系統(tǒng)就不值得考察了;
中大型系統(tǒng)通常有技術(shù)選型問題;
絕大多數(shù)系統(tǒng)都有改進(jìn)空間;
大多數(shù)業(yè)務(wù)系統(tǒng)都涉及可擴(kuò)展性問題和可維護(hù)性問題;
大多數(shù)重要業(yè)務(wù)系統(tǒng)都經(jīng)歷過比較慘重的線上教訓(xùn);
大數(shù)據(jù)量系統(tǒng)必定有穩(wěn)定性問題;
消費(fèi)系統(tǒng)必定有時(shí)延和堆積問題;
第三方系統(tǒng)對接必定涉及可靠性問題;
分布式系統(tǒng)必定涉及可用性問題;
多個(gè)子系統(tǒng)協(xié)同必定涉及數(shù)據(jù)一致性問題;
交易系統(tǒng)有資損和故障場景;
設(shè)計(jì)問題
- 比如多個(gè)機(jī)器間共享大量業(yè)務(wù)對象,這些業(yè)務(wù)對象之間有些聯(lián)合字段是重復(fù)的,如何去重? 如果字段比較長,怎么處理?
- 如果瞬時(shí)有大量請求涌入,如何保證服務(wù)器的穩(wěn)定性?
- 組件級(jí)別:設(shè)計(jì)一個(gè)本地緩存? 設(shè)計(jì)一個(gè)分布式緩存?
- 模塊級(jí)別:設(shè)計(jì)一個(gè)任務(wù)調(diào)度模塊?需要考慮什么因素?
- 系統(tǒng)級(jí)別:設(shè)計(jì)一個(gè)內(nèi)部系統(tǒng),從各個(gè)部門獲取銷售數(shù)據(jù)然后統(tǒng)計(jì)出報(bào)表。復(fù)雜性體現(xiàn)在哪里?關(guān)鍵質(zhì)量屬性是哪些?模塊劃分,模塊之間的關(guān)聯(lián)關(guān)系?技術(shù)選型?
5、面試內(nèi)容(后端)
21屆
先筆試:考察能不能做出來,編碼習(xí)慣,調(diào)試技巧,異常處理意識(shí)等
再面試:
-
引入環(huán)節(jié):
- 個(gè)人介紹, 興趣愛好
- 是否有工作經(jīng)歷
- 哪里人, 工作地點(diǎn)&時(shí)間是否有問題
-
項(xiàng)目考察
-
工程能力考察:
-
redis及其應(yīng)用
-
消息隊(duì)列及其應(yīng)用
-
緩存更新策略
-
SOLID設(shè)計(jì)原則
-
web安全漏洞攻防
-
系統(tǒng)的性能優(yōu)化思路: 索引,緩存
-
哈希沖突解決, 一致性哈希算法等
-
? IO多路復(fù)用
-
? 數(shù)據(jù)庫容災(zāi),主從同步等
-
-
專業(yè)基礎(chǔ):
-
? 操作系統(tǒng)
-
? 計(jì)算機(jī)網(wǎng)絡(luò): https TCP狀態(tài)
-
? 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ): 紅黑樹,B+樹,
-
? 數(shù)據(jù)庫基礎(chǔ)
-
? 編碼語言基礎(chǔ)
-
-
其它:
-
? 平??吹姆钦n本的書籍
-
? 總結(jié)的習(xí)慣
-
? 對最新的一些技術(shù)熱點(diǎn)的了解,是否有好奇心
-
? 是否有閱讀一些組件或常見的開源項(xiàng)目的源碼
-
? 是否有問題要問面試官(不能評(píng)價(jià)面試表現(xiàn),統(tǒng)一答復(fù)需要綜合簡歷,筆試,面試情況再看或有規(guī)定不能回答)
-
-
網(wǎng)絡(luò)
-
數(shù)據(jù)庫:
-
mysql 默認(rèn)事務(wù)隔離級(jí)別 可重復(fù)讀
-
樂觀鎖,悲觀鎖的區(qū)別: 排他性, ABA
-
主從同步怎么實(shí)現(xiàn),MVCC
-
索引: 回表,非主鍵存儲(chǔ), B+樹, 葉子節(jié)點(diǎn)
-
哪些字段上建索引,頻繁,組合索引,性別不合適,過濾性,匹配東西很多,建立索引比較核心的考量點(diǎn)
-
-
數(shù)據(jù)結(jié)構(gòu):
- 哈希沖突那些解決辦法:拉鏈法,開放定址法
-
java:
-
AOP: 干嘛的,java的做面向切面的操作, 執(zhí)行特定的業(yè)務(wù)做一些切面,比如說某一個(gè)任務(wù),完成之后設(shè)定定時(shí)任務(wù),切面,加注解,操作完后執(zhí)行完某一個(gè)行為
-
雙親委派,加載類的時(shí)候,從上往下查,類的重復(fù)加載,核心的API不會(huì)被篡改
-
GC:需要解決哪些問題
-
不同的代上去做,對于哪個(gè)代去完成任務(wù),標(biāo)記復(fù)制
-
內(nèi)存的使用情況: 管理內(nèi)存,了解到新建的對象是否釋放, 哪些空間是空余的; 查,有的話,分配給他,沒有則, GCRooter去查,不可達(dá)的要清理掉,讓對象所在空間釋放回收
-
stop 的worker,暫停其它線程去做內(nèi)存的檢索和清理,釋放內(nèi)存需要查到用的是哪塊內(nèi)存空間
-
jvm內(nèi)存結(jié)構(gòu), java會(huì)有,線程私有會(huì)有程序計(jì)數(shù)器,
-
一個(gè)java文件編譯出多少個(gè)class文件,一一對應(yīng),內(nèi)部類
-
-
面向?qū)ο? 單一職責(zé),開閉原則,里氏替換原則,在用面向?qū)ο髸r(shí),子類只有能替換基類時(shí)才能使用這么一個(gè)基類
-
redis:
-
解決什么問題, 第三方服務(wù),緩存,存信息,分布式鎖
-
緩存: 惰性刪除,定期刪除,取一些key進(jìn)行刪除的操作,定期刪除加惰性刪除,內(nèi)存淘汰機(jī)制
-
緩存穿透,惡意請求, 怎么防: 布隆過濾器,判斷是否在這里面,沒有則不請求,查明確定沒有的,生成鍵值
-
redis: 為什么那么快,處理速度快,數(shù)據(jù)結(jié)構(gòu),內(nèi)存,單線程的處理
-
常用數(shù)據(jù)結(jié)構(gòu): string , hash, set, zset, list, zset的底層實(shí)現(xiàn) 跳躍表, 壓縮鏈表,跳躍表,查某一個(gè)正常查詢時(shí),挨個(gè)遍歷或通過索引進(jìn)行搜索,索引的方式
-
-
消息隊(duì)列: 生產(chǎn)者,消費(fèi)者模型,去做一個(gè)操作,比如說,
-
分布式事務(wù), 解耦,限流,削峰,流量控制
-
異步處理:rabbitmq, kafka< rocketmq
-
常見的web安全漏洞,中間人攻擊,https會(huì)有這樣的 SQL注入,xss
-
SQL注入怎么防, mybatis,只要用到了敏感信息不能讓,輸入一些字段替換,而是應(yīng)該通過字段,只處理數(shù)據(jù),不讓sql邏輯的一部分就可以避免
-
經(jīng)典一些的計(jì)算機(jī)書籍:
linux操作系統(tǒng), 并發(fā)編程,重構(gòu),講代碼的規(guī)范,設(shè)計(jì)模式,介紹滅一種設(shè)計(jì)模式的應(yīng)用場景,實(shí)現(xiàn)的場景
github上overflow, 書
-
寫文章的習(xí)慣, 常見的錯(cuò)誤會(huì)記錄,會(huì)記錄不用的, word文檔
-
docker 封裝, GPU, docker, java 等開源項(xiàng)目
-
開源組件的源碼, spring 的源碼, MVC, spring booter, 大概的調(diào)用情況, bin的生命周期, 網(wǎng)上,還是和google搜的會(huì)多一點(diǎn)
python后臺(tái)
- python GIL,性能優(yōu)化,multiprocess
- python裝飾器實(shí)現(xiàn)原理
- fun(args,**kwargs)中的args,**kwargs什么意思
- with語句的作用,原理,如何實(shí)現(xiàn)支持with語句的對象。ContextManager enter, exit
- python2和python3的區(qū)別
- python3的Type-Hints類型注解是什么
- python支持協(xié)程嗎?
- 異常處理:
- 有語法錯(cuò)誤的代碼能運(yùn)行嗎?會(huì)有異常嗎?什么異常?語法錯(cuò)誤能被try except 捕獲嗎?: 執(zhí)行時(shí)才會(huì)報(bào)錯(cuò),SyntaxError,可以被捕獲。
- 如何自定義異常?:集成Exception類
- 標(biāo)準(zhǔn)庫有哪些常見的異常?
- 包管理
什么是python package, 什么是python module
Python 解釋器是如何查找包和模塊的:sys.path, site-packages,PYTHONPATH…
有一個(gè)查詢指定用戶的訂單ID的http服務(wù)接口 http://a.b.c/querytrade
接受Post json格式數(shù)據(jù) {"username": "abc"}
返回格式為json: {"success": true, "message": "error message if failures.", "data": [11111, 22223, 33333,]}
請實(shí)現(xiàn)一個(gè)分裝實(shí)現(xiàn)一個(gè)函數(shù),通過該接口查詢返回對應(yīng)的的訂單列表,要注意函數(shù)的可靠性與健壯性。
考察點(diǎn): PEP-8風(fēng)格,異常處理,http請求處理,json
import requests
URL = "http://a.b.c/querytrade"
def get_user_trades(username, timeout=3):
data = {"username": username}
resp = requests.post(URL, json=data, timeout=timeout)
resp.raise_for_status()
try:
result = resp.json()
if result["success"]:
return result["data"]
else:
raise Exception(result["message"])
except ValueError as e: # if result not json format.
raise Exception("...")
寫一個(gè)程序,該程序接受控制臺(tái)輸入兩個(gè)數(shù)組,合并兩個(gè)數(shù)組,并進(jìn)行去重、排序
需考慮異常情況,例如輸入不是數(shù)字等
6、面試內(nèi)容(前端)
工程能力考察:
- git版本管理
- web安全漏洞攻防
- webpack等編譯
- 編碼規(guī)范(eslint)
- 本地開發(fā)調(diào)試、性能調(diào)優(yōu)
- 獨(dú)自搭建前后端一體化項(xiàng)目
專業(yè)基礎(chǔ):
-
js常見操作、es6新知識(shí)
-
異步編程的基礎(chǔ)概念
-
事件循環(huán)概念
-
操作系統(tǒng)
-
計(jì)算機(jī)網(wǎng)絡(luò): https TCP狀態(tài)
-
數(shù)據(jù)結(jié)構(gòu)基礎(chǔ): 紅黑樹,B+樹,
-
數(shù)據(jù)庫基礎(chǔ)
-
編碼語言基礎(chǔ)
-
數(shù)據(jù)庫:
-
mysql 默認(rèn)事務(wù)隔離級(jí)別 可重復(fù)讀
-
樂觀鎖,悲觀鎖的區(qū)別: 排他性, ABA
-
主從同步怎么實(shí)現(xiàn),MVCC
-
索引: 回表,非主鍵存儲(chǔ), B+樹, 葉子節(jié)點(diǎn)
-
哪些字段上建索引,頻繁,組合索引,性別不合適,過濾性,匹配東西很多,建立索引比較核心的考量點(diǎn)
-
-
常見的web安全漏洞,中間人攻擊,https會(huì)有這樣的 SQL注入,xss
- SQL注入怎么防, mybatis,只要用到了敏感信息不能讓,輸入一些字段替換,而是應(yīng)該通過字段,只處理數(shù)據(jù),不讓sql邏輯的一部分就可以避免
- 經(jīng)典一些的計(jì)算機(jī)書籍: linux操作系統(tǒng), 并發(fā)編程,重構(gòu),講代碼的規(guī)范,設(shè)計(jì)模式,介紹每一種設(shè)計(jì)模式的應(yīng)用場景,實(shí)現(xiàn)的場景
筆試題
-
請將數(shù)組[1, 2,1,…] 進(jìn)行去重,不少于兩種方法。
-
請寫出以下代碼的輸出;并說明為什么(常見題)
-
有一個(gè)學(xué)生id數(shù)組:[1,2,3,4], 請寫一個(gè)函數(shù)function getStudentInfo(studentIdArr),返回4個(gè)學(xué)生的額外信息。(1. 使用async await; 2.不允許出現(xiàn)Promise)
-
請分別提供兩個(gè)函數(shù),將下面的數(shù)組和樹形結(jié)構(gòu)相互轉(zhuǎn)換,
-
有個(gè)頁面url: 請分別使用原生js代碼獲取以下值
-
實(shí)現(xiàn)cookie的工具CookieTool,有三個(gè)方法
1)set(name, value, hours): 設(shè)置cookie的值, hours為多少小時(shí)后過期
2)get(name): 獲取cookie的值
3)remove(name): 刪除cookie的值 -
編寫一個(gè)函數(shù), 使得其被以下任一方式調(diào)用都可得到預(yù)期結(jié)果
1)sum(1, 2, 3) = sum(1)(2)(3);
2)sum(2, 3) = sum(2)(3)(); -
假設(shè)一個(gè)非空數(shù)組,找出出現(xiàn)次數(shù)最多的數(shù)字
-
寫一個(gè)3列的布局,第一列和第三列都是固定寬度200px,第二列自適應(yīng)鋪滿寬度
面試題:
-
Vue2.x 生命周期
系統(tǒng)自帶: beforeCreate created beforeMount mounted beforeUpdate updated beforeDestroy destroyed
一旦進(jìn)入到頁面或者組件,會(huì)執(zhí)行哪些生命周期,順序。 beforeCreate created beforeMount mounted -
父子組件的created和mounted的執(zhí)行順序。
執(zhí)行順序如下:父組件 created → 子組件 created → 子組件 mounted → 父組件 mounted -
如果有多個(gè)子組件:
- 父組件created鉤子結(jié)束后,依次執(zhí)行子組件的created鉤子
- 多個(gè)子組件的created執(zhí)行順序?yàn)楦附M件內(nèi)子組件DOM順序
- 多個(gè)子組件的mounted順序無法保證,跟子組件本身復(fù)雜程度有關(guān)
- 父組件一定在所有子組件結(jié)束mounted鉤子之后,才會(huì)進(jìn)入mounted鉤子
-
談?wù)勀銓eep-alive的了解
- 是什么 vue系統(tǒng)自帶的一個(gè)組件,功能:是來緩存組件的。===》提升性能
- 使用場景 就是來緩存組件,提升項(xiàng)目的性能。具體實(shí)現(xiàn)比如:首頁進(jìn)入到詳情頁,如果用戶在首頁每次點(diǎn)擊都是相同的,那么詳情頁就沒必要請求N次了,直接緩存起來就可以了,當(dāng)然如果點(diǎn)擊的不是同一個(gè),那么就直接請求。
-
v-if和v-show區(qū)別
- 展示形式不同 v-if是 創(chuàng)建一個(gè)dom節(jié)點(diǎn) v-show 是display:none 、 block
- 使用場景不同 初次加載v-if要比v-show好,頁面不會(huì)做加載盒子 頻繁切換v-show要比v-if好,創(chuàng)建和刪除的開銷太大了,顯示和隱藏開銷較小
-
v-if和v-for優(yōu)先級(jí):v-for的優(yōu)先級(jí)要比v-if高
-
ref是什么?來獲取dom的
-
nextTick是什么?獲取更新后的dom內(nèi)容
-
scoped原理:
- 作用:讓樣式在本組件中生效,不影響其他組件。 2. 原理:給節(jié)點(diǎn)新增自定義屬性,然后css根據(jù)屬性選擇器添加樣式。
-
Vue中如何做樣式穿透
-
Vue組件傳值
-
computed、methods、watch有什么區(qū)別?
- computed vs methods區(qū)別 computed是有緩存的 methods沒有緩存
- computed vs watch區(qū)別 watch是監(jiān)聽,數(shù)據(jù)或者路由發(fā)生了改變才可以響應(yīng)(執(zhí)行) computed計(jì)算某一個(gè)屬性的改變,如果某一個(gè)值改變了,計(jì)算屬性會(huì)監(jiān)聽到進(jìn)行返回 watch是當(dāng)前監(jiān)聽到數(shù)據(jù)改變了,才會(huì)執(zhí)行內(nèi)部代碼
-
props和data優(yōu)先級(jí)誰高?
props ===> methods ===> data ===> computed ===>watch
-
面試題:Vuex有哪些屬性?
state、getters、mutations、actions、modules state 類似于組件中data,存放數(shù)據(jù) getters 類型于組件中computed mutations 類似于組件中methods actions 提交mutations的 modules 把以上4個(gè)屬性再細(xì)分,讓倉庫更好管理 -
Vuex是單向數(shù)據(jù)流還是雙向數(shù)據(jù)流?
Vuex是單向數(shù)據(jù)流 -
Vuex中的mutaitons和actions區(qū)別
mutaitons : 都是同步事物 actions : 可以包含任意異步操作 ***在調(diào)試中就看出來 -
Vuex如何做持久化存儲(chǔ)
Vuex本身不是持久化存儲(chǔ) 1. 使用localStorage自己寫 2. 使用vuex-persist插件 -
Vue設(shè)置代理
module.exports = { publicPath:'./', devServer: { proxy: 'http://localhost:3000' } }
-
Vue項(xiàng)目打包上線
- 自測==>修改路由模式 2. 代理不生效,使用ENV 3. 修改路徑
-
Vue路由模式
路由模式有倆種:history、hash
區(qū)別: 1. 表現(xiàn)形態(tài)不同 history:/about hash:/#/about 2. 跳轉(zhuǎn)請求 history : /id ===>發(fā)送請求 hash : 不會(huì)發(fā)送請求 3. 打包后前端自測要使用hash,如果使用history會(huì)出現(xiàn)空白頁 -
介紹一下SPA以及SPA有什么缺點(diǎn)
SPA是什么?單頁面應(yīng)用 缺點(diǎn): 1. SEO優(yōu)化不好 2. 性能不是特別好 -
Vue路徑傳值
- 顯式
http://localhost:8080/about?a=1 1.1 傳:this.$router.push({ path:'/about', query:{ a:1 } }) 1.2 接:this.$route.query.a
- 隱式
http://localhost:8080/about 2.1 傳:this.$router.push({ name:'About', params:{ a:1 } }) 2.2 接:this.$route.params.a
- 顯式
-
路由導(dǎo)航守衛(wèi)有哪些
全局、路由獨(dú)享、組件內(nèi) 1. 全局 beforeEach、beforeResolve、afterEach 2. 路由獨(dú)享 beforeEnter 3. 組件內(nèi) beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave 使用場景:判斷是否登錄,如果登錄就next否則就跳轉(zhuǎn)到登錄
更多面試題:
1.js語言:
問題 | 答案 | 考察點(diǎn) |
---|---|---|
構(gòu)造函數(shù)和原型鏈 | 1 | 考察原型到原型鏈 |
es6相對es5, 有哪些變化,你工作中常用的有哪些? | 考察js的基礎(chǔ)掌握情況 | |
generator是什么? 為什么它可以實(shí)現(xiàn)同步寫代碼的能力? | 考察js的深度 | |
Promise是用來解決什么問題?前端瀏覽器api中,有哪些返回的是Promise實(shí)例? | 考察Promise的原理和掌握程度; | |
你喜歡用ts嗎?為什么 | 對新東西的擁抱度 | |
前端頁面加載優(yōu)化 | 1.接口個(gè)數(shù)設(shè)計(jì) 2.并發(fā) |
2.頁面前端:
問題 | 答案 | 考察點(diǎn) |
---|---|---|
跨域請求解決方案有哪幾個(gè)?現(xiàn)在最常用的是什么? | 考察對瀏覽器同源策略的掌握 | |
前端發(fā)起ajax請求,常用的有**“瀏覽器原生api fetch"和"業(yè)界封裝的axios”,**優(yōu)劣點(diǎn)是什么 | 考察ajax的掌握水平 | |
前端單頁面路由實(shí)現(xiàn)有hash和history?各自是怎么實(shí)現(xiàn)的,各有什么優(yōu)缺點(diǎn) | 考察是否只是依賴框架,是否能獨(dú)立解決路由帶來的個(gè)性化難題 | |
兩個(gè)按鈕,點(diǎn)擊后,請求圖片并展示,如何解決網(wǎng)絡(luò)請求延遲不確定性,導(dǎo)致第一個(gè)請求晚于第二個(gè)請求時(shí),展示圖片錯(cuò)誤 | 綜合設(shè)計(jì)、編碼 | |
cookie、localStorage和sessionStorage 三者之間的區(qū)別以及存儲(chǔ)、獲取、刪除等使用方式 | 1 | 前端本地存儲(chǔ)方式知識(shí)點(diǎn)的掌握 |
3.后端nodejs
問題 | 答案 | 考察點(diǎn) |
---|---|---|
nodejs是i/o密集型的,還是cpu密集型的?nodejs如何處理高并發(fā)? | 對nodejs使用的姿勢 | |
nodejs是單進(jìn)程還是多進(jìn)程?是單線程還是多線程? | 屬于nodejs經(jīng)典干擾問題,答什么都是錯(cuò)的。nodejs即是單進(jìn)程,也是多進(jìn)程;即是單線程,也是多線程;關(guān)鍵看面試者從什么角度去看待并解答這個(gè)問題。 | |
async和await的原理 | ||
nodejs有哪些經(jīng)典的“反面樣例”,會(huì)導(dǎo)致服務(wù)性能變差? | 考察實(shí)際編碼能力,以及對服務(wù)的調(diào)優(yōu)能力 |
4.vue和框架等文章來源:http://www.zghlxwxcb.cn/news/detail-825532.html
問題 | 答案 | 考察點(diǎn) |
---|---|---|
vue和react的區(qū)別?以及二者通傳統(tǒng)前端框架/庫的區(qū)別 | 是否只是無腦使用框架 | |
vuex中,actions, mutations, modules的作用分別是什么 | 對vue框架的掌握和大型項(xiàng)目的操控 | |
雙向綁定和單向數(shù)據(jù)流的區(qū)別,以及現(xiàn)有哪些框架采用了哪種方式?vue里面有雙向綁定的例子嗎? | ||
父created,父mounted,子created,子mounted 執(zhí)行順序是怎么樣的 | 生命周期了解程度 | |
webpack是怎么工作的 | ||
koa框架相對express,有什么優(yōu)勢 | ||
項(xiàng)目要重構(gòu),你是怎么選擇技術(shù)方案的? | 做項(xiàng)目的套路 |
參考資料:1+,2,3,4,5, 6,7,8文章來源地址http://www.zghlxwxcb.cn/news/detail-825532.html
到了這里,關(guān)于【面試】互聯(lián)網(wǎng)軟件研發(fā)崗位,面試內(nèi)容準(zhǔn)備方向(技術(shù)面試考察點(diǎn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!