主頁 > 後端開發 > 位元組跳動2020Java面經,你離高薪就只差一片面試題了

位元組跳動2020Java面經,你離高薪就只差一片面試題了

2020-10-22 22:55:16 後端開發

前言

經歷了慘痛的春招與秋招之后,也積攢了一些面經,希望能對大家有所幫助,由于字數限制需要答案的可以關注GZH【程式員空間】 免費領取完整版PDF

其他

  1. 什什么是冪等?什什么情況下需要考慮冪等?你怎么解決冪等的問題?

Java

  1. 多個執行緒同時讀寫,讀執行緒的數量量遠遠?大于寫執行緒,你認為應該如何解決
    并發的問題?你會選擇加什什么樣的鎖?

  2. JAVA的AQS是否了了解,它是?干嘛的?

  3. 除了了synchronized關鍵字之外,你是怎么來保障執行緒安全的?

  4. 什什么時候需要加volatile關鍵字?它能保證執行緒安全嗎?

  5. 執行緒池內的執行緒如果全部忙,提交?一個新的任務,會發?生什什么?佇列列全部
    塞滿了了之后,還是忙,再提交會發?生什什么?

  6. Tomcat本身的引數你?一般會怎么調整?

  7. synchronized關鍵字鎖住的是什什么東?西?在位元組碼中是怎么表示的?在內
    存中的物件上表現為什什么?

  8. wait/notify/notifyAll?方法需不不需要被包含在synchronized塊中?這是為什什
    么?

  9. ExecutorService你?一般是怎么?用的?是每個service放?一個還是?一個項?目
    ?里里?面放?一個?有什什么好處?
    Spring

  10. 你有沒有?用過Spring的AOP? 是?用來?干嘛的? ?大概會怎么使?用?

  11. 如果?一個接?口有2個不不同的實作, 那么怎么來Autowire?一個指定的實作?

  12. Spring的宣告式事務 @Transaction注解?一般寫在什什么位置? 拋出了了例外
    會?自動回滾嗎?有沒有辦法控制不不觸發回滾?

  13. 如果想在某個Bean?生成并裝配完畢后執?行行?自?己的邏輯,可以什什么?方式實
    現?

  14. SpringBoot沒有放到web容器??里里為什什么能跑HTTP服務?

  15. SpringBoot中如果你想使?用?自定義的配置?檔案?而不不僅僅是
    application.properties,應該怎么弄弄?

  16. SpringMVC中RequestMapping可以指定GET, POST?方法么?怎么指定?

  17. SpringMVC如果希望把輸出的Object(例例如XXResult或者XXResponse)這
    種包裝為JSON輸出, 應該怎么處理理?

  18. 怎樣攔截SpringMVC的例外,然后做?自定義的處理理,?比如打?日志或者包裝
    成JSON

MySQL

  1. 如果有很多資料插?入MYSQL 你會選擇什什么?方式?

  2. 如果查詢很慢,你會想到的第?一個?方式是什什么?索引是?干嘛的?

  3. 如果建了了?一個單列列索引,查詢的時候查出2列列,會?用到這個單列列索引嗎?

  4. 如果建了了?一個包含多個列列的索引,查詢的時候只?用了了第?一列列,能不不能?用上
    這個索引?查三列列呢?

  5. 接上題,如果where條件后?面帶有?一個 i + 5 < 100 會使?用到這個索引嗎?

  6. 怎么看是否?用到了了某個索引?

  7. like %aaa%會使?用索引嗎? like aaa%呢?

  8. drop、 truncate、 delete的區別?

  9. 平時你們是怎么監控資料庫的? 慢SQL是怎么排查的?

  10. 你們資料庫是否?支持emoji表情,如果不不?支持,如何操作?

  11. 你們的資料庫單表資料量量是多少??一般多?大的時候開始出現查詢性能急
    劇下降?

  12. 查詢死掉了了,想要找出執?行行的查詢行程?用什什么命令?找出來之后?一般你
    會?干嘛?

  13. 讀寫分離是怎么做的?你認為中間件會怎么來操作?這樣操作跟事務有
    什什么關系?

  14. 分庫分表有沒有做過?線上的遷移程序是怎么樣的?如何確定資料是正
    確的?

JVM

  1. 你知道哪些或者你們線上使?用什什么GC策略略? 它有什什么優勢,適?用于什什么
    場景?

  2. JAVA類加載器?包括?幾種?它們之間的?父?子關系是怎么樣的?雙親委派機
    制是什什么意思?有什什么好處?

  3. 如何?自定義?一個類加載器??你使?用過哪些或者你在什什么場景下需要?一個?自
    定義的類加載器?嗎?

  4. 堆記憶體設定的引數是什什么?

  5. Perm Space中保存什什么資料? 會引起OutOfMemory嗎?

  6. 做gc時,?一個物件在記憶體各個Space中被移動的順序是什什么?

  7. 你有沒有遇到過OutOfMemory問題?你是怎么來處理理這個問題的?處理理
    程序中有哪些識訓?

  8. 1.8之后Perm Space有哪些變動? MetaSpace?大?小默認是?無限的么? 還是
    你們會通過什什么?方式來指定?大?小?

  9. Jstack是?干什什么的? Jstat呢? 如果線上程式周期性地出現卡頓,你懷疑可
    能是gc導致的,你會怎么來排查這個問題?執行緒?日志?一般你會看其中的什什么
    部分?

  10. StackOverFlow例外有沒有遇到過??一般你猜測會在什什么情況下被觸
    發?如何指定?一個執行緒的堆疊?大?小??一般你們寫多少?

