偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java面試“整活”自己會一點大數(shù)據(jù)被瘋狂diss

大數(shù)據(jù)
ArrayList 底層實際上是大小可變數(shù)組的實現(xiàn),并允許包括 null 在內(nèi)的所有元素,還提供一些方法來操作內(nèi)部用來存儲列表的數(shù)組的大小。

[[422497]]

本文轉(zhuǎn)載自微信公眾號「Java極客技術(shù)」,作者Java極客技術(shù)。轉(zhuǎn)載本文請聯(lián)系Java極客技術(shù)公眾號。

阿粉不知道大家面試的時候,有沒有被面試官問到,我看你簡歷上寫了了解一點某某某,你說一下這塊的內(nèi)容吧?當我們聽到這段話的時候,是不是感覺非常的熟悉,對,就是這么熟悉,因為有很多面試官看你是 Java 開發(fā)的時候,問過了 Java 相關(guān)的知識,既然看到了你自己敢在自己的簡歷上面寫了解一點其他的技術(shù)的時候,都會很 “熱心” 的問候一波,而阿粉的朋友,就被簡歷上寫的了解大數(shù)據(jù)的相關(guān)內(nèi)容被瘋狂 diss 了一波,阿粉順便也給大家說說面試都問了些啥?

Java面試問了這些

1.基礎(chǔ)知識之 ArrayList 和 LinkedList 使用性能對比。

實際上這個問題就是非?;A(chǔ)的,實際上面試官就是想問你,二者的數(shù)據(jù)結(jié)構(gòu)是什么樣子的,以及他們各自適用于什么樣子的場景上。

阿粉的回答就是從這開始入手,然后開始回答面試官的問題。

ArrayList和LinkedList都是實現(xiàn)了Collection和List接口。

ArrayList 底層實際上是大小可變數(shù)組的實現(xiàn),并允許包括 null 在內(nèi)的所有元素,還提供一些方法來操作內(nèi)部用來存儲列表的數(shù)組的大小。

LinkedList 底層就是鏈表的結(jié)構(gòu)實現(xiàn),并且允許所有元素(包括 null)LinkedList 類還為在列表的開頭及結(jié)尾get、remove 和insert 元素提供了統(tǒng)一的命名方法。

這個時候我們就能從數(shù)組和鏈表的不同來分析性能的比較了,畢竟這都是老生常談,數(shù)組結(jié)構(gòu)查詢速度快,添加和刪除操作慢,而相對的鏈表結(jié)構(gòu),查詢速度相對來說比較慢,而添加和刪除操作比較快。

一般這個答案都是面試官需要的,也有面試官會問你,為什么查詢數(shù)組就快,鏈表就慢,這個就涉及到底層的知識了,如果不會,那么肯定只能說,自己寫過測試用例,實際對比的,這確實沒錯,但是肯定不是面試官想要的答案,面試官想要的答案都是:

針對查詢操作來說,在數(shù)組中,只需對 [基地址+元素大小*k] 就能找到第k個元素的地址,對其取地址就能獲得該元素,

而鏈表要獲得第k個元素,首先要在其第k-1個元素尋找到其next指針偏移,再將next指針作為地址獲得值,

這樣就要從第一個元素找起,多了多步尋址操作,尋址操作次數(shù)鏈表要多一些。

如果你能回答出類似這種方式的答案,一般面試官就放過你了,阿粉面試的時候,十次有九次都是這種,說到這里之后,這個問題就簡單的結(jié)束了,面試官也就不再進行深挖了。

2.JVM的垃圾回收機制

這么說比較籠統(tǒng)。能夠細致問出來的問題就是那些,OOM可能發(fā)生在哪些區(qū)域上?堆內(nèi)存結(jié)構(gòu)是怎么樣的?Minor Gc和Full GC 有什么不同?

一般出來的問題都是根據(jù)這幾種的來回變換的,萬變不離其宗,阿粉遇到的面試問這個的,大部分都是問的 Minor Gc和Full GC 有什么不同?

Minor Gc和Full GC 有什么不同

Minor GC :發(fā)生新生代的的垃圾收集動作,Minor GC非常頻繁,回收速度一般也比較快

Full GC :發(fā)生在老年代的GC,出現(xiàn)了Major GC經(jīng)常會伴隨至少一次的Minor GC(并非絕對),Major GC的速度一般會比Minor GC的慢10倍以上

然后我們就開始我們對垃圾回收機制的表演就行了,這個要是拆開了說,那可就太多了,如果大家有想深入了解的,阿粉已經(jīng)準備好了 面試大全PDF 送給大家,大家在后臺回復(fù) java極客技術(shù)PDF 就可以獲取到由阿粉精心為大家準備的內(nèi)容。

3.你們項目中 Redis 是怎么用的。

如果面試官問出了這塊的內(nèi)容,實際上就是考察 Redis 的一些特性了,比如你們使用 Redis 實現(xiàn)分布式鎖,那么實現(xiàn)分布式鎖的必要性在哪里。

還有如果你們使用了 Redis 做分布式數(shù)據(jù)緩存,那么必然導(dǎo)致 Redis 和數(shù)據(jù)庫雙寫一致性問題,這些問題如果你開始回答了,那就就會掉進一些坑里面,比如說Redis 和數(shù)據(jù)庫雙寫一致性問題,這玩意阿粉之前面試的時候被問到過,最終的解決方案也就是保證了最終一致性,如果對數(shù)據(jù)有強一致性要求,不能放緩存。我們所做的一切,只能保證最終一致性。就這么簡單。

