国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

阿粉被面試官吊起來瘋狂捶打,結果很尷尬

開發 前端
阿粉最近接到了一個面試,但是面試結果不是很盡如人意,因為雖然有些問題回答的還湊活,但是因為面試官問了一些后序的內容,阿粉不會,于是就被吊起來瘋狂捶打了半天,敗興而歸。

本文轉載自微信公眾號「Java極客技術」,作者鴨血粉絲。轉載本文請聯系Java極客技術公眾號。   

阿粉最近接到了一個面試,但是面試結果不是很盡如人意,因為雖然有些問題回答的還湊活,但是因為面試官問了一些后序的內容,阿粉不會,于是就被吊起來瘋狂捶打了半天,敗興而歸。

[[360712]]

面試題1:HashMap和ConcurrentHashMap的區別

我們都知道HashMap是線程不安全的,當我們在有并發的情況下去使用HashMap的put,還有get等一些方法的時候,CPU直接飆升,而且也沒有辦法保證線程的安全性,但是更加安全的HashTable呢?

因為在HashTable里面put和get的方法的,沒一個都是加上了synchronize,雖然保證了線程的安全性,但是效率就比較低下了,在我們進行并發訪問的時候,每次只能是一個線程進行操作,其他的線程就只能是阻塞執行,所以,他的效率相對來說,是非常低的,這時候我們就出現了ConcurrentHashMap。

而ConcurrentHashMap則使用了鎖分段(減小鎖范圍)、CAS(樂觀鎖,減小上下文切換開銷,無阻塞)等等技術,這時候你回答了,就出現了一環套一環的操作,那么你就分別來說說把。

在JDK1.7中,ConcurrentHashMap使用的鎖分段技術,將數據分成一段一段的存儲,然后給每一段數據配一把鎖,當一個線程占用鎖訪問其中一個段數據的時候,其他段的數據也能被其他線程訪問。

在JDK1.8中,ConcurrentHashMap采用CAS和synchronized方式處理并發。以put操作為例,CAS方式確定key的數組下標,synchronized保證鏈表節點的同步效果

阿粉也沒怎么墨跡,直接說能給我一張紙么?于是阿粉畫了一個之前在網上看的圖。

阿粉給面試官介紹的時候直接就從圖上介紹了,而阿粉直接分析源碼的時候,剛開始Segment繼承了ReentrantLock的時候,面試官就打斷了我接下來要敘述的內容,讓我直接就說1.8的了。

1.8中的:

  • 首先new一個新的hash表(nextTable)出來,大小是原來的2倍。后面的rehash都是針對這個新的hash表操作,不涉及原hash表(table)。
  • 然后會對原hash表(table)中的每個鏈表進行rehash,此時會嘗試獲取頭節點的鎖。這一步就保證了在rehash的過程中不能對這個鏈表執行put操作。
  • 通過sizeCtl控制,使擴容過程中不會new出多個新hash表來。
  • 最后,將所有鍵值對重新rehash到新表(nextTable)中后,用nextTable將table替換。這就避免了HashMap中get和擴容并發時,可能get到null的問題。
  • 在整個過程中,共享變量的存儲和讀取全部通過volatile或CAS的方式,保證了線程安全。

而至于分析源碼,阿粉不再進行分析了,以后在遇到面試的時候分析源碼的時候在繼續給大家說。畢竟下面還有很多內容。

面試題2:你對著兩種方式的看法是什么,為什么1.8要改變呢?優點是哪里呢?

阿粉就猜測到可能這么問,畢竟你開了頭了,你都區分出1.7和1.8了,必然會有面試官會這么問你,阿粉是這么回答的。

(1) 減少內存開銷

假設使用可重入鎖,那么每個節點都需要繼承AQS,但并不是每個節點都需要同步支持,只有鏈表的頭節點(紅黑樹的根節點)需要同步,這無疑消耗巨大內存。

(2) 獲得JVM的支持

可重入鎖畢竟是API級別的,后續的性能優化空間很小。synchronized則是JVM直接支持的,JVM能夠在運行時作出相應的優化措施:鎖粗化、鎖消除、鎖自旋等等。使得synchronized能夠隨著JDK版本的升級而不改動代碼的前提下獲得性能上的提升。

也是虧了阿粉在面試之前的時候看過很多這樣的文章,很多東西都專門去比對了一下,于是第二個問題結束了。

面試題3:你們是怎么避免 SQL 注入的?

阿粉看到這個問題的時候,第一反應就是肯定是按照我簡歷上寫的問的,因為阿粉之前的公司就是對安全性要求比較高的,像什么SQL注入啦,像跨站攻擊啦,于是阿粉就開始說了。

阿粉在之前的時候時候最多使用的是 where條件后面加上個1=1然后再繼續寫自己的參數。

  • 確認每種數據的類型,比如是數字,數據庫則必須使用int類型來存儲
  • 嚴格限制數據庫權限
  • 過濾參數中含有的一些數據庫關鍵詞