Linux命令

0.添加Java學習:1037935907

  1. ?日志特別?大只想看最后100?行行怎么弄弄? 如果想?一直看?日志的持續輸出,?用
    什什么命令?

  2. 如果?日志?一邊輸出,?一邊想實時看到有沒有某個關鍵字應該怎么弄弄?

  3. grep如果忽略略?大?小寫應該怎么弄弄? 正則運算式呢?

  4. vim往下?一?行行是什什么鍵?往下30?行行呢? 跳到?檔案末尾?一?行行是什什么? 跳回來
    是什什么? 向后搜索是什什么?

  5. 如果有個?文本?檔案,按空格作為列列的分隔符,如果想統計第三列列?里里?面的每
    個單詞的出現次數應該怎么弄弄?

  6. 如果把上?面的出現次數排個序應該怎么弄弄? 想按照數字本身的順序?而不不是
    字串串的順序排列列怎么弄弄?

  7. Linux環境變數量是以什什么作為分隔符的?環境變數量通過什什么命令設定?

  8. 給某個?檔案權設定限?比如設定為644 是?用什什么命令?這個6是什什么意思?

  9. Linux下?面如果想看某個行程的資源占?用情況是怎么看的?系統load?大概
    指的什什么意思?你們線上系統load?一般多少?如果?一個4核機器?,你認為多
    少load是?比較正常的? top命令?里里?面按?一下1會發?生什什么?

  10. top命令?里里?面,有時候所有行程的CPU使?用率加起來超過100%是怎么回
    事?

  11. 還有哪些查看系統性能或者供你發現問題的命令?你?一般是看哪個參
    數?

  12. 想看某個行程打開了了哪些?網路連接是什什么命令??里里?面連接的狀態你?比較
    關?心哪?幾種?

-- 偏題

  1. 有沒有做過Linux系統引數?方?面的優化,?大概優化過什什么?

  2. 系統引數?里里?面有個叫做backlog的可以?用來?干什什么?

  3. 查看?網路連接發現好多TIME_WAIT 可能是什什么原因?對你的應?用會有什什
    么影響?你會選擇什什么樣的?方式來減少這些TIME_WAIT

  4. 可否介紹?一下TCP三次握?手的程序,如果現在有個?網路程式,你?用第三?方
    的library來發送資料,你懷疑這個library發送的資料有問題,那么怎么來驗
    證? tcpdump匯出的?檔案你?一般是怎么分析的?

  5. KeepAlive是?用來?干什什么的?這樣的好處是什什么?

Redis

-- 開發

  1. 快取穿透可以介紹?一下么?你認為應該如何解決這個問題

  2. 你是怎么觸發快取更更新的? (?比如設定超時時間(被動?方式), ?比如更更新的時
    候主動update)?如果是被動的?方式如何控制多個?入?口同時觸發某個快取更更
    新?

  3. 你們?用Redis來做什什么?為什什么不不?用其他的KV存盤例例如Memcached,
    Cassandra等?

  4. 你們?用什什么Redis客戶端? Redis?高性能的原因?大概可以講?一些?

  5. 你熟悉哪些Redis的資料結構? zset是?干什什么的? 和set有什什么區別?

  6. Redis的hash, 存盤和獲取的具體命令叫什什么名字?

  7. LPOP和BLPOP的區別?

  8. Redis的有?一些包含SCAN關鍵字的命令是?干嘛的? SCAN回傳的資料量量是
    固定的嗎?

  9. Redis中的Lua有沒有使?用過? 可以?用來做什什么? 為什什么可以這么?用?

  10. Redis的Pipeline是?用來?干什什么的?

-- 運維

  1. Redis持久化?大概有?幾種?方式? aof和rdb的區別是什什么? AOF有什什么優缺
    點嗎?

  2. Redis Replication的?大致流程是什什么? bgsave這個命令的執?行行程序?
    -- 偏題

  3. 如果有很多 KV資料要存盤到Redis, 但是記憶體不不?足, 通過什什么?方式可以縮
    減記憶體? 為什什么這樣可以縮?小記憶體?

  4. Redis中List, HashTable都?用到了了ZipList, 為什什么會選擇它?
    監控、穩定性

  5. 業務?日志是通過什什么?方式來收集的?

  6. 線上機器?如何監控?采?用什什么開源產品或者?自研的產品?它是分鐘級的還
    是秒級的?

  7. 如果讓你來想辦法收集?一個JAVA后端應?用的性能資料,你會在意哪些?方
    ?面? 你會選擇什什么樣的?工具、思路路來收集?

  8. ?一般你調?用第三?方的時候會不不會監控調?用情況?
    在這里插入圖片描述

活頁筆記本簡單掃碼關注二維碼.png

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186246.html

標籤:其他

上一篇:建議你吃透python這68個內置函式!

下一篇:C語言精華——記憶體管理,很多學校學習不到的知識~

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more