Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
頭條java面試題 PDF 下載
匿名網(wǎng)友發(fā)布于:2024-01-25 10:51:29
(侵權(quán)舉報(bào))
(假如點(diǎn)擊沒反應(yīng),多刷新兩次就OK!)

頭條java面試題   PDF 下載   圖1

 

 

 

 

資料內(nèi)容:

 

 

 

頭條 Java 一面
1.講講 jvm 運(yùn)行時(shí)數(shù)據(jù)庫區(qū)
2.講講你知道的垃圾回收算法
3.jvm 內(nèi)存模型 jmm
4.內(nèi)存泄漏與內(nèi)存溢出的區(qū)別
5. select、epoll 的區(qū)別?底層的數(shù)據(jù)結(jié)構(gòu)是什么?
6.mysql 數(shù)據(jù)庫默認(rèn)存儲(chǔ)引擎,有什么優(yōu)點(diǎn)
7.優(yōu)化數(shù)據(jù)庫的方法,從 sql 到緩存到 cpu 到操作系統(tǒng),知道多少說多少
8.什么情景下做分表,什么情景下做分庫
9.linkedList 與 arrayList 區(qū)別 適用場(chǎng)景
10.array list 是如何擴(kuò)容的
11. volatile 關(guān)鍵字的作用?Java 內(nèi)存模型?
12.java lock 的實(shí)現(xiàn),公平鎖、非公平鎖
13.悲觀鎖和樂觀鎖,應(yīng)用中的案例,mysql 當(dāng)中怎么實(shí)現(xiàn),java 中的實(shí)現(xiàn)
頭條 Java 二面
. Java 內(nèi)存分配策略?多個(gè)線程同時(shí)請(qǐng)求內(nèi)存,如何分配?
. Redis 底層用到了哪些數(shù)據(jù)結(jié)構(gòu)?使用 Redis 的 set 來做過什么?
. Redis 使用過程中遇到什么問題?搭建過 Redis 集群?jiǎn)幔?
. 如何分析“慢查詢”日志進(jìn)行 SQL/索引 優(yōu)化?
MySQL 索引結(jié)構(gòu)解釋一下?(B+ 樹)
. MySQL Hash 索引適用情況?舉下例子?
頭條 Java 三面
. 如何保證數(shù)據(jù)庫與 redis 緩存一致的
. Redis 的并發(fā)競(jìng)爭(zhēng)問題是什么?如何解決這個(gè)問題?了解 Redis 事務(wù)
的 CAS 方案嗎?
. 如何保證 Redis 高并發(fā)、高可用?
. Redis 的主從復(fù)制原理,以及 Redis 的哨兵原理?
. 如果讓你寫一個(gè)消息隊(duì)列,該如何進(jìn)行架構(gòu)設(shè)計(jì)???說一下你的思路。
. MySQL 數(shù)據(jù)庫主從同步怎么實(shí)現(xiàn)?
. 秒殺模塊怎么設(shè)計(jì)的,如何壓測(cè),抗壓手段
頭條 Java 一面參考答案:
MySQL 鎖概述
相對(duì)其他數(shù)據(jù)庫而言,MySQL 的鎖機(jī)制比較簡(jiǎn)單,其最顯著的特點(diǎn)是不同的存儲(chǔ)
引擎支持不同的鎖機(jī)制。
比如:
. MyISAM 和 MEMORY 存儲(chǔ)引擎采用的是表級(jí)鎖(table-level locking);
. InnoDB 存儲(chǔ)引擎既支持行級(jí)鎖( row-level locking),也支持表級(jí)鎖,
但默認(rèn)情況下是采用行級(jí)鎖。
MySQL 主要的兩種鎖的特性可大致歸納如下: