春招必備蛾洛!百度养铸、阿里、騰訊等最新面試400題T臁(含答案解析)

阿里钞螟、騰訊、百度等大廠面試都考核哪些技術(shù)點(diǎn)谎碍?

關(guān)于MySQL鳞滨、Redis面試官一般都會(huì)問什么?

為什么鹿晗發(fā)布戀情的時(shí)候蟆淀,微博系統(tǒng)會(huì)崩潰拯啦,如何解決?(阿里面試題)

本文匯總了阿里熔任、騰訊褒链、百度、美團(tuán)笋敞、頭條等大廠最新技術(shù)面試題目共計(jì)414題,專家出題人分析匯總以及答案也在逐步補(bǔ)全中荠瘪。目前該項(xiàng)目在GitHub上已摘得超18000個(gè)Star夯巷,內(nèi)容分為阿里篇、華為篇哀墓、百度篇趁餐、騰訊篇、美團(tuán)篇篮绰、頭條篇后雷、滴滴篇、京東篇、MySQL篇臀突、Redis篇勉抓、MongDB篇、ZooKeeper篇候学、Nginx篇藕筋、算法篇、內(nèi)存篇梳码、CPU篇隐圾、磁盤篇、網(wǎng)絡(luò)通信篇掰茶、安全篇暇藏、并發(fā)篇。不多說了濒蒋,來一起看看吧盐碱。(文末附有免費(fèi)領(lǐng)取方式

image

阿里篇(共計(jì)27題)

  • 1.1.1 如何實(shí)現(xiàn)一個(gè)高效的單向鏈表逆序輸出?

    出題人:阿里巴巴出題專家:昀龍/阿里云彈性人工智能負(fù)責(zé)人

    參考答案:下面是其中一種寫法啊胶,也可以有不同的寫法甸各,比如遞歸等。供參考焰坪。

typedef struct node{
    int           data;
    struct node*  next;
    node(int d):data(d), next(NULL){}
}node;

void reverse(node* head)
{
    if(NULL == head || NULL == head->next){
        return;
    }
    
    node* prev=NULL;
    node* pcur=head->next;
    node* next;
    
    while(pcur!=NULL){
        if(pcur->next==NULL){
            pcur->next=prev;
            break;
        }
        next=pcur->next;
        pcur->next=prev;
        prev=pcur;
        pcur=next;
    }
    
    head->next=pcur;
    node*tmp=head->next;
    while(tmp!=NULL){
        cout<<tmp->data<<"\t";
        tmp=tmp->next;
    }
}
  • 1.1.2 已知sqrt(2)約等于1.414趣倾,要求不用數(shù)學(xué)庫,求sqrt(2)精確到小數(shù)點(diǎn)后10位

  • 1.1.3 給定一個(gè)二叉搜索樹(BST)某饰,找到樹中第 K 小的節(jié)點(diǎn)

    出題人:阿里巴巴出題專家:文景/阿里云 CDN 資深技術(shù)專家

    參考答案:

    ** 考察點(diǎn)**

    1儒恋、基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的理解和編碼能力

    2、遞歸使用

    ** 示例**

       5
      / \
     3   6
    / \
   2   4
  /
 1

說明:保證輸入的 K 滿足 1<=K<=(節(jié)點(diǎn)數(shù)目)

樹相關(guān)的題目黔漂,第一眼就想到遞歸求解诫尽,左右子樹分別遍歷。聯(lián)想到二叉搜索樹的性質(zhì)炬守,root 大于左子樹牧嫉,小于右子樹,如果左子樹的節(jié)點(diǎn)數(shù)目等于 K-1减途,那么 root 就是結(jié)果酣藻,否則如果左子樹節(jié)點(diǎn)數(shù)目小于 K-1,那么結(jié)果必然在右子樹鳍置,否則就在左子樹辽剧。因此在搜索的時(shí)候同時(shí)返回節(jié)點(diǎn)數(shù)目,跟 K 做對(duì)比税产,就能得出結(jié)果了怕轿。

/**
 * Definition for a binary tree node.
 **/

public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int x) { val = x; }
}

class Solution {
    private class ResultType {
    
        boolean found;  // 是否找到
        
        int val;  // 節(jié)點(diǎn)數(shù)目
        ResultType(boolean found, int val) {
            this.found = found;
            this.val = val;
        }
    }

