這幾天有幸接到華為二面的面試通知,整個(gè)過(guò)程大概有九十分鐘,面試官真的問(wèn)的東西很全面的,如果不做足準(zhǔn)備是肯定不可以的(當(dāng)時(shí)也問(wèn)到了多概念的問(wèn)題)。面試之后,將這些面試題目做了一個(gè)分類(lèi)并且整理出了答案(比較強(qiáng)迫癥~需要狂補(bǔ)知識(shí)~),面試的有:linux+redis+MySQL+算法+網(wǎng)絡(luò)+JAVA等,現(xiàn)在記得的就只有這些了,下面分享一下我這一次面試的面經(jīng)+面試答案+我的學(xué)習(xí)筆記(有面試專(zhuān)題+腦圖),絕對(duì)很值得~~~
01 操作系統(tǒng)、Linux相關(guān)
1.1 華為面試問(wèn)題
- 1.死鎖產(chǎn)生的原因
- 2.進(jìn)程、線程區(qū)別,什么時(shí)候用線程
- 3.如何實(shí)現(xiàn)一個(gè)線程池,Java中線程池如何進(jìn)行配置
- 4.linux中有哪些常見(jiàn)的指令,進(jìn)行介紹
- 5.select、poll、epoll有沒(méi)有了解過(guò),講解一下
- 6.線程切換,引申到Java阻塞運(yùn)行
- 7.頁(yè)面置換算法有哪些 介紹一下
1.2學(xué)習(xí)時(shí)的腦圖
1.3Linux面試專(zhuān)題+答案
02 Redis相關(guān)
2.1 華為面試問(wèn)題
- 1.redis了解嗎?你說(shuō)說(shuō)怎么用redis實(shí)現(xiàn)分布式鎖?
- 2.Redis常用數(shù)據(jù)結(jié)構(gòu)及底層數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)
- 3.如何解決 Redis 的并發(fā)競(jìng)爭(zhēng) Key 問(wèn)題
- 4.如何保證緩存與數(shù)據(jù)庫(kù)雙寫(xiě)時(shí)的數(shù)據(jù)一致性?
2.2 我的Redis學(xué)習(xí)筆記
(1)14個(gè)高頻Redis知識(shí)點(diǎn)+面試答案
- 1.redis 簡(jiǎn)介
- 2.為什么要用 redis /為什么要用緩存(高性能、高并發(fā))
- 3.為什么要用 redis 而不用 map/guava 做緩存?
- 4.redis 和 memcached 的區(qū)別
- 5.redis 常見(jiàn)數(shù)據(jù)結(jié)構(gòu)以及使用場(chǎng)景分析(String、Hash、List、Set、Sorted Set)
- 6.redis 設(shè)置過(guò)期時(shí)間
- 7.redis 內(nèi)存淘汰機(jī)制(MySQL里有2000w數(shù)據(jù),Redis中只存20w的數(shù)據(jù),如何保證Redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)?)
- 8.redis 持久化機(jī)制(怎么保證 redis 掛掉之后再重啟數(shù)據(jù)可以進(jìn)行恢復(fù))
- 9.redis 事務(wù)
- 10.Redis 常見(jiàn)異常及解決方案(緩存穿透、緩存雪崩、緩存預(yù)熱、緩存降級(jí))
- 11.分布式環(huán)境下常見(jiàn)的應(yīng)用場(chǎng)景(分布式鎖、分布式自增 ID)
- 12.Redis 集群模式(主從模式、哨兵模式、Cluster 集群模式)
- 13.如何解決 Redis 的并發(fā)競(jìng)爭(zhēng) Key 問(wèn)題
- 14.如何保證緩存與數(shù)據(jù)庫(kù)雙寫(xiě)時(shí)的數(shù)據(jù)一致性?
(2)Redis學(xué)習(xí)腦圖
03 MySQL相關(guān)
3.1 華為面試問(wèn)題
- 1.MySQL有哪些鎖?
- 2.解釋一下ACID都是什么
- 3.Innodb中索引的實(shí)現(xiàn)
- 4.B+樹(shù)
- 5.AUTO_INCREMENT原理(考察并發(fā)情況)
- 6.數(shù)據(jù)庫(kù)的索引有哪幾種?為什么要用B+樹(shù)來(lái)做索引?組合索引和幾個(gè)單個(gè)的索引有什么區(qū)別?
- 7.數(shù)據(jù)庫(kù)的大表查詢(xún)優(yōu)化了解嗎?MVCC機(jī)制了解不?MVCC機(jī)制有什么問(wèn)題?怎么去解決這個(gè)問(wèn)題?mysql慢語(yǔ)句調(diào)優(yōu)做過(guò)嗎?說(shuō)說(shuō)你是怎么做的?
3.2 我的MySQL學(xué)習(xí)筆記
(1)20個(gè)高頻MySQL面試知識(shí)點(diǎn)
- 1.事務(wù)四大特性(ACID)原子性、一致性、隔離性、持久性?
- 2.事務(wù)的并發(fā)?事務(wù)隔離級(jí)別,每個(gè)級(jí)別會(huì)引發(fā)什么問(wèn)題,MySQL默認(rèn)是哪個(gè)級(jí)別?
- 3.MySQL常見(jiàn)的三種存儲(chǔ)引擎(InnoDB、MyISAM、MEMORY)的區(qū)別?
- 4.MySQL的MyISAM與InnoDB兩種存儲(chǔ)引擎在,事務(wù)、鎖級(jí)別,各自的適用場(chǎng)景?
- 5.查詢(xún)語(yǔ)句不同元素(where、jion、limit、group by、having等等)執(zhí)行先后順序?
- 6.什么是臨時(shí)表,臨時(shí)表什么時(shí)候刪除?
- 7.MySQL B+Tree索引和Hash索引的區(qū)別?
- 8.sql查詢(xún)語(yǔ)句確定創(chuàng)建哪種類(lèi)型的索引?如何優(yōu)化查詢(xún)?
- 9.聚集索引和非聚集索引區(qū)別?
- 10.有哪些鎖(樂(lè)觀鎖悲觀鎖),select 時(shí)怎么加排它鎖?
- 11.非關(guān)系型數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)區(qū)別,優(yōu)勢(shì)比較?
- 12.數(shù)據(jù)庫(kù)三范式,根據(jù)某個(gè)場(chǎng)景設(shè)計(jì)數(shù)據(jù)表?
- 13.數(shù)據(jù)庫(kù)的讀寫(xiě)分離、主從復(fù)制,主從復(fù)制分析的 7 個(gè)問(wèn)題?
- 14.使用explain優(yōu)化sql和索引?
- 15.MySQL慢查詢(xún)?cè)趺唇鉀Q?
- 16.什么是 內(nèi)連接、外連接、交叉連接、笛卡爾積等?
- 17.mysql都有什么鎖,死鎖判定原理和具體場(chǎng)景,死鎖怎么解決?
- 18.varchar和char的使用場(chǎng)景?
- 19.mysql 高并發(fā)環(huán)境解決方案?
- 20.數(shù)據(jù)庫(kù)崩潰時(shí)事務(wù)的恢復(fù)機(jī)制(REDO日志和UNDO日志)?
20個(gè)高頻MySQL面試知識(shí)點(diǎn):
(2)MySQL學(xué)習(xí)思維腦圖(xmind)
04 思維/算法
4.1 華為面試問(wèn)題
- 1.使用O(N)復(fù)雜度完成GBDT分裂
- 2.找出無(wú)序數(shù)組中相隔距離最長(zhǎng)的逆序?qū)?/li>
- 3.給出一個(gè)rand5(),實(shí)現(xiàn)一個(gè)分布均勻的rand7()生成器
- 4.有一個(gè)點(diǎn),向北走5公里、東走10km、向南走5公里,回到原點(diǎn)。這樣的點(diǎn)有幾個(gè),證明。
- 5.有一個(gè)n克的物體、一個(gè)天平和若干砝碼,這個(gè)天平?jīng)]有刻度,試問(wèn)最少用多少個(gè)什么樣的砝碼6.可以將這個(gè)物體的質(zhì)量稱(chēng)出。砝碼的質(zhì)量和個(gè)數(shù)自行指定。
4.2 算法刷題
- 1.編程技巧
- 2.線性表
- 3.字符串
- 4.棧和隊(duì)列
- 5.樹(shù)
- 6.排序
- 7.查找
- 8.暴力枚舉法
- 9.廣度優(yōu)先搜索
- 10.深度優(yōu)先搜索
- 11.分治法
- 12.貪心法
- 13.動(dòng)態(tài)規(guī)劃
- 14.圖
- 15.細(xì)節(jié)實(shí)現(xiàn)題
(1)算法刷題:
(2)算法的學(xué)習(xí)腦圖
05網(wǎng)絡(luò)相關(guān)
5.1 華為面試問(wèn)題
- 1.OSI七層模型都是什么
- 2.舉例網(wǎng)絡(luò)協(xié)議,都在哪個(gè)層
- 3.TCP UDP區(qū)別
- 4.TCP如何實(shí)現(xiàn)可靠連接
- 5.Time_Wait中2*msl 為什么
- 6.如果TCP突然接收方故障 會(huì)發(fā)生什么
- 7.HTTP狀態(tài)碼 含義,503 504,200
- 8.GET POST區(qū)別
- 9.一個(gè)url從輸入到訪問(wèn)經(jīng)過(guò)了哪些過(guò)程
- 10.說(shuō)一說(shuō)TCP三次握手和四次揮手
5.2 JAVA核心知識(shí)整理
(JVM,JAVA集合,網(wǎng)絡(luò),JAVA多線程并發(fā),JAVA基礎(chǔ),Spring原理,微服務(wù),Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,設(shè)計(jì)模式,負(fù)載均衡,數(shù)據(jù)庫(kù),一致性哈希,JAVA算法,數(shù)據(jù)結(jié)構(gòu),加密算法,分布式緩存)
5.3網(wǎng)絡(luò)學(xué)習(xí)腦圖
06 Java相關(guān)
6.1 華為面試問(wèn)題
- 1.JVM內(nèi)存模型
- 2.GC垃圾回收算法
- 3.講解新生代 老年代
- 4.java的基本類(lèi)型有哪幾個(gè)?String是不是java的基本類(lèi)型?String為什么要是final類(lèi)型的?
- 5.說(shuō)一下JVM的線程模型?這些區(qū)域都分別是干啥用的?java線程模型和jvm線程模型注意區(qū)分
6.2 我的JAVA學(xué)習(xí)筆記
(1)JAVA面試寶典
(2)多線程與高并發(fā)編程學(xué)習(xí)思維腦圖(xmind)
最后
將Linux、Redis、MySQL、Java、網(wǎng)絡(luò)、算法等這些知識(shí)啃透,一定會(huì)有收獲的,可能會(huì)有很多看一遍只會(huì)有一點(diǎn)印象,面試官問(wèn)的時(shí)候就只能想起這個(gè)知識(shí)點(diǎn)來(lái),卻想不起具體的知識(shí),所以就需要將這些知識(shí)都啃透,這樣才可以運(yùn)用底層的原理,舉一反三。望大家都可以面試到心儀大廠。