1. 程式人生 > >2019騰訊wxg提前批面經(後臺開發錄用)

2019騰訊wxg提前批面經(後臺開發錄用)

批次:提前批

BG:wxg

崗位:後臺開發

學歷:雙985碩

時間:2018年8月

一、技術一面

首先是一小時時間做試卷,面試官開遠端桌面觀看,題目如下:

1.TCP建立連線的過程採用三次握手,已知第三次握手報文的傳送序列號為10,確認序列號為5,請問第二次握手報文的傳送序列號和確認序列號分別為?

答:傳送序列號:4,確認序列號:10。(面試官追問了原理)

2.給出三種不同程序間通訊的方式。

答:訊息佇列,socket通訊,共享記憶體,管道。(面試官追問了管道和匿名管道的區別)

3.廣州從7月1號開始實行外地車牌“開四停四”的汽車行駛限制,請實現一個演算法,可以根據過去若干天的行駛情況,準確判斷今天是否可以出行。

bool IsLegal(bool history[], int size) //history是一個儲存過去若干天(由size指定)的行駛情況,true表示有駛入管控範圍,false表示停駛或未進入管控範圍

返回值表示是否有存在違章情況。

bool IsLegal(bool history[], int size) {
    int count = 0;
    int blank = 0;
    int i = 0;
    while (!history[i] && i < size) {
        i++;
    }
    for (; i < size; i++) {
        if (history[i]) {
            count++;
        } else {
            blank++;
            if (blank == 4) {
                count = 0;
                blank = 0;
                while (!history[i] && i < size) {
                    i++;
                }
            } else {
                count++;
            }
        }
        if (count > 4) {
            return true;
        }
    }
    return false;
}

C++很久沒寫,編譯器過期了,沒有編譯。後來面試官追問了原理講解。

4.給定一個非負整數陣列,將它們排成一個儘可能大的數,例如,給定陣列[9, 81, 6, 35, 3, 30],那最後得到的最大數是981635330. 注意,由於最終結果可能是非常大的,所以返回結果使用string型別。

string LargestNumber(vector<int> & num);

public class Main2 {
    boolean compare(int a, int b) {
        String stra = a + "";
        String strb = b + "";
        int lena = stra.length();
        int lenb = strb.length();
        for (int i = 0; i < lena && i < lenb; i++) {
            if (stra.charAt(i) > strb.charAt(i)) {
                return true;
            } else if (stra.charAt(i) < strb.charAt(i)) {
                return false;
            }
        }
        int aa = Integer.parseInt(stra + strb);
        int bb = Integer.parseInt(strb + stra);
        if (aa > bb) {
            return true;
        } else {
            return false;
        }
    }

    String LargestNumber(int[] num) {
        for (int i = 0; i < num.length; i++) {
            for (int j = i + 1; j < num.length; j++) {
                if (!compare(num[i], num[j])) {
                    int tmp = num[i];
                    num[i] = num[j];
                    num[j] = tmp;
                }
            }
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < num.length; i++) {
            sb.append(num[i]);
        }
        return sb.toString();
    }
}

改用Java,試了幾個用例都過了。

5.給定兩個字串 s1 和 s2 ,從 s1 中刪除在 s2 中出現過的字元。

char * remove( char * s1, const char * s2 );

public class Main3 {
    String remove(String s1, String s2) {
        for (int i = 0; i < s2.length(); i++) {
            s1 = s1.replaceAll(s2.substring(i, i + 1), "");
        }
        return s1;
    }
}

大概中午寫到12點面試官去吃飯了,下午兩點半面試官打了電話問了兩個簡歷上的專案,大概半個多小時。

總體而言還是比較順利,面試官和我同樣是資訊保安專業,聊得也比較投機。

二、技術二面

二面本來通知用猿圈做網面,結果互相看不到對方,改用qq視訊。。。

1,首先問了一個專案,比較深入細節。

2,然後發了一道題目:格式化輸出一段字串,就是wireshark那種二進位制檢視器的形式,每行顯示16個字元,內容為16進位制行號+16進位制內容+字串內容。我用java寫的,剛開始寫的是十進位制(忘記16進位制轉換函數了。。。),面試官提醒後使用Integer.toHexString()轉換為16進位制(其實用printf格式化輸出是最簡單的)。

3,最後問了一個問題:如何實現一個高效的定時器?

答:實現可以使用觀察者模式,定時器作為被觀察者,每個觀察者可以向定時器註冊和解除註冊,註冊就是將觀察者物件新增到被觀察者維護的觀察者列表中。定時器輪詢觀察者列表,若定時已到,新建執行緒呼叫觀察者的回撥方法。觀察者列表可以直接使用連結串列儲存,若定時任務是海量的,可以使用堆等資料結構使其有序化(按定時任務週期長短),這樣在輪詢前面節點時後面的節點不會超時(其實這個我也沒太想明白,基本是瞎扯的)。