比如說過濾一些 and,char,這些在數據庫語句中是關鍵字的一些詞。

也可能面試官對這些數據安全的方面不是太注重,所以,阿粉回答出這幾種方式之后,就已經算是完事了,也沒有繼續再往下深究。

面試題4:說一下 MySQL常用的引擎都有哪些?

數據庫存儲引擎是數據庫底層軟件組織,數據庫管理系統(DBMS)使用數據引擎進行創建、查詢、更新和刪除數據。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以 獲得特定的功能。現在許多不同的數據庫管理系統都支持多種不同的數據引擎。存儲引擎主要有:1. MyIsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated 。

 關于這個阿粉就不再給大家說了,給大家安排上幾張圖:

面試題5:看你簡歷上說用過redis,那么你說一下redis的持久化的方式吧。

  • RDB持久化方式能夠在指定的時間間隔能對你的數據進行快照存儲.
  • AOF持久化方式記錄每次對服務器寫的操作,當服務器重啟的時候會重新執行這些命令來恢復原始的數據,AOF命令以redis協議追加保存每次寫的操作到文件末尾.Redis還能對AOF文件進行后臺重寫,使得AOF文件的體積不至于過大.

RDB其實就是把數據以快照的形式保存在磁盤上。什么是快照呢,你可以理解成把當前時刻的數據拍成一張照片保存下來。

RDB持久化是指在指定的時間間隔內將內存中的數據集快照寫入磁盤。也是默認的持久化方式,這種方式是就是將內存中數據以快照的方式寫入到二進制文件中,默認的文件名為dump.rdb。

而關于怎么觸發,這個就直接去修改redis.conf配置文件即可。

AOF持久化,實際上就是追加保存每次寫的操作到文件末尾,也可能阿粉在實際的使用Redis的時候,并沒有去做過持久化的操作,回答到這里已經算是沒有其他的了,而接下來面試官問的幾個關于Redis的問題就回答不是特別的好了,所以在Redis上面,還是得下功夫呀。

 

面試題6:JVM的內存結構,還有就是不同代的算法。

 

阿粉在之前的文章已經算是分析的非常的透徹了,所以在這里阿粉就把之前的鏈接送上,大家可以看一下。

 

面試的時候按照這個套路回答 Java GC 的相關問題一定能過!

 

責任編輯:趙寧寧 來源: Java極客技術
相關推薦

2020-06-22 07:47:46

提交面試官訂單

2020-08-03 07:04:54

測試面試官應用程序

2020-05-22 08:11:48

線程池JVM面試

2020-05-12 11:05:54

MySQL索引數據庫

2021-02-05 07:33:44

攻略面試項目

2021-03-17 08:39:24

作用域作用域鏈JavaScript

2021-03-16 22:25:06

作用域鏈作用域JavaScript

2020-06-30 07:48:27

SpringMVC

2019-10-21 09:56:37

MySQLCOUNTInnoDB

2023-01-18 10:35:49

MySQL數據庫

2023-12-25 09:03:33

MySQL索引數據庫

2021-12-17 07:30:42

排序算法效率

2022-05-23 08:43:02

BigIntJavaScript內置對象

2020-12-09 15:00:08

編程IT線程

2020-12-09 08:27:48

并發編程編程開發

2019-07-16 10:10:46

JavaScript數據類型

2022-01-06 16:20:04

Java排序算法排序

2021-07-05 22:09:53

面試官CollectionsJDK7

2015-08-13 10:29:12

面試面試官

2009-06-14 08:34:53

OpenSolaris開源
點贊
收藏

51CTO技術棧公眾號

