自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一份熱乎乎的騰訊后端面試真題

運(yùn)維 數(shù)據(jù)庫運(yùn)維
最近有個(gè)好朋友換工作了,面了騰訊后端,跟他要了份面試真題,大家一起來探討一下,哈哈~

前言

最近有個(gè)好朋友換工作了,面了騰訊后端,跟他要了份面試真題,大家一起來探討一下,哈哈~

騰訊后端一面

1.JVM內(nèi)存模型

這個(gè)可以復(fù)習(xí)一下《深入理解Java虛擬機(jī)》第12章(Java內(nèi)存模型和線程),放錯(cuò)圖了哈~,也可以看看我之前的文章哈~JVM常見面試題解析

2.cms和g1有沒有了解過,它們有什么區(qū)別

  •  CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用;
  •  G1收集器收集范圍是老年代和新生代,不需要結(jié)合其他收集器使用;
  •  CMS收集器以最小的停頓時(shí)間為目標(biāo)的收集器;
  •  G1收集器可預(yù)測(cè)垃圾回收的停頓時(shí)間
  •  CMS收集器是使用“標(biāo)記-清除”算法進(jìn)行的垃圾回收,容易產(chǎn)生內(nèi)存碎片
  •  G1收集器使用的是“標(biāo)記-整理”算法,進(jìn)行了空間整合,降低了內(nèi)存空間碎片。

這個(gè)點(diǎn)是可以看《深入理解Java虛擬機(jī)》第三章,垃圾收集器與內(nèi)存分配策略哈

3.談?wù)勀銓?duì)垃圾回收的了解,什么時(shí)候發(fā)生垃圾回收,回收過程

可以講JVM中一次完整的GC流程是怎樣的,對(duì)象如何晉升到老年代,如Minor GC,Major GC,full GC這幾個(gè)講清楚,還有對(duì)象存活判斷方法,還有垃圾回收算法,復(fù)制算法等等

這個(gè)點(diǎn)也是可以看《深入理解Java虛擬機(jī)》第三章,垃圾收集器與內(nèi)存分配策略哈

4.對(duì)于數(shù)據(jù)的一致性是怎么保證的

  •  這個(gè)如果是我的思路的話,我會(huì)談緩存與數(shù)據(jù)庫的一致性,可以看看我之前這篇文章:

        并發(fā)環(huán)境下,先操作數(shù)據(jù)庫還是先操作緩存?

  •  也可以談?wù)劮植际绞聞?wù)下的數(shù)據(jù)一致性,也可以看看之前我的這篇文章:

        后端程序員必備:分布式事務(wù)基礎(chǔ)篇

5.Redis集群有沒有了解過,主從和選舉是怎么樣子的

  •  這個(gè)可以回答這些關(guān)鍵詞,主從復(fù)制 ,哨兵機(jī)制等這些~
  •  可以看看網(wǎng)上這篇啦,或者親愛的讀者,去網(wǎng)上看一下資料哈~Redis 主從復(fù)制架構(gòu)和Sentinel哨兵機(jī)制(https://aiylqy.com/archives/213.html)

6.看你們公司使用的是MySQL,你們使用的是哪種存儲(chǔ)引擎,為什么?MyISAM和InnoDB的區(qū)別

  •  MyISAM:如果執(zhí)行大量的SELECT,MyISAM是更好的選擇
  •  InnoDB:如果你的數(shù)據(jù)執(zhí)行大量的INSERT或UPDATE,出于性能方面的考慮,應(yīng)該使用InnoDB表
  •  mysiam表不支持外鍵,而InnoDB支持

MyISAM適合:

  1.  做很多count 的計(jì)算;
  2.  插入不頻繁,查詢非常頻繁;
  3.  沒有事務(wù)。

InnoDB適合:

  1.  列表內(nèi)容 可靠性要求比較高,或者要求事務(wù);
  2.  表更新和查詢都相當(dāng)?shù)念l繁,并且行鎖定的機(jī)會(huì)比較大的情況。

7. 索引的底層數(shù)據(jù)結(jié)構(gòu)是什么,為什么選擇這種數(shù)據(jù)結(jié)構(gòu)

可以看看網(wǎng)上的這篇,寫得不錯(cuò)~MySQL索引為什么要用B+樹實(shí)現(xiàn)?

8. SQL優(yōu)化,怎么判斷需要優(yōu)化,從哪些方面著手優(yōu)化

從索引角度出發(fā),就有很多點(diǎn)可以講,這個(gè)可以看看我的這兩篇文章哈~

  •  后端程序員必備:書寫高質(zhì)量SQL的30條建議
  •  后端程序員必備:索引失效的十大雜癥

9.手寫代碼:設(shè)計(jì)一個(gè)分布式自增id生成服務(wù)

可以去網(wǎng)上找一下答案哈,這個(gè)我也沒什么思路~參考分庫分表一些想法?nginx負(fù)載均衡一些想法?哈哈,親愛的讀者,如果你會(huì)的話,可不可以告訴我呢

騰訊后端二面

1.有沒有了解過網(wǎng)絡(luò)安全問題,常見的網(wǎng)絡(luò)攻擊有哪些,原理是什么,可以怎么解決

XSS,跨站腳本攻擊?CSRF,跨站請(qǐng)求偽造?DDOS,分布式拒絕服務(wù)攻擊?SQL注入?

對(duì)于SQL注入,可以進(jìn)行后臺(tái)處理,比如,使用預(yù)編譯語句PreparedStatement進(jìn)行預(yù)處理,又比如Mybatis映射語句中,用#{xxx}而不是${}