三、技術三面

1,聊專案,非常深入,每說一個技術點都會深入聊;

2,比賽經歷,作品,如何設計的,主要考慮哪些安全性要求,為什麼能獲獎?

3,口述了一個連結(面試官的發音真的有點補票準呀,聽了好幾次才聽清),合作程式設計那種網頁,30分鐘,三道題目:

(1)連結串列是否有環。這個用大不小步法即可;
(2)最長遞增子序列。比較簡單的動歸;
(3)30w個員工抽10w名幸運獎,rand()函式輸出0-65535。當時時間不多,沒想到多好的演算法,隨便寫了個上去。後來想了想,應該是分成8份,先隨機0-7選擇區域,再隨機0-37499選擇區域偏移。用rand函式實現兩個隨機函式即可,rand1返回0-7,實現中返回rand()%8即可,rand2返回0-37499,使用大於37499就重取策略。

四、HR面

hr是個小姐姐,非常神奇地聊了一個小時,不知道怎麼就聊了那麼久。。。大概問題整理一下:

1,自我介紹,你覺得自己有什麼缺點,這些缺點造成的最嚴重的後果是什麼?

2,家庭成員,家庭教育中父親和母親誰佔得比重較大?

3,本科和研究生成績如何?

4,聊一下本科的經歷,包括學習經歷和社團經歷。

5,研究生的研究方向,做過的專案簡單介紹一下。

6,城市選擇,為什麼選擇深圳,北京如何?

7,還面試了哪些公司,offer選擇問題。

8,過往病史?

9,本科為什麼選擇數學?研究生為什麼選擇資訊保安?就業為什麼選擇後臺開發?

10,有什麼要問的問題?

五、後記

拿到微信offer感覺運氣成分很大,本來自己就不會C++,只會java,每輪面試都當做最後一輪看待,但就這麼莫名其妙的一面一面走到了最後,感謝楊超越,感謝十四兒~~~叩拜!!

個人還是比較喜歡騰訊的面試風格的,基本從來沒有語言相關的問題,只問基礎、專案和擼程式碼,talk is 便宜, show me the 扣得!

相關推薦

2019wxg提前後臺開發錄用

批次:提前批 BG:wxg 崗位:後臺開發 學歷:雙985碩 時間:2018年8月 一、技術一面 首先是一小時時間做試卷,面試官開遠端桌面觀看,題目如下: 1.TCP建立連線的過程採用三次握手,已知第三次握手報文的傳送序列號為10,確認序列號為5,請問第二次握手

Java後臺開發校招準備資料彙總

寫在最前面: 今天在北郵人論壇上發現的一個非常好的經驗帖,因為現在北郵人沒有賬號無法檢視,所以轉載過來分享給準備校招的同學: 一、刷題 1.《劍指offer》---牛客 2.leetcode(個人覺得也是刷牛客上的這部分就夠了) 二、面經 3.我自己總結的一些面

2017秋招-技術崗--CDG-提前2輪技術電+1輪HR電

第一輪 Title Content 時間 2017-08-01 14:00~14:30 形式 電話面試 面試官 男 部門 CDG廣告部-推薦策略 語言 C++ 面試官很親切,其

2018秋招|百度,阿里,,網易(Java崗)

百度提前批(offer) 一面: 1. java相關經驗多久,計算機相關課程學過什麼 自我介紹,少用然後,想好再說。。。 2. java主要用什麼版本,java各版本差異 3. nio,哪些庫或者框架用到nio 4. 多執行緒用什麼框架,執行緒池原理 5. 建立執行緒開銷,

2018Android已拿offer

騰訊校招面試的基本套路是,自我介紹、專案、網路、演算法。其中專案會問的很深,要提前準備。 一面(1h) 自我介紹 問專案 Android優化做過沒有 ListView優化方法 如何統計ListView載入速度 Http包頭 Get

熱乎的資料分析實習生

早上九點半,五星級酒店房間裡一對一面試。面試官是個笑起來很好看的南方美女,我猜應該是搞推薦演算法的。開場是常規,自我介紹,介紹簡歷中的專案經歷。很失敗,被批用auc不好。常規題目:最有成就感的事,學習的動力,最喜歡的科目。瞎扯了一堆,被面試官制止,說時間有限。業務問題:有一個

機器學習一面

1 梯度下降,極大似然 2 防止過擬合的方法(正則化) 3 bagging,boosting,randomforest,gbdt概念 4 海量url中尋找某個url是否存在? 5 有使用者訪問url的日誌記錄,如何對url進行分類? 6 有使用者的基本資訊、行為等,如何對異常使用者進行檢測

