Скоро Рождество, заранее желаю всем счастливого 🎄! ! В этой статье автор поделится с вами пятым личным интервью автора и шестым личным интервью с техническим менеджером в Tencent, чтобы у всех было счастливое Рождество!
Так как это последняя статья в этой серии, здесь также опубликована ссылка на предыдущую статью.Для тех, кто не читал ее, вы можете перейти к предыдущей статье, чтобы ознакомиться с ней!
просто пообщаться
Вчера я поделился второй статьей и обнаружил, что многие партнеры просят ответы в области комментариев. Позвольте мне пояснить, что автор даст ответы только на некоторые вопросы. На некоторые открытые вопросы автор не будет давайте ответы, чтобы не ограничивать чье-либо мышление.
предисловие
В пятом интервью (интервью на месте) начальник гусиной фабрики также спросил меня об истории вопросов, связанных с моим проектом.Большинство других вопросов касаются структуры данных, алгоритмов и вопросов, связанных с безопасностью.Ниже приведено интервью подробности. !
Примечание к фону:
Проектный опыт автора в основном представляет собой систему лекций на основе среды WeChat (проектирование системы чата с функциями текста, голоса, изображений и выражений).
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. Вы когда-нибудь понимали, на что похож алгоритм сравнения внутри реакции? Если бы вы занимались дизайном, что бы вы спроектировали.
7. Разбираетесь ли вы в вопросах безопасности? (здесь об этом говорить не буду, тут много вопросов)
xss, csrf, SQL-инъекция
. . .
На этом пятая сторона закончилась. Интервьюер вышел на 20 минут и сказал, что вы можете вернуться. Мы сообщим вам по телефону позже! Я повторил интервьюеру, что я приехал из Гуанчжоу, а затем интервьюер сказал: подожди минутку, я поговорю с менеджером.
. . .
Минут через 15 подошел менеджер, сказал, что про технические моменты спрашивать не буду, давайте поболтаем! ! Менеджер в основном рассказал мне о текущих делах проектной команды, в основном используемом стеке технологий, а также предложил мне прочитать больше книг по структуре данных. Я также спросил, что вы думаете о сверхурочной работе! !
Вот так длинное интервью с гусиной фабрикой подошло к концу, и за ним осталось долгое ожидание! Примерно через 20 дней мне позвонили, чтобы пройти техническое собеседование, но мне все равно нужно было собеседование с HR, на тот момент я уже пришел в новую компанию, поэтому такого не было!
Эпилог
happy christmas !
@Author: Even