2020年11月最新互联网大厂面试经验分享【网易、阿里、腾讯、京东、百度、爱奇艺、字节、小米、美团、搜狐、58】
2020年11月最新互聯網大廠面試經驗分享【網易、阿里、騰訊、京東、百度、愛奇藝、字節、小米、美團、搜狐、58】
本文所有的面經內容是我從??途W拔下來的,我的計劃是,以后不定期扒點兒當下最新的互聯網面經,然后自己慢慢的把里面所有的面試題啃完,并整理分享給大家,共同進步,進大廠!!!
已擼列表如下:
1. 一文干翻Integer、int等基礎數據類型和包裝類型相關問題
2. 面試必問 容器 ArrayList
3. 面試必問 Redis 持久化
4. 面試必問 Redis 數據結構底層原理一
5. 面試必問 Redis 數據結構底層原理二
學習套路 先扒面試題 + 然后分析學習 + 總結分享 ≈ 全體起立
聲明一手:
面經內容從牛客扒的
https://www.nowcoder.com/
文章目錄
- 網易
- Java基礎
- 開源框架
- 網絡相關
- Nginx相關
- 數據庫相關
- Redis相關
- Linux相關
- 情景模擬&其他
- 曹操出行
- 京東
- 百度
- 騰訊
- 阿里巴巴
- 愛奇藝
- 字節跳動
- 搜狐
- 58同城
- 國美在線
- 小米
- 去哪兒
- 快手
網易
Java 社招
Java基礎
1.手撕代碼。牛客題霸()上的原題,可以去看看:NC20數字字符串轉化成IP地址
2.定義Integer x=20 Integer y=200 在內存里是個什么過程?
3.volite關鍵字的原理?它能保證原子性嗎?AtomicInteger底層怎么實現的?
4.threadLocal關鍵字有用過嗎?如果沒有重寫initialValue方法就直接get會怎樣?
5.hashMap與concurrentHashMap原理和區別?
6.hashMap什么情況下會出現循環鏈表?concurrentHashMap寫的時候用什么鎖?7.RenteenLock底層是怎么保證線程安全的?
8.反射能獲取到父類的私有方法嗎?怎么防止反射破壞單例模式?
9.描述下JVM內存模型。每個區的作用是什么?堆內存的工作原理,為什么需要兩個幸存區?只有一個行不行?老生代是用什么垃圾回收算法
10.怎么創建一個線程池,傳入的參數分別什么含義?線程池是怎么實現維持核心線程數的?怎么實現一個自定義的拒絕策略?
10.描述下多線程原理。怎么開啟一個線程?start和run方法有什么區別?
10.怎么創建一個線程池,傳入的參數分別什么含義?線程池是怎么實現維持核心線程數的?怎么實現一個自定義的拒絕策略?
11.Socket編程 nio(這一塊我不太熟就說沒了解過,面試官就沒細問了)
開源框架
1.你用過哪些開源框架?最熟悉的是哪個?(這里我說了spring,所以后邊的問題都是圍繞spring的)
2.描述下spring的ioc和aop。
你常用哪一種注入方式?BeanFactory和ApplicationContext有什么區別?你們項目()里用的哪個?說一下spring bean的生命周期。
AOP實現原理是什么?兩種動態代理實現原理?JDK動態代理為什么要實現接口?
3.spring task是怎么實現的?
4.spring事務你是怎么用的?加了@Transcational注解spring都做了哪些工作?怎么知道事務執行成功了?
事務隔離級別?mysql默認級別是什么?事務傳播屬性?spring默認是什么?嵌套事務子事務什么時候commit?
5.spring和springMVC是什么關系?有沒有用過JdbcTemplate?
6.springMVC中對整個請求的處理流程是怎樣的?返回json的話是用哪個view?
網絡相關
1.HTTP 1.1版本增加了哪些內容?有哪幾種請求方式?
2.描述下HTTP三次握手和四次揮手過程?為什么需要四次揮手?為什么TIME_WAIT狀態需要經過兩個最大報文段生存時間才能到close狀態?
3.瀏覽器發起一個請求到收到響應中間經歷了哪些過程?知道多少就說多少,越詳細越好。
Nginx相關
1.nginx有哪些模塊?你比較熟悉哪個?
2.proxy_cache你是怎么配置的?緩存是存在哪里?具體是怎么命中緩存的?
簡歷里有寫nginx,結果問得幾個問題我都沒答好,面試官就沒再多問了,囧~
數據庫相關
1.mysql索引是怎么實現的?b+樹有哪些特點?真實的數據存在哪里?
2.哪些情況下建索引?解釋下最左匹配原則?
現在一個表有三列a b c,組合索引(a,b,c)查詢的時候where a like ? and b=? and c=?能用到這個組合索引嗎?為什么?
3.explain執行計劃看過沒有?其中type字段都有哪些值?分別代表什么?
4.你有哪些sql調優經驗?
Redis相關
1.redis有哪幾種數據結構?給你一個key怎么知道是用的哪種結構?
2.怎么查看所有的key?redis怎么切換庫?怎么清數據?
3.描述下redis淘汰策略?如果沒有數據可以淘汰活著沒有配置淘汰策略讀請求可以正常執行嗎?
4.你們項目里redis是單節點的嗎?如果多節點怎么同步?
5.項目里用redis存哪些數據?為什么用redis?和jetty本地緩存有什么區別?
Linux相關
1.怎么查看某個進程中的線程?
2.怎么批量替換一個文件夾下所有文件中的一個字符?(sed命令)
3.有沒有用過jps jmap jstack jstat 命令,分別說下有哪些常用參數,知道多少就說多少。
我這里結合自己用jmap jstack定位到線上問題的經驗說的,答完后感覺面試官挺滿意的,所以說實踐很重要啊~
情景模擬&其他
1.設計一個系統,每天有100億條數據,需要在后臺做實時展示和查找。
我當時回答的大體思路是nginx負載均衡,消息隊列存儲,多線程讀取,批量插入,數據庫分庫分表。
面試官根據我的回答又衍生出了很多問題,如消息隊列存滿了怎么辦?(也就是消費跟不上生產)批量插入時某一條失敗了有什么影響?怎么解決?分庫分表應該怎么分?怎么解決數據遷移的問題?
2.用代碼實現cat 1.log |grep a |sort |uniq -c |sort -rn 的功能。
3.手撕代碼。牛客題霸上的原題,可以去看看:NC127 最長公共子串
4.如果現在有一臺服務器突然變得很慢,怎么去定位問題?
曹操出行
社招 Java 3年工作經驗
- JUC 里的 ReentrantLock 和 synchronized 有什么區別?(實現方式)
- 講講對 AQS 的理解(AQS 的實現原理)
- 什么是 CAS?
- synchronized 和 CAS 的區別?
- CAS 有什么問題?
- 線程池的原理?
- 線程池中什么情況下會創建非核心線程?
- 線程池中什么情況下會觸發拒絕策略?
- Java 堆的結構
- 如果發生 OOM 如何排查解決?
- 新生代用什么GC算法?GC過程?
- 老年代用什么GC算法?GC過程?
- G1垃圾回收器的特點
- 聊聊對事務的理解(什么是事務?事務的特性?)
- 事務的隔離級別
- InnoDB 和 MyISAM 的區別?
- 如何優化慢 SQL?
- 一億的表,很多復雜的查詢條件,查第一萬頁,如何優化?分庫分表查詢過程?
- 二階段、三階段、TCC、seata
- RocketMQ / Kafka 的存儲原理
- Netty
- Dubbo 原理
- 如果注冊中心掛了,消費者還能連上提供者嗎?為什么?
- Dubbo 的 SPI 機制
- 基于 Dubbo 能做什么擴展?
- Dubbo 負載均衡算法
- 選一個重點項目講講,設計、問題等等
京東
**1、手撕代碼。牛客題霸上的原題,可以去看看:**NC3鏈表中環的入口節點
**2、**Redis 的數據結構及使用場景
(1)String字符串:字符串類型是 Redis 最基礎的數據結構,首先鍵都是字符串類型,而且 其他幾種數據結構都是在字符串類型基礎上構建的,我們常使用的 set key value 命令就是字符串。常用在緩存、計數、共享Session、限速等。
(2)Hash哈希:在Redis中,哈希類型是指鍵值本身又是一個鍵值對 結構,添加命令:hset key field value。哈??梢杂脕泶娣庞脩粜畔?#xff0c;比如實現購物車。
(3)List列表(雙向鏈表):列表(list)類型是用來存儲多個有序的字符串。可以做簡單的消息隊列的功能。
(4)Set集合:集合(set)類型也是用來保存多個的字符串元素,但和列表類型不一 樣的是,集合中不允許有重復元素,并且集合中的元素是無序的,不能通過 索引下標獲取元素。利用 Set 的交集、并集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能。
(5)Sorted Set有序集合(跳表實現):Sorted Set 多了一個權重參數 Score,集合中的元素能夠按 Score 進行排列??梢宰雠判邪駪?#xff0c;取 TOP N 操作。
3、zset跳表的數據結構
4、ZAB協議
ZAB協議包括兩種基本的模式:崩潰恢復和消息廣播。當整個 Zookeeper 集群剛剛啟動或者Leader服務器宕機、重啟或者網絡故障導致不存在過半的服務器與 Leader 服務器保持正常通信時,所有服務器進入崩潰恢復模式,首先選舉產生新的 Leader 服務器,然后集群中 Follower 服務器開始與新的 Leader 服務器進行數據同步。 當集群中超過半數機器與該 Leader 服務器完成數據同步之后,退出恢復模式進入消息廣播模式,Leader 服務器開始接收客戶端的事務請求生成事物提案來進行事務請求處理。
5、volatile作用
(1)volatile在多處理器開發中保證了共享變量的“ 可見性”??梢娦缘囊馑际钱斠粋€線程修改一個共享變量時,另外一個線程能讀到這個修改的值。(共享內存,私有內存)
(2)volatile關鍵字通過“內存屏障”來防止指令被重排序。
1、手撕代碼。??皖}霸上的原題,可以去看看:NC116把數字翻譯成字符串
2、進程的組成部分
進程由進程控制塊(PCB)、程序段、數據段三部分組成。
3、Redis的應用場景
(1)緩存
(2)共享Session
(3)消息隊列系統
(4)分布式鎖
4、單線程的Redis為什么快?
(1)純內存操作
(2)單線程操作,避免了頻繁的上下文切換
(3)合理高效的數據結構
(4)采用了非阻塞I/O多路復用機制
5、事務的基本要素**(事務特性)**
(1)原子性:事務是一個原子操作單元,其對數據的修改,要么全都執行,要么全都不執行
(2)一致性:事務開始前和結束后,數據庫的完整性約束沒有被破壞。
(3)隔離性:同一時間,只允許一個事務請求同一數據,不同的事務之間彼此沒有任何干擾。
(4)持久性:事務完成后,事務對數據庫的所有更新將被保存到數據庫,不能回滾。
6、CAP定理
一個分布式系統不可能同時滿足以下三種,一致性,可用性,分區容錯性。在此ZooKeeper保證的是CP,ZooKeeper不能保證每次服務請求的可用性,在極端環境下,ZooKeeper可能會丟棄一些請求,消費者程序需要重新請求才能獲得結果。 另外在進行leader選舉時集群都是不可用,所以說,ZooKeeper不能保證服務可用性。
7、HashMap和ConcurrentHashMap區別
(1)由于HashMap是線程不同步的,雖然處理數據的效率高,但是在多線程的情況下存在著安全問題,因此設計了CurrentHashMap來解決多線程安全問題。
(2)HashMap在put的時候,插入的元素超過了容量(由負載因子決定)的范圍就會觸發擴容操作,就是rehash,這個會重新將原數組的內容重新hash到新的擴容數組中,在多線程的環境下,存在同時其他的元素也在進行put操作,如果hash值相同,可能出現同時在同一數組下用鏈表表示,造成閉環,導致在get時會出現死循環,所以HashMap是線程不安全的。
8、Kafka判斷一個節點還活著的兩個條件
(1)節點必須可以維護和 ZooKeeper 的連接,Zookeeper 通過心跳機制檢查每個節點的連接
(2)如果節點是個 follower,他必須能及時的同步 leader 的寫操作,延時不能太久。
百度
社招 JAVA 1年
1、 NC16 判斷二叉樹是否對稱
2、NC32 求平方根
3、NC2 重排鏈表
騰訊
社招 JAVA 2年
騰訊一面:(總耗時:120min)
1、jvm內存結構介紹、代碼調用過程中的內存流程;
2、java如何分配內存,多線程呢?
3、Spring如何加載注解
4、Spring啟動流程、bean實例化
5、xxljob原理,使用流程
6、OOM定位、解決方式,流程
7、講項目xxxxx
8、redis pipline是全雙工還是半雙工
9、云原生是什么?(這個真不會)
10、rabbitMQ原理、流程、用途
11、rabbitMQ如何保證數據到達
12、Http 1.0 1.1 2.0
13、注解使用、如何掃描
14、cas原理,緩存一致性原理(volatile、synchronized、可見性)
15、gc算法、掃描算法(優劣)、內存分區
16、jedis是否使用鏈接池,如何處理有序數據
算法:
go代碼求輸出(面試官讓我按自己理解猜…)
leetcode 74. 搜索二維矩陣
leetcode 鏈表反轉
騰訊二面面經:(總耗時:100min)
1、項目簡述(blablabla…);
2、MQ選型;(RocketMQ、ZeroMQ、Kafka、RabbitMQ優缺點)
3、消息可靠性保證;(數據冪等、高可用鏡像集群、Confirm機制、事務機制、持久性)
4、Redis類型及源碼簡述;(String、Hash、ZSet、Set、Dict、GEO、HyperLogLog、BloomFilter、Stream、Bitmap等)
5、MySql和MongoDB區別;( blablabla)
6、JVM中如何掃描對象;(root、hotspot算法、cardTable)
7、GC算法;(復制、標記清除、標記整理、內存碎片及解決方式)
8、代碼運行流程對應JVM內部流程;(幾個關鍵字:棧楨、操作數棧、)
9、紅黑樹;(這個簡單,自己吹牛逼…;紅黑節點、特性等)
10、線程&協程;(blabla…)
11、阻塞IO、非阻塞IO、同步IO、異步IO、IO多路復用(區別及內部流程、用戶態內核態blablabla…);
12、死鎖及打破方式;(互斥、請求與保持、循環等待、阻塞;超時、銀行家算法)
13、一致性Hash算法詳解;(熱點分布、2的31個槽、虛擬節點等)
14、看什么書;(隨便挑一本,開始背書)
15、對c++和java看法;(吹牛逼,吹到面試官high點)
16、自己技術發展方向;(技術or管理)
17、讀過什么組件源碼;(redis、JVM、MyBatis、Spring及相關基本都讀過、sharding-jdbc等)
18、隨便講個源碼組件源碼結構及內部核心原理;(redis、MyBatis等吹牛逼)
算法:
a、鏈表相加;
b、leetcode 1567 乘積為正數的最長子數組長度;(滑動窗口、貪心分治法求解)
阿里巴巴
兩輪面試都是電面。
一面總體上還是圍繞項目架構、Java基礎、JVM、并發編程、數據庫操作、中間件技術和Dubbo服務治理框架等展開,可能因為是云安全部門,有一半時間在考察JVM,還提問了一些編譯優化的知識。
一面結束后很快安排了二面,相對一面,二面的問題更深入,問題比較刨根問底,更加注重對一些技術細節的理解和把握。比如數據庫操作,面試官會詳細的問你數據庫插入和刪除一條數據的過程在底層是如何執行的,項目里配置了讀寫分離,也會比較深入的就實現方法和底層邏輯展開討論。
面試問題:
1、JVM內存分代。
2、Java 8的內存分代改進。
3、深入分析了Classloader,雙親委派機制。
4、JVM的編譯優化。
5、對Java內存模型的理解,以及其在并發中的應用。
6、指令重排序,內存柵欄等。
7、HashMap的并發問題。
8、了解LinkedHashMap的應用嗎?
9、在工作中遇到過哪些設計模式,是如何應用的?
愛奇藝
愛奇藝的面試都是二對一,每輪面試兩個面試官。
一面比較順利,主要是Java基礎,Spring原理,Java NIO,并發和集合框架等,可能是因為視頻網站,愛奇藝考察網絡原理的知識多,比如TCP/IP協議、長連接與短連接等。
一面提到了自己可能會在下半年學習大數據與機器學習相關的知識,二面就在這上面栽了跟頭,問了很多海量數據的問題。
面試問題:
1、手撕代碼。??皖}霸上的原題,可以去練練:NC22合并兩個有序的數組。
2、TCP/IP協議。
3、長連接與短連接。
4、mapreduce過程。
5、多路歸并的時間復雜度。
6、海量url去重類問題。
7、Java NIO使用。
7、倒排索引的原理。
8、對分詞技術的了解。
面試中給了一個具體場景,考察對MapReduce過程的理解,比如Map階段和Reduce階段是如何進行的等,Reduce階段面試官希望分析給出一個多路歸并的時間復雜度,用外排序的知識簡單分析了一下,回答的不太好。回來以后搜索了勝者樹和敗者樹的優化,發現這里面的內容還挺多, 深刻體會到有些知識點如果平時掌握的不夠全面深刻,很難信手拈來 。
字節跳動
JAVA 1年
一面:
1、final是干嘛的,用在什么地方,你們項目中有用到過嗎
2、有那些集合,一個一個說linkedlist,arraylist,hashmap
3、說一下hashmap基本結構,和hashmap的擴容,hashmap的并發
4、說一下jvm的垃圾回收器,有那些,算法有哪些,他們的優缺點
5、線程池用過嗎?用來干什么?說一下線程池。
6、做過sql優化嗎(我簡歷上寫了),說一下吧。
7、mysql的索引說一下,b+樹的優缺點
8、說一下dubbo的架構(簡歷上有寫)
9、說一下kafka的topic,partition,broker概念
10、kafka的主從選舉機制
11、redis用過嗎?有哪些數據類型,常用什么數據類型?我有說zset,那說一下zset的底層原理吧
12、linux中你用哪些命令
13、linux中想看一個文件中某個關鍵字出現的次數(我不會,后面還會問到。。)
15、做題:leetcode56題,合并區間。
二面:
直接先做題:leetcode70 跳臺階,這個我做過所以寫的很快,還說了下遞歸和動態規劃的優缺點,
然后特別,面試官發給了一個飛書文檔的連接,上面有很多實際的問題,大致有這些:
1、給一個實習生寫的代碼,請指出他的問題
2、給定一個訂單和商品的要求,請設計表結構,然后有三個問題,分別寫3條sql來。根據聯合索引來設計索引。
3、接著第二題,用redis來存儲上面問題查詢出來的結果,該怎么寫redis
然后:
1、問一個之前問過你當時你沒回答上來的: linux中想看一個文件中某個關鍵字出現的次數,嘻嘻,那天面試完我去百度了!
2、說一下redis的主從復制,緩沖區大小,超過緩沖區大小怎么辦?
3、tcp三次握手,為什么三次,為什么四次
4、tcp快速恢復,快速啟動,慢啟動
5、進程和線程的區別(這一部分沒細問,他說看你是搞java,如果是搞c的會問的更加深入。)
我算法題做的比較快,問完上面的問題后就花了30分鐘,面試官看太快了,就說你還有什么比較拿手的,我就說了說我做過一點mysql的治理。然后又聊了10分鐘
三面:
直接先做題:合并兩個有序鏈表。。
1、你做過哪些項目?
2、說一個你覺得難度最大的項目,你是怎么解決技術難點問題的。
3、你做過微服務項目嗎?用的什么技術?
4、你說一下springcloud 的 hytrix的原理是什么?
5、說一下dubbo的原理。
6、用過redis嗎,項目中怎么用的。
7、知道微服務網格嗎,知道微服務治理嗎?
8、你的優點和缺點
搜狐
做了筆試題,一面針對筆試和簡歷提問了一些基礎問題。
二面技術經理就比較偏架構和中間件的應用,提問了項目,主要考察了服務治理和消息隊列等中間件使用的問題。
面試問題:
1、手撕代碼。牛客題霸上的原題,可以去看看:NC63撲克牌順子。
2、消息中間件如何解決消息丟失問題
3、Dubbo的服務請求失敗怎么處理
4、重連機制會不會造成錯誤
5、對分布式事務的理解
6、深入分析幾個設計模式
面試最后提問了一個不定長字符串轉為定長字符串的問題,這個簡單的問題被我想復雜了,沒有Get到面試官的點,考慮了唯一性,性能等,扯了一大堆。
也提醒一下大家,面試過程中要保持清醒,不要有思維定式,除非是底層研發崗位,社招對算法的考察不會特別難,用正常的思路去解決就可以。
58同城
三輪技術面,大部分是實際場景的算法和系統設計類問題。
面試問題:
1、HTTP請求的報文格式Spring的事務實現原理
2、實際場景問題,大量用戶數據如何在內存中排序和去重
3、緩存機器增刪如何對系統影響最小,一致性哈希的實現
4、Redis持久化的幾種方式
5、Redis的緩存失效策略
7、實際場景問題解決,典型的TOP K問題
8、實際場景問題,海量登錄日志如何排序和處理SQL操作,主要是索引和聚合函數的應用
國美在線
做了一份筆試題,主要考察Java基礎,數據庫,設計模式以及數據結構,要求寫出B-Tree的節點結構,算法題目是一道等概率抽獎的題目,用蓄水池抽樣算法解決了。
面試問題:
1、SQL語句編寫。
2、MySQL的幾種優化。
3、Spring行級鎖。
4、Spring衍生的相關其他組件整理。
5、RMI的幾種協議和實現框架。
6、BTree相關的操作。
7、數據庫鎖表的相關處理。
8、考察跳臺階問題。
另外面試過程中詢問了一些工作中用到框架和組件的版本等細節問題,平時沒太關注,后來思考了一下,對開源組件的應用,版本的管理很重要。
小米
1.MySQL or查詢能使用索引嗎,為什么能或者不能,說出原理?
2.如何實現cookie跨域?非子域名
3.兩個文件a,b,a中包含b中所有的文件行,b中包含a中所有的文件行,滿足這兩個條件a和b相等,怎么用程序來實現?
4.二維求組,由a【0】【0】到a【n】【n】會有多少種情況,只考慮從左到右,從上到下
5.多臺服務器,一個域名,客戶端請求到具體某一臺服務器的全過程,盡可能的細
6.如何提取具有一定規則的日志行,并做技術統計
去哪兒
1.手撕代碼。牛客上的原題,可以去看看:NC13**二叉樹的最大深度。**
2.JVM內存查看與分析,編寫內存泄露實例
3.線上CPU100%,如何定位和排查問題
4.如何在運行時確定對象類型?
5.引用傳遞和值傳遞
6.類加載過程,如何獲得當前對象的****ClassLoader
7.Git操作,Maven多[項目]聚合
8.10萬個ip段如何快速查找
**9.Java內存模型,volatile和****i++**的線程安全
10.線程池實現原理,Lock機制的實現
(1)其實java線程池的實現原理很簡單,說白了就是一個線程集合workerSet和一個阻塞隊列workQueue。當用戶向線程池提交一個任務(也就是線程)時,線程池會先將任務放入workQueue中。workerSet中的線程會不斷的從workQueue中獲取線程然后執行。當workQueue中沒有任務的時候,worker就會阻塞,直到隊列中有任務了就取出來繼續執行。
11.JVM對final關鍵字的編譯優化
12.ConcurrentHashMap深入分析
13.HashMap和HashSet的使用
14.Synchronized和Lock的使用
15.Dubbo底層實現,Dubbo相比webservice等方式的優勢
16.設計模式,服務治理等
17.Spring動態加載數據源
18.Spring boot應用
19.Spring中的設計模式
(1)簡單工廠模式:實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類。
(2)工廠方法模式:通常由應用程序直接使用new創建新的對象,為了將對象的創建和使用相分離,采用工廠模式,即應用程序將對象的創建及初始化職責交給工廠對象。
(3)單例模式:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
(4)適配器模式;
(5)包裝器模式:spring中用到的包裝器模式在類名上有兩種表現:一種是類名中含有Wrapper,另一種是類名中含有Decorator。基本上都是動態地給一個對象添加一些額外的職責。
(6)代理模式:為其他對象提供一種代理以控制對這個對象的訪問。
(7)觀察者模式:定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新。
(8)策略模式:定義一系列的[算法],把它們一個個封裝起來,并且使它們可相互替換。本模式使得[算法]可獨立于使用它的客戶而變化。
20.Linux的常用命令,簡單shell編寫
21.Linux系統監控命令
22.Redis的持久化方式
23.緩存和數據庫的一致性問題
24.Redis、MongoDB和Memcached的區別
25.Solr和Lucene,中文分詞技術
26.爬蟲的深搜和廣搜,隊列和棧
27.數據庫索引的實現,B+樹的結構和操作,為什么不用紅黑樹
28.SQL表設計 Join****操作
29.數據庫范式,聚集索引與非聚集索引
30.數據庫存儲過程,SQL注入
快手
社招 高級Java開發
1、NC113 驗證IP地址
2、NC78 反轉鏈表
3、NC121 字符串的排列
跟我一起學習進大廠吧,后面我把面試題答案講解整理發布,敬請持續關注。
QQ群【837324215】
關注我的公眾號【Java大廠面試官】,回復:架構、資源等關鍵詞(更多關鍵詞,關注后注意提示信息)獲取更多免費資料。
公眾號也會持續輸出高質量文章,和大家共同進步。
總結
以上是生活随笔為你收集整理的2020年11月最新互联网大厂面试经验分享【网易、阿里、腾讯、京东、百度、爱奇艺、字节、小米、美团、搜狐、58】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一分钟了解阿里云产品:云虚拟主机
- 下一篇: 【小月电子】国产安路FPGA开发板系统学