面試官大致就問了一些這么基礎(chǔ)的內(nèi)容,剩下的都是項目中的了,阿粉就不再給大家贅述了,但是接下來,阿粉就開始被面試官瘋狂 diss 了,阿粉在自己的簡歷上面,寫了一句話,了解大數(shù)據(jù)的相關(guān)知識。比如 Hadoop , MapReduce,這些東西,面試官有點感興趣,就開始了無情的追問。

關(guān)于大數(shù)據(jù)的面試悲劇

面試官:我看你簡歷上寫了了解大數(shù)據(jù)的相關(guān)內(nèi)容是么?

阿粉朋友:是呀,因為做了好幾年的開發(fā)了,總想著也學習一下這塊的內(nèi)容啥的。

面試官:那你說說你了解的這些內(nèi)容吧。

阿粉朋友:了解的哪些內(nèi)容?

面試官:就你在簡歷上寫的這幾個,Hadoop,MapReduce,還有就HDFS。

這時候阿粉朋友心中一萬個 ZZ 飄過,這東西咋說,說自己安裝?搭建?還是啥,但是這時候也不能慌呀,畢竟也算是自己學習過一點的,雖然沒有正式在項目中使用過,于是阿粉朋友就開始說:

Hadoop項目結(jié)構(gòu)實際上由很多個組成部分,像我在簡歷中寫的,HDFS 分布式文件系統(tǒng),MapReduce 分布式并行編程模型,YARN 資源管理和調(diào)度器,Hive 數(shù)據(jù)倉庫,還有就是 HBase 非關(guān)系型數(shù)據(jù)庫,

HDFS三個核心組件是 NameNode,DataNode,SecondaryNameNode,比如說 NameNode 是集群的核心, 是整個文件系統(tǒng)的管理節(jié)點也是維護者,DataNode 存放具體數(shù)據(jù)塊的節(jié)點, 主要負責數(shù)據(jù)的讀寫, 定期向 NameNode 發(fā)送心跳,而 SecondaryNameNode 算是輔助節(jié)點, 同步NameNode中的元數(shù)據(jù)信息。

然后面試官就開始打斷我了,就對阿粉說,這塊內(nèi)容在實際的工作中,你用過么?阿粉朋友的回答的也確實是沒有用過這塊,自己只是在工作之余,利用業(yè)余的時間去學習了一下有關(guān)這方面的內(nèi)容,擴充一下自己的知識面,接下來面試官就好像盯著阿粉不是很了解這塊的內(nèi)容就開始了無情的發(fā)問。

1.NameNode 的工作機制你了解么?

阿粉朋友回答:主要分為了2個階段,第一階段是 NameNode 啟動,第二階段是 Secondary NameNode 工作,然后簡單細說了一下,于是面試官給阿粉的朋友糾正了一些不合適的地方。

2.正常工作的hadoop集群中hadoop都需要啟動哪些進程

這阿粉的朋友因為沒有在工作中使用過,于是說了不知道,面試官就開始說起了這塊的內(nèi)容,

最后在面試結(jié)束的時候,就說了一句,這就是你自學的這塊的內(nèi)容?當阿粉聽到面試官有說這句話的時候,是不是就是有點過分的含義,畢竟人家只是自學的,也沒有實際的開發(fā)經(jīng)驗,就算學的不怎么樣,也沒必要這么過分不是么?

也可能是面試官確實會這塊的內(nèi)容,但是阿粉聽到這里實際上就已經(jīng)開始聽不下去了,畢竟你是面試官,你的主要內(nèi)容是不是應(yīng)該面試,畢竟人家面試的是 Java 開發(fā),也不算是大數(shù)據(jù)工程師,你直接給“整活”,是不是有點不太好。

于是阿粉也勸了自己的這個朋友,盡管這個面試可能面試不上,但是不要放棄,畢竟大部分的面試官對這個東西還是不看重的,畢竟你只是說了自己在開發(fā)的過程中自己學習的,只是了解,也不是專門做大數(shù)據(jù)的,即使你回答的不好,也不能打擊到你的自信心,影響你接下來的面試不是嗎?

馬上金九銀十面試季就要來到了,又到了一個跳槽的好月份,大家都準備好了么?如果沒有準備好,那么就趕緊回復(fù) java極客技術(shù)PDF 獲取最新的面試題,找個高薪的工作吧。

 

責任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2021-05-29 08:07:29

數(shù)據(jù)庫用戶OS

2020-06-22 07:47:46

提交面試官訂單

2021-11-28 22:57:41

C語言STM32寄存器

2013-04-01 11:17:43

Foursquare

2013-07-03 10:14:37

大數(shù)據(jù)時代大數(shù)據(jù)

2015-12-28 16:17:32

華為

2014-01-02 11:06:03

開發(fā)者程序員

2020-06-16 13:32:02

數(shù)據(jù)科學家大數(shù)據(jù)系統(tǒng)

2017-12-18 17:21:56

AndroidJava內(nèi)存泄漏

2010-05-20 15:29:43

優(yōu)化IIS

2019-06-03 14:35:38

大數(shù)據(jù)數(shù)據(jù)開發(fā)語言

2021-03-29 22:58:34

大數(shù)據(jù)Java編程語言

2016-04-05 10:12:58

HiveSQLHadoop

2021-08-26 14:26:25

Java代碼集合

2020-04-07 08:00:02

Redis緩存數(shù)據(jù)

2021-01-18 11:27:03

Istio架構(gòu)云環(huán)境

2020-03-25 11:04:18

APIUrl架構(gòu)

2023-11-09 09:21:58

開發(fā)AI

2017-08-24 15:14:51

三大數(shù)據(jù)庫軟件DBA職業(yè)發(fā)展SQL

2023-11-08 15:52:18

點贊
收藏

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