亚洲国产精品影院| 日韩精品每日更新| 女海盗2成人h版中文字幕| 熟女人妇 成熟妇女系列视频| 91久久久久久久久久久| 色久欧美在线视频观看| 欧美大片在线观看一区| 暴力调教一区二区三区| 黄色成人精品网站| 99国内精品久久久久久久| www在线观看播放免费视频日本| 嫩草影院网站在线| 人人干人人干人人| 亚洲欧美久久234| 97超碰资源| 97久久人人超碰caoprom欧美| 久久久国产精品x99av| 在线亚洲欧美专区二区| 一区二区三区国产精品| 男人操女人的视频在线观看欧美| 国产一区二区三区精品在线观看 | 久久久久久青草| 影音先锋导航| 四虎在线免费看| 国产三级在线看| 日本韩国欧美三级| 精品一区二区在线观看| 亚洲性感美女99在线| 亚洲成av人片在线观看www| 免费一区二区三区四区| 成年美女黄网站色大片不卡| 日韩av激情| 一级毛片电影| 欧美一区二区少妇| 蜜芽在线免费观看| 国产精选在线| 一级毛片久久久| 国产黄色在线免费观看| 玖玖在线播放| 加勒比久久高清| 婷婷久久综合| 大色综合视频网站在线播放| 欧美午夜久久| 国产精品一区免费在线观看| 国产亚洲精品7777| 亚洲美女屁股眼交3| 久久精品欧美一区二区三区不卡| 一区二区在线观看av| 欧美高清视频不卡网| 最新的欧美黄色| 国产成人精品日本亚洲专区61| 福利视频一区二区三区| 国产精品国产三级国产专区53| 米仓穗香在线观看| 婷婷综合影院| 亚洲综合色视频在线观看| 黄色美女网站在线观看| 日本午夜免费一区二区| 91视频综合| eeuss鲁片一区二区三区在线观看| 亚洲精品视频免费观看| 精品日韩99亚洲| 欧美在线免费视频| 国产在线精品一区二区中文| 精品99在线视频| 免费影视亚洲| 亚洲国产中文在线| 国产日韩欧美一区| 狠狠色综合播放一区二区| 欧美日韩亚洲精品一区二区三区| 国产亚洲一区二区在线| 51成人做爰www免费看网站| 视频一区二区精品| 三级短视频在线| 人在线成免费视频| 99国产精品视频免费观看一公开| 国产日韩成人精品| 欧美伊人久久大香线蕉综合69 | 国产免费人做人爱午夜视频| 丰乳肥臀在线| 国产在线青青草| 亚洲国产日韩欧美在线观看| 爱情岛亚洲播放路线| 欧美色图麻豆| 国产亚洲制服色| 日韩视频免费在线| 久久久天堂国产精品| 黄色免费网站在线观看| 国产伊人精品| 一本色道久久综合亚洲aⅴ蜜桃| xxav国产精品美女主播| avav在线播放| 欧美91精品久久久久国产性生爱| 成人视屏在线观看| 午夜天堂精品久久久久| 中文字幕一区二区三区在线观看 | 亚洲综合五月| 色8久久精品久久久久久蜜| 欧美影院久久久| 国产黄色免费电影| 国产一区二区三区四区二区| 国产日产欧产精品推荐色| 日韩亚洲一区二区| 免费观看成人在线视频| 麻豆精品蜜桃一区二区三区| 日韩第一页在线观看| 草草影院在线| 精一区二区三区| 日韩一级黄色片| 欧洲久久久久久| xx欧美xxx| 欧美激情一区三区| 91视频最新| 男人av在线播放| 2020国产精品| 欧美精品第一页在线播放| 手机看片福利日韩| 欧美视频网站| 尤物九九久久国产精品的分类| 日本一区视频在线| 91免费黄视频| 中文一区一区三区高中清不卡| 欧美特黄一区| 美日韩在线视频| 欧美另类中文字幕| 精品美女一区二区| 免费在线午夜视频| 欧美视频在线免费看| 色爽爽爽爽爽爽爽爽| 韩日精品一区| 欧美精品videos另类日本| 在线不卡日本| 久久爱www.| 欧洲另类一二三四区| 女同一区二区| 日本免费在线一区| 亚洲午夜激情av| 伊人久久在线观看| 精品国产黄a∨片高清在线| 亚洲不卡在线观看| 欧美一级特黄aaaaaa在线看片| 国产69精品久久久久9999人| 一区二区三区日本| 精品国产免费久久久久久尖叫 | 日韩欧美视频网站| 欧美日本在线| 日韩小视频在线| 欧美日韩经典丝袜| 国产精品久久久久aaaa樱花| 日韩电影免费观看高清完整| 福利在线一区| 亚洲精品一区二区三区蜜桃下载| 久草在线在线| 国产精品久久久久久亚洲伦| 国产z一区二区三区| 白浆在线视频| 亚洲成国产人片在线观看| 日韩在线视频在线观看| 日本视频一区二区| 国产欧美日韩高清| 亚洲伊人春色| 宅男噜噜噜66一区二区66| 国产精品㊣新片速递bt| 国产亚洲一区字幕| 真实国产乱子伦对白视频| 99久久人爽人人添人人澡| 精品久久久久久久久久国产| 一区二区三区在线观看www| 亚洲激情影院| 高清欧美性猛交xxxx| 香蕉成人在线| 日韩一区av在线| 欧美成人xxxx| 亚洲视频第一页| xx欧美视频| 视频直播国产精品| 欧美男女交配| 欧美日韩国产一级片| 欧美高清成人| 婷婷国产在线综合| 亚洲精品视频99| 午夜精品123| 岛国最新视频免费在线观看| 欧美性69xxxx肥| 高清一级毛片视频| 成人av在线播放网站| 久久久久久av无码免费网站下载| 国产激情一区二区三区| 日韩a∨精品日韩在线观看| av电影一区二区| 国产精品宾馆在线精品酒店| 国产激情视频一区二区三区欧美| 国产精品久久久一区二区三区| 欧美激情在线| 国产在线无码精品| 99亚洲伊人久久精品影院红桃| 欧美色网站导航| 高清精品在线| 美女精品视频一区| 在线手机中文字幕|