騰訊面試篇(三)——終章

WaterMan發表於2018-12-24

馬上就聖誕節了,提前祝大家?快樂!!在這一篇中,筆者將向大家分享筆者騰訊第五面現場面和第六面技術經理面,讓大家過一個愉快的聖誕節!

由於這是這序列的最後一篇,所以這裡也放出之前文章的連結,未看過的夥伴,可以先去之前的文章查閱!

騰訊面試篇(一)

騰訊面試篇(二)

隨便聊一下

昨天分享第二篇,發現有很多夥伴在評論區要答案,這裡申明一下,筆者只會對部分題目提供答案,有一些開放性問題筆者不會提供答案,避免限制了大家的思維,在這裡說一聲抱歉。

騰訊面試篇(三)——終章

前言

在這第五面(現場面)的時候,鵝廠大佬也針對性的問了一下我專案相關的問題背景,其他問題大部分都是資料結構和演算法以及安全相關的問題,以下為面試詳情!

背景備註一下:

筆者的專案經驗主要是一個基於微信環境的講座系統(設計功能文字、語音、圖片、表情的聊天系統)

1.你在做這個系統是如何確保訊息實時推送的?

Nodejs + websocket(socket.io)

2.訊息撤回功能是如何實現的?

3.websocket有時會出現掉線的問題,怎麼解決?

加入心跳機制,巴拉巴拉。

var heartCheck = {
    timeout: 60000,//60ms
    timeoutObj: null,
    serverTimeoutObj: null,
    reset: function(){
        clearTimeout(this.timeoutObj);
        clearTimeout(this.serverTimeoutObj);
        this.start();
    },
    start: function(){
        var self = this;
        this.timeoutObj = setTimeout(function(){
            ws.send("HeartBeat");
            self.serverTimeoutObj = setTimeout(function(){
                ws.close();//如果onclose會執行reconnect,我們執行ws.close()就行了.如果直接執行reconnect 會觸發onclose導致重連兩次
            }, self.timeout)
        }, this.timeout)
    },
}

ws.onopen = function () {
   heartCheck.start();
};
ws.onmessage = function (event) {
    heartCheck.reset();
}

ws.onclose = function () {
    reconnect();
};
ws.onerror = function () {
    reconnect();
};
複製程式碼

4.排序演算法使用過哪些?

盜個圖看看,?

騰訊面試篇(三)——終章

騰訊面試篇(三)——終章

5.描述一下歸併排序是怎麼實現的?

6.有咩有理解過react內部的diff演算法是怎麼樣的?如果讓你來設計你會怎麼設計。

7.你瞭解的安全性問題?(這裡不展開講,這裡問的挺多的)

xxs、csrf、SQL隱碼攻擊

。。。

第五面就這樣了,面試官出去了20分鐘,說你可以回去了,結果後續我們會通過電話告知!我跟面試官重申了一下,我是從廣州過來的,然後面試官說那你稍等一下,我去跟經理說一下。

。。。

過了大概15分鐘,經理過來了,他說技術方面我就不問了,我們聊聊天!! 經理主要跟我說了一下專案組目前的業務,主要使用的技術棧,還建議我多看看資料結構方面的書。還有問了一下對加班怎麼看!!

騰訊面試篇(三)——終章

就這樣漫長的鵝廠面試就這樣結束了,後面就是漫長的等待!大概過了20多天,收到了技術面通過的電話,不過還需要HR面,那時我已入職了新公司,所以就沒有然後了!

結語

happy christmas !

@Author: Even

相關文章