    public int kthSmallest(TreeNode root, int k) {
        return kthSmallestHelper(root, k).val;
    }

    private ResultType kthSmallestHelper(TreeNode root, int k) {
        if (root == null) {
            return new ResultType(false, 0);
        }

        ResultType left = kthSmallestHelper(root.left, k);

        // 左子樹找到偷崩,直接返回
        if (left.found) {
            return new ResultType(true, left.val);
        }

        // 左子樹的節(jié)點(diǎn)數(shù)目 = K-1,結(jié)果為 root 的值
        if (k - left.val == 1) {
            return new ResultType(true, root.val);
        }

        // 右子樹尋找
        ResultType right = kthSmallestHelper(root.right, k - left.val - 1);
        if (right.found) {
            return new ResultType(true, right.val);
        }

        // 沒找到撞羽,返回節(jié)點(diǎn)總數(shù)
        return new ResultType(false, left.val + 1 + right.val);
    }
}
  • 1.1.4 LRU緩存機(jī)制

    題目:LRU 緩存機(jī)制設(shè)計(jì)和實(shí)現(xiàn)一個(gè) LRU(最近最少使用)緩存數(shù)據(jù)結(jié)構(gòu)阐斜,使它應(yīng)該支持以下操作:get 和 put。get(key) - 如果 key 存在于緩存中放吩,則獲取 key 的 value(總是正數(shù))智听,否則返回 -1。put(key,value) - 如果 key 不存在渡紫,請(qǐng)?jiān)O(shè)置或插入 value到推。當(dāng)緩存達(dá)到其容量時(shí),它應(yīng)該在插入新項(xiàng)目之前使最近最少使用的項(xiàng)目作廢惕澎。

  • 1.1.5 關(guān)于epoll和select的區(qū)別莉测,以下哪些說法是正確的(多選)

    A. epoll 和 select 都是 I/O 多路復(fù)用的技術(shù),都可以實(shí)現(xiàn)同時(shí)監(jiān)聽多個(gè) I/O 事件的狀態(tài)唧喉。

    B. epoll 相比 select 效率更高捣卤,主要是基于其操作系統(tǒng)支持的I/O事件通知機(jī)制,而 select 是基于輪詢機(jī)制八孝。

    C. epoll 支持水平觸發(fā)和邊沿觸發(fā)兩種模式董朝。

    D. select 能并行支持 I/O 比較小,且無法修改干跛。

    出題人:阿里巴巴出題專家:寈峰/阿里技術(shù)專家

    參考答案:A子姜,B,C

    【延伸】那在高并發(fā)的訪問下楼入,epoll使用那一種觸發(fā)方式要高效些哥捕?當(dāng)使用邊緣觸發(fā)的時(shí)候要注意些什么東西?

  • 1.1.6 從innodb的索引結(jié)構(gòu)分析嘉熊,為什么索引的 key 長度不能太長

  • 1.1.7 MySQL的數(shù)據(jù)如何恢復(fù)到任意時(shí)間點(diǎn)遥赚?

  • ……

    華為篇(共計(jì)50題)

  • 2.1.0 static有什么用途?(請(qǐng)至少說明兩種)

  • 2.1.1 引用與指針有什么區(qū)別阐肤?

  • 2.1.2 描述實(shí)時(shí)系統(tǒng)的基本特性

  • ……

    百度篇(共計(jì)48題)

  • 3.1.0 在函數(shù)內(nèi)定義一個(gè)字符數(shù)組凫佛,用gets函數(shù)輸入字符串的時(shí)候,如果輸入越界孕惜,為什么程序會(huì)崩潰愧薛?

  • 3.1.1 C++中引用與指針的區(qū)別

  • 3.1.2 C/C++程序的內(nèi)存分區(qū)

  • ……

    騰訊篇(共計(jì)82題)

    Java基礎(chǔ)

  • 4.1.0 JAVA中的幾種基本數(shù)據(jù)類型是什么,各自占用多少字節(jié)诊赊。

  • 4.1.1 String類能被繼承嗎厚满,為什么府瞄。

  • 4.1.2 String碧磅,Stringbuffer碘箍,StringBuilder的區(qū)別。

  • 4.1.3 ArrayList和LinkedList有什么區(qū)別鲸郊。

    JVM

  • 4.4.2 什么情況下會(huì)發(fā)生棧內(nèi)存溢出丰榴。

  • 4.4.3 JVM的內(nèi)存結(jié)構(gòu),Eden和Survivor比例秆撮。

  • 4.4.4 JVM內(nèi)存為什么要分成新生代四濒,老年代,持久代职辨。新生代中為什么要分為Eden和Survivor盗蟆。

    開源框架

  • 4.5.5 簡單講講tomcat結(jié)構(gòu),以及其類加載器流程舒裤,線程模型等喳资。

  • 4.5.6 tomcat如何調(diào)優(yōu),涉及哪些參數(shù) 腾供。

  • 4.5.7 ……

    美團(tuán)篇(共計(jì)40題)

  • 5.1.0 java虛擬機(jī)內(nèi)存模型

  • 5.1.1 內(nèi)存溢出一般發(fā)生在哪個(gè)區(qū)仆邓?永久代會(huì)不會(huì)導(dǎo)致內(nèi)存溢出?

  • 5.1.2 動(dòng)態(tài)加載類的框架了解哪些伴鳖?

  • 5.1.3 ……

    頭條篇(共計(jì)37題)

  • 6.1.0 5個(gè)人去一個(gè)海島尋寶节值,最后一共找到了100枚金幣。他們約定了一個(gè)分配方案榜聂。

  • 6.1.1 給你一個(gè)有序整數(shù)數(shù)組搞疗,數(shù)組中的數(shù)可以是正數(shù)、負(fù)數(shù)峻汉、零贴汪,請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),這個(gè)函數(shù)返回一個(gè)整數(shù):返回這個(gè)數(shù)組所有數(shù)的平方值中有多少種不同的取值休吠。

  • 6.1.2 一個(gè)環(huán)有10個(gè)節(jié)點(diǎn)扳埂,編號(hào)0-9。從0點(diǎn)出發(fā)瘤礁,走N步又能回到0點(diǎn)阳懂,共有多少種走法?

  • 6.1.3 ……

    滴滴篇(共計(jì)12題)

  • 7.1.0 B+樹柜思、B-樹的區(qū)別?

  • 7.1.1 數(shù)據(jù)庫隔離級(jí)別岩调,幻讀和不可重復(fù)讀的區(qū)別?

  • 7.1.2 有hell, well, hello, world等字符串組赡盘,現(xiàn)在問能否拼接成helloworld号枕,代碼實(shí)現(xiàn)。

  • 7.1.3 ……

    京東篇(共計(jì)13題)

  • 8.1.0 一般sql注入怎么發(fā)現(xiàn)觸點(diǎn)的陨享,從源碼闡述sqlmap如何測試注入點(diǎn)的葱淳。

  • 8.1.1 masscan掃描端口時(shí)靠什么檢測钝腺,為什么這么快? 請(qǐng)?jiān)斒?

  • 8.1.2 你寫過哪些小工具,你為你使用過的工具做過什么修改.

  • 8.1.3 ……

    MySQL篇(共計(jì)9題)

  • 9.1.0 主鍵 超鍵 候選鍵 外鍵

  • 9.1.1 數(shù)據(jù)庫事務(wù)的四個(gè)特性及含義

  • 9.1.2 視圖的作用赞厕,視圖可以更改么艳狐?

  • 9.1.3 ……

    Redis篇(共計(jì)10題)

  • 10.1.0 使用Redis有哪些好處?

    參考答案:

    (1) 速度快皿桑,因?yàn)閿?shù)據(jù)存在內(nèi)存中毫目,類似于HashMap,HashMap的優(yōu)勢就是查找和操作的時(shí)間復(fù)雜度都是O(1)

    (2) 支持豐富數(shù)據(jù)類型诲侮,支持string镀虐,list,set沟绪,sorted set粉私,hash

    (3) 支持事務(wù),操作都是原子性近零,所謂的原子性就是對(duì)數(shù)據(jù)的更改要么全部執(zhí)行诺核,要么全部不執(zhí)行

    (4) 豐富的特性:可用于緩存,消息久信,按key設(shè)置過期時(shí)間窖杀,過期后將會(huì)自動(dòng)刪除

  • 10.1.1 redis相比memcached有哪些優(yōu)勢?

  • 10.1.2 redis常見性能問題和解決方案

  • 10.1.3 MySQL里有2000w數(shù)據(jù)裙士,redis中只存20w的數(shù)據(jù)入客,如何保證redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)

  • ……

    MongDB篇(共計(jì)47題)

  • 11.1.0 什么是MongoDB?

  • 11.1.1 MongoDB是由哪種語言寫的腿椎?

  • 11.1.2 MongoDB的優(yōu)勢有哪些桌硫?

  • 11.1.3 ……

    Zookeeper篇(共計(jì)19題)

  • 12.1.0 zookeeper是什么?

  • 12.1.1 zookeeper提供了什么啃炸?

  • 12.1.2 zookeeper文件系統(tǒng)

  • 12.1.3 ……

    Nginx篇(共計(jì)20題)

  • 13.1.0 請(qǐng)解釋一下什么是Nginx?

  • 13.1.1 請(qǐng)列舉Nginx的一些特性?

  • 13.1.2 請(qǐng)列舉Nginx和Apache 之間的不同點(diǎn)?

  • 13.1.3 ……