2.平時(shí)在開發(fā)接口或者設(shè)計(jì)項(xiàng)目的時(shí)候如何保證安全性的

  •  簽名
  •  加密
  •  ip檢測(cè)限流?
  •  接口冪等
  •  特殊字符實(shí)現(xiàn)過濾 防止xss、sql注入的攻擊?

3.使用Redis集群時(shí)可能會(huì)存在什么問題

數(shù)據(jù)一致性問題

4.有沒有了解過cap和base原則

CAP理論

CAP理論作為分布式系統(tǒng)的基礎(chǔ)理論,指的是在一個(gè)分布式系統(tǒng)中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯(cuò)性),這三個(gè)要素最多只能同時(shí)實(shí)現(xiàn)兩點(diǎn)。

一致性(C:Consistency):

一致性是指數(shù)據(jù)在多個(gè)副本之間能否保持一致的特性。例如一個(gè)數(shù)據(jù)在某個(gè)分區(qū)節(jié)點(diǎn)更新之后,在其他分區(qū)節(jié)點(diǎn)讀出來的數(shù)據(jù)也是更新之后的數(shù)據(jù)。

可用性(A:Availability):

可用性是指系統(tǒng)提供的服務(wù)必須一直處于可用的狀態(tài),對(duì)于用戶的每一個(gè)操作請(qǐng)求總是能夠在有限的時(shí)間內(nèi)返回結(jié)果。這里的重點(diǎn)是"有限時(shí)間內(nèi)"和"返回結(jié)果"。

分區(qū)容錯(cuò)性(P:Partition tolerance):

分布式系統(tǒng)在遇到任何網(wǎng)絡(luò)分區(qū)故障的時(shí)候,仍然需要能夠保證對(duì)外提供滿足一致性和可用性的服務(wù)。

選擇 說明
CA 放棄分區(qū)容錯(cuò)性,加強(qiáng)一致性和可用性,其實(shí)就是傳統(tǒng)的單機(jī)數(shù)據(jù)庫的選擇
AP 放棄一致性,分區(qū)容錯(cuò)性和可用性,這是很多分布式系統(tǒng)設(shè)計(jì)時(shí)的選擇
CP 放棄可用性,追求一致性和分區(qū)容錯(cuò)性,網(wǎng)絡(luò)問題會(huì)直接讓整個(gè)系統(tǒng)不可用

BASE 理論

BASE 理論, 是對(duì)CAP中AP的一個(gè)擴(kuò)展,對(duì)于我們的業(yè)務(wù)系統(tǒng),我們考慮犧牲一致性來換取系統(tǒng)的可用性和分區(qū)容錯(cuò)性。BASE是Basically Available(基本可用),Soft state(軟狀態(tài)),和 Eventually consistent(最終一致性)三個(gè)短語的縮寫。

Basically Available

基本可用:通過支持局部故障而不是系統(tǒng)全局故障來實(shí)現(xiàn)的。如將用戶分區(qū)在 5 個(gè)數(shù)據(jù)庫服務(wù)器上,一個(gè)用戶數(shù)據(jù)庫的故障只影響這臺(tái)特定主機(jī)那 20% 的用戶,其他用戶不受影響。

Soft State

軟狀態(tài),狀態(tài)可以有一段時(shí)間不同步

Eventually Consistent

最終一致,最終數(shù)據(jù)是一致的就可以了,而不是時(shí)時(shí)保持強(qiáng)一致。

5.zk是如何保證一致性的

可以看這本書哈~《從paxos到Zookeeper分布式一致性原理與實(shí)踐》,

也可以看這篇文章:淺析Zookeeper的一致性原理(https://zhuanlan.zhihu.com/p/25594630

6.你如何設(shè)計(jì)一個(gè)能抗住大流量的系統(tǒng),說說設(shè)計(jì)方案

nginx負(fù)載均衡,流量防衛(wèi)兵sentinel,服務(wù)拆分,緩存,消息隊(duì)列,集群、限流、降級(jí)這些都可以搬出來啦~

7.有沒有了解過緩存策略有哪些

  •  Cache-Aside
  •  Read-Through
  •  Write-Through
  •  Write-Behind

有興趣還是可以看看我這篇文章 : 并發(fā)環(huán)境下,先操作數(shù)據(jù)庫還是先操作緩存? 

 

責(zé)任編輯:龐桂玉 來源: 數(shù)據(jù)庫開發(fā)
相關(guān)推薦

2020-11-12 10:20:40

前端面試web

2019-04-22 11:05:54

螞蟻金服面經(jīng)內(nèi)存

2021-04-28 07:34:46

SpringScheduledAsync

2018-04-26 14:59:23

面試AndroidService

2018-09-06 08:46:15

騰訊秋招跳槽

2018-10-10 09:55:37

程序員技能開源

2020-03-30 11:32:49

IT技術(shù)面試

2018-04-19 08:10:09

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)面試題

2020-07-15 15:38:15

人臉識(shí)別照片活化手機(jī)

2019-03-24 14:14:40

代碼閱讀源代碼

2020-08-13 14:45:08

微信騰訊財(cái)報(bào)

2023-09-29 22:41:26

Kubernetes云原生

2018-07-29 15:33:04

2018-05-03 07:06:21

開發(fā)規(guī)范iOS

2019-12-03 10:28:53

編程語言PythonJava

2024-11-07 08:50:56

用戶分析分類維度標(biāo)簽

2023-09-01 14:02:25

用戶分析攻略

2015-03-19 15:17:11

2018-05-21 20:45:45

2018-03-09 10:28:30

生態(tài)報(bào)告簽收
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)