2020騰訊前端暑期實習一面經驗

面試基本信息

1.開始時間:3點(其實3點20)
2.時長: 2小時
3.工作地點: 深圳
4.實習崗位:web前端開發(pcg事業羣)
5.面試時間:3月18日
6.面試平臺:牛客網

面試官問題

一.計算機網絡

  1. 介紹下自己,順便詳細介紹下項目
    大概內容是:項目描述+項目負責模塊+項目亮點+項目中的定位

  2. url到頁面的過程
    DNS解析->TCP建立連接->發送http請求->緩存機制->服務器端處理->返回給客戶端->TCP中止連接

  3. Get與post請求區別
    傳參方式,作用,參數限制,post請求在某些遊覽器進行兩次tcp請求,get請求默認緩存等方面

  4. tcp與udp的區別
    從端口,頭部,面向連接,傳輸數據格式,應用等方面

二.操作系統

  1. 進程與線程的區別
    一個應用至少一個進程,一個進程至少一個線程,然後資源調度分配與併發方面

  2. 進程間的通訊
    管道、信號、信號量、套接字、消息隊列、共享內存

三.數據結構

  1. 棧和堆
    棧先進後出,然後從js的執行棧說了下應用。堆是對於二叉樹的,然後從堆排序方面說了下

  2. 二叉樹的遍歷
    先序,中序,後序,廣度優先搜索,然後分別介紹了下算法實現

  3. 排序算法
    快速排序,插入排序,堆排序,冒泡排序等,介紹了快排和冒泡排序,並介紹了時間複雜度

四 .JS

  1. es6新語法
    擴展運算符,箭頭函數,模板字符串,類,數組方法等,並講了下應用場景

  2. 面向對象的三大特徵
    多態,繼承,封裝,將一些如何實現

  3. New的整個過程
    先創建個新對象,並且與new後面對象的原型關聯,this指向new後面的對象,執行new後面對象的構造函數,並且獲取構造函數裏面添加的屬性,然後返回新對象。

  4. 面向對象編程的含義
    從封裝方法開始介紹,然後介紹了一些好處等

  5. 指針到引用
    指針是指向的是資源地址空間,引用是對一段內容的引用,利用了共享充電寶來解釋引用,共用同一份東西。

  6. 閉包是什麼
    一個函數使用另外個函數的變量,介紹閉包功能啥的

  7. var,let,const的區別
    從js解析開始到執行過程中的方面解釋的區別,然後const定義變量必須要賦值,簡單數據類型不可更改,引用對象可以改裏面的內容,只要不改變其引用即可。

  8. let,var,const可以定義一樣的數據類型嗎
    let與const不行,var可以

五.Vue

  1. 介紹下vue
    vue就是一個對象,然後從源碼開始解釋其機制,然後重點介紹了訂閱者/發佈者與mvvm,然後具體介紹了computed的源碼實現機制,來講述訂閱者/發佈者機制。

  2. 寫一個頁面,列表項爲items,每一項有添加、修改、刪除功能
    考察組件化與vue代碼能力

六.算法題

  1. 給定一串數字,尋找還有其中含有對稱的數字,就是迴文
    剛開始想到的是從頭到尾遍歷,然後想出通過二分查找的方式,向左向右查找,問了兩個算法的時間複雜度
  2. Nn的正方形,裏面放有nn個邊長爲1的正方形,有多少個正方形,有多少個長方形
    自己找規律,給出答案,並說出思路(長方形數量沒問),答案一個是1^2 + 2^2+…
    +n^2,長方形是C(2,n+1)*C(2,n+1)
  3. 實現數組的去重算法

綜述

全程還是非常友好的,不過可能選的部門是有點偏後端的,中途問我知道什麼後端框架,然後問了下會node.js中間件嗎,然後問了下會數據庫和linux方面知識嗎,當時直接說的只是瞭解,就沒細問,然後問了下在項目中擔任的角色,項目的優點,後面的規劃。第一面還是很順利的,大體都回答上了,不過二面有點慘,問了些dns服務器,然後數據庫構建,然後一些問題的解決辦法,都沒回答上來,算法題也沒寫出來,涼透了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章