(以下內(nèi)容持續(xù)補(bǔ)全中……)

  • 算法篇

  • 內(nèi)存篇

  • cpu篇

  • 磁盤篇

  • 網(wǎng)絡(luò)通信篇

  • 安全篇

  • 并發(fā)篇

image

獲取Java資料铆隘、414道面試題目及答案解析私信我即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市南用,隨后出現(xiàn)的幾起案子膀钠,更是在濱河造成了極大的恐慌,老刑警劉巖裹虫,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肿嘲,死亡現(xiàn)場離奇詭異,居然都是意外死亡筑公,警方通過查閱死者的電腦和手機(jī)雳窟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匣屡,“玉大人封救,你說我怎么就攤上這事际长。” “怎么了兴泥?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長虾宇。 經(jīng)常有香客問我搓彻,道長,這世上最難降的妖魔是什么嘱朽? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任旭贬,我火速辦了婚禮,結(jié)果婚禮上搪泳,老公的妹妹穿的比我還像新娘稀轨。我一直安慰自己,他們只是感情好岸军,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布奋刽。 她就那樣靜靜地躺著,像睡著了一般艰赞。 火紅的嫁衣襯著肌膚如雪佣谐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天方妖,我揣著相機(jī)與錄音狭魂,去河邊找鬼。 笑死党觅,一個(gè)胖子當(dāng)著我的面吹牛雌澄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杯瞻,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼镐牺,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了魁莉?” 一聲冷哼從身側(cè)響起任柜,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沛厨,沒想到半個(gè)月后宙地,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逆皮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年宅粥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片电谣。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秽梅,死狀恐怖抹蚀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情企垦,我是刑警寧澤环壤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站钞诡,受9級(jí)特大地震影響郑现,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荧降,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一接箫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朵诫,春花似錦辛友、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脱盲,卻和暖如春九默,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宾毒。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工驼修, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诈铛。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓乙各,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幢竹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耳峦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 6.失戀 過了一天。我還是一個(gè)人作著內(nèi)心的掙扎焕毫,選擇寶姍蹲坷,哪來那么多錢?去做上門女婿,父母會(huì)同意嗎?這日邑飒,母親督促...
    華芳國閱讀 469評(píng)論 0 0
  • 前言:常言道“巧婦難做無米之炊”循签,無論是做科研、做研究疙咸、寫論文县匠、還是做項(xiàng)目都會(huì)遇到一些數(shù)據(jù)問題。數(shù)據(jù)可以說是GIS...
    花花妞閱讀 580評(píng)論 0 0
  • 總目錄:地址如下看總綱 http://www.reibang.com/p/929ca9e209e8[https:...
    鄙人_阿K閱讀 763評(píng)論 1 2
  • 二十一世紀(jì)舊體詩詞風(fēng)騷榜[http://www.reibang.com/c/da968ae2d498] 上榜絮語...
    張成昱閱讀 1,100評(píng)論 1 19
  • 久違的晴天,家長會(huì)乞旦。 家長大會(huì)開好到教室時(shí)贼穆,離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長分享經(jīng)驗(yàn)兰粉。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,523評(píng)論 16 22