2018實習——前端一面

騰訊的筆試做的不是很好,本來以為掛了。沒想到居然給我發了面試通知,居然還是當面面試。我也是既緊張又興奮的。昨天晚上準備了下面試的東西,今天早上九點多就去酒店了。面試官長的很nice,他先介紹了一下這次面試的流程,然後介紹了他的部門的概況和業務。然後都沒有讓我自我介紹就開始面試

實習前端工程師-一面

# 騰訊前端面經一面 [TOC] ## 寫在前面   博主現在讀大三,前端小白一隻,上一個隨筆發出了最近的美團一面的面試題與注意事項,這裡博主整理了一下騰訊二月二十九日的第一次面試題與解題思路,注意事項,希望對大家的面試有所幫助。 ## 面試題相關 ### 垂直居中問題 ***

java程式設計師|超詳細四面一總結,助你逆襲!

面經預告:阿里、網易、京東、多益網路。 面經不同的人問的問題很可能不同,不能押寶在這裡,不過幫助大家用來做模擬還是不錯的~以下按收到offer順序列出   多益網路-平臺研發 挺神奇的,流程上寫的就一面我還以為寫錯了,連hr面都沒有。。。 一面:8-17 自我介

雲申請免費ssl證書1年有效期

  SSL 證書就是遵守 SSL協議,由受信任的數字證書頒發機構CA,在驗證伺服器身份後頒發,具有伺服器身份驗證和資料傳輸加密功能的檔案。當前大多數的ssl證書是收費的,我所知道的只有騰訊雲可以申請到1年有效期的二級域名使用的ssl證書,下面是申請的流程,需要一個騰訊雲完成實

2018網易雷火前端實習面試已拿offer

總概 樓主是電子科技大學大三的學生,初投了一下網易雷火工作室的前端開發實習崗,一週內完成了三面,且在當天已經拿到offer。說一下面試的流程和題目。總體來說,網易會關注一些平時看書或者面經不太會想到的東西,面試官問的比較偏(脫離常規),常規問題,例如:閉包、繼承

2018百度測試開發已拿offer

一開始報的Android開發,但是後來電話通知我今年武漢沒有Android開發,要不要轉成移動測試。我就轉崗了。百度加起來一起有四面,第一面大概是評估面,第二天連續三面。 每一面的流程基本一致,主要是自我介紹,專案,測試相關,手寫程式碼。 評估面 自我介紹

2017年春招一面面試經歷及總結後臺開發方向

2017年騰訊春招一面面試經歷總結 繼4月3日筆試之後,因為筆試做得並不理想,博主並沒有進面試的想法,然而在4月11日中午的時候,博主收到了來自騰訊科技的簡訊,通知4月13日10:30到酒店面試。之前

使用雲主機搭建JAVA服務jdk+tomcat+mysql

閒來無事打算弄個騰訊雲玩玩,以下記錄下摸索的過程,其中參考了很多網上的方法,因為這裡查一點那裡查一點,我就不做轉載說明了,在此感謝那些部落格的博主。 1.購買騰訊雲主機,我用的是試用版的,選擇的作業系統是CentOS6.5 32位。 關於選擇哪個作業系統,我糾結了好久,查

網易考拉海購Java後臺開發實習-已拿offer

一面(23min) 自我介紹 專案中最自豪的部分 也沒什麼太自豪的,就是在移動端開發的時候不存在cookie和session,然後用redis存了一下驗證碼感覺還不錯。 講一講ArrayList和LinkedList ArrayList底層實現是陣列,並

java對接廣點通API介面上報行為資料

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io

我的實習Android開發,已拿阿里,華為,CVTE Offer

忙過了一段時間,終於有空坐下來寫一篇面經,記錄一下自己前面一段時間找實習的過程和經驗,希望對閱讀到這篇面經的你有所幫助。 先介紹一下我的基本情況: 學校專業:本人某普通211通訊工程專業本科生(非計算機科班出身)。 面試崗位:Android

美團一面

視訊面試,最後還寫程式碼了,所以時間比較久,1個小時12分鐘。    首先是自我介紹,bulabula.............。因為面試的時候說到了自己做的專案,然後就讓我介紹專案是幹嘛的,然後用到什麼技術,我自己負責的是登陸註冊,然後就說用到了shiro安全框架,然後大概

一份還熱乎的螞蟻金服已拿Offer!附答案!!

本文來自我的知識星球的球友投稿,他在最近的校招中拿到了螞蟻金服的實習生Offer,整體思路和麵試題目由作者——澤林提供,部分答案由