java面試都問知不知道hashmap的原理,那我就想問,知道原理有什麼用?

時間 2021-06-02 12:54:24

1樓:zonxin

hashmap只是資料結構的一部分,只是恰巧抽到了這一部分。而能搞定資料結構的人肯定足夠聰明,而且足夠努力,而且耐得住寂寞。。。。。。。肯定不是只會努力,也不是只夠聰明,也不是只耐得住寂寞的人(除非你再某個方面特別特別的優秀,優秀到足以彌補其他點)。。。。

而公司需要的就是這樣特質的程式設計師。

當然還要更高階別要求的面試問題。

2樓:Loeis.G

懂不懂原理其實不是核心考察點,我也面試過一些人,在我看來,對於初級或中級開發,最主要是看你想不想懂原理,有沒有求知慾,有沒有探索精神,這才是面試官想看的東西

3樓:嘯風

沒啥,就是看看你能不能學的會,hashmap的原理可能在工作中真的沒有派上什麼用場,但是如果這點程度的知識都學不會,以後還能指望學會點啥?

4樓:劉鑫

我被人問過,面試官是Python的Json庫作者,當然我沒答出來( ▽`)。

我一般不問這種問題,我一般都是先了解一下對方會什麼,他會什麼,我就問什麼(-`).oO(

5樓:冒泡

因為問淺了區分不出水平差異呀

而且你說的是乙個大多數情況下,有時候還是會碰到需要知道原理的崗位的我就曾經跟面試者有過這種對話:

他:你問這些原理工作中都有用得到嗎我:是的,我們做xx系統需要用他:

xx系統不是有開源的,你們為啥要自己做我:因為開源的有xx缺陷……等等原因他:你的意思是你們能做到更好我:

是的他:所以你的意思是你們組水平比社群還要高嗎我:嗯他:

………………

其實話說回來,題主你真覺得jdk的標準庫效能是最高的?

6樓:一諾千金軟體

地下一堆大神給你分析的頭頭是道,學習原始碼的好處也說的很明白。除卻一些有追求的,特別執著於各種原理類的軟體工程師。可能絕大部分人都處於我能開著這輛車到達目的地的狀態,至於我開的是寶馬還是賓士,是奧迪還是五菱,這只是方式,並不影響我到達目的地(舉例,扯速度和扯安全的你在家待著)。

各種資料結構也好,演算法也好,會用挺好,知道原理更好。那麼不知道原理就不能幹活了麼?不一定。

我見識短淺,hashmap也要,treemap也好。知道的多了終歸沒什麼壞處,可知道的少了,可能就會賺的少點,少加點班,特別是一些三四線的IT公司來說,其實真的沒什麼必要面這些東西,現在絕大部分的應用型軟體基本框架都由這些懂各種原理的大神996為我們一般開發人員封裝好了。簡簡單單寫寫業務,少加點班多掙點錢。

PS:如果你真心是乙個對於技術有追求的人,而不是為了高工資而背誦各種面試題的人。你當我上面就是放***。

7樓:阿布

知道原理可以讓你掙得更多。

其實大公司的業務系統對技術都是很有挑戰性的,不懂這些底層原理,又如何分析問題或者解決問題呢,生產環境出現OOM了,又如何排查原因?這些都是個人成長過程中都必須面對的。

8樓:初秋

沒有用,至少對面試來說沒有用。

對於問 hashmap 原理來說,大部分都是面試官偷懶,沒有看,或者看不太懂你的簡歷,只能問這種八股文。另外一部分是你的簡歷或者經歷面試官實在感覺沒啥要問的,這種都是hr刷人頭找了不合適的面試者。還有一小部分就是隨便問問,能說出 hash,紅黑樹就行的,這種對面試結果影響不大。

hashmap 算是最簡單常用的知識,也有很底層和複雜的原理,問這個問題你完全不知道要答到什麼程度。這也是我討厭這個問題的原因。

上面的回答也可以看到hashmap的原理可以說多少,說實話要想掛乙個人就問hashmap,一直往下問,可以問倒這個世上的任何乙個人。

但是面試就是要問倒面試者嗎,你招人來就是為了問倒他嗎,況且答出來的有多少是死記硬背的,又有多少能實現乙個hashmap的。

如果面試官水平好還行,可以知道引導面試者達成良性提問,但是有多少面試官是面試前看下文章就來發問了,自己都是死記硬背的又怎麼判斷別人的回答。而且大部分還記不全,就記幾個點,什麼擴容因子,容量,啥時候轉紅黑樹。問這些有任何用嗎?

究其根本還是太多程式設計師了,隨便掛幾個又何妨。

9樓:寒歌

面試問的問題絕大多數日常都用不到。但是當你工作五年以上你會發現這些東西都那麼偶爾用上過一兩次,而且是不知道就毫無頭緒連解決問題的思路都沒有的那種。

具體到hashmap這個問題,在大廠是正八經的由於併發put導致死迴圈出過嚴重線上問題的,而且不止一次。最開始的面試題版本其實並沒有這麼細,基本知道執行緒不安全,併發put會死迴圈,知道應該用concurrenthashmap就差不多了,其實還算比較實用的問題;面試者被這道題虐了回去下苦功研究,對這個問題有了更深的理解,強化了問題之後又拿去虐下乙個面試者;由於hashmap太常用以至於問題總能得到加強,最後就加強成了看上去毫無卵用的樣子。

10樓:張口就違規

面試這個事情啊,其實挺難的,我每次面個人總要準備半天,簡歷翻來覆去看半天,針對簡歷設計一些問題,有時候相關技術我也不清楚,查查資料什麼的又是半天,領導經常說我。

其實我很反感面試,特別是把面試看的多麼重要似的。我覺得找工作嘛,來上手試試,行就幹,不行就換人。簡歷拿過來給要人的組過目一下就行了,點頭就讓人過來試試唄,試用期不就是幹這個用的?

面試面一大堆問題,說白了就是招聘的根本不知道招的人要有哪些能力,哪些技能,所以乾脆全覆蓋,反正人多的很

我不喜歡直接問技術問題,那些所謂的經典面試問題,跟八股文有什麼區別?我面試的時候主要問專案經驗,問做過什麼專案,問專案的業務或者技術上的難點,怎麼解決的。

但是吧,實際上面試的人多了之後,就會發現,絕大多數人掌握哪些技能,取決於他們工作中用哪些技能,他的技能掌握的有多深,取決於他們的專案有多複雜,碰到的問題有多困難,真的不一定是個人學習能力不達標還是怎麼滴。

所以,回過頭來又變成了跟高考一樣的需求與形式了。那些所謂的經典面試題目,就是這個情況下的產物。

回到這個題目上,知道HashMap的原理有什麼用? 有人能給你列出來一大堆用處,但我跟你說,那些人在列舉這些用處的時候不知道怎麼樣的搜腸刮肚,或者查詢各種資料,才給出你的這一大篇洋洋灑灑的用處,你真覺得這是用處?

11樓:QX Geng

之前不是還說很多人希望把數學踢出高考,畢竟買菜的時候也用不上啥高階的數學知識,加減乘除就夠了。問題是人家高考數學的乙個目的不就是把這幫人給刷掉。

那同樣,想要拿個好offer嗎?面向工資程式設計吧。

12樓:科學搜查官羽毛

沒什麼用,沒事幹的時候深究原始碼的行為都是為了抬高門檻,淘汰想混日子的人。就是要捲。

感覺看原始碼有用的時候通常是你觸碰到某個問題解了惑,於是感覺受用無窮

13樓:

你可以這麼理解,HashMap是個你的乙個工具,了解它的原理有助於你判斷什麼情況下需要使用它,什麼場景下不需要使用它,以及如何使用它。有的時候會出現以下情況,你用了它,沒問題;可是需求變了,你繼續使用它可能就會有問題,你不了解它的原理,就可能會選擇繼續使用它。

14樓:owen

必須有用呀,你不覺得看懂原理後很是受用麼?

懂了原理後你對該結構了然於胸。

比如為什麼需要加鎖?為什麼有了鍊表後又多了紅黑樹?為什麼要擴容?如何更快很好的獲取hashcode?等等。

這個算是基礎題了,你連這個都不想深入,還怎麼跟人競爭工作,內捲化的今天不容易的。

但如果是不想搞明白的態度,或者說懶得去看,那我可以認為日常工作中也不會出色的。

15樓:大寬寬

實際上,對於絕大多數的開發者,知道hashmap是乙個常規情況下get/set操作是O(1)的,key不可重複的容器就足夠了。

但是,對於面試來講,hashmap的意義遠大於此。與此相關還有很多其他內容,比如tcp怎麼建立連線,資料庫索引是怎麼工作的,程序和執行緒是什麼意思,什麼是繼承和封裝…… 這涉及到乙個社會約定(或者說偏見),即大多數人都會認為「作為乙個申請軟體開發工程師的職位的人,至少應該知道這些東西中的幾個「。這種約定強到,乙個本來會吐槽面試問這個有什麼用的人,在面試別人時八成也會問這個。

因為如果不問這個,面試官也很難把握應該問什麼好。畢竟大家的工作內容,業務場景差異可能非常大。乙個人覺得理所應當,天經地義的事情,換乙個上下文就可能完全不能接受。

乙個人可能上乙個公司裡就是寫長SQL算資料可以寫得很溜,但到下一家直接問怎麼優化SQL執行效率就抓瞎——因為上一家都是OLAP的,乙個SQL能寫出來,跑幾十分鐘,幾個小時都沒問題。新的公司可能更關心OLTP的執行效率,根本受不了慢查詢……

面試官和面試者之間必須有乙個「開始」,聊聊大家都認為面試者應當了解的「基本常識」。這個常識並不是指這一定是專業常識,而是說彼此都應該知道面試時這些內容會大概率被問到。面試者就算不懂,平時也用不到,背也要背下來,讓面試官了解到「我做準備了,我是認真想求職的「。

hashmap就是這麼乙個很好的「常識」——為啥在一堆資料裡get/set,時間複雜度是O(1)呢?什麼是O(1)?有沒有O(n)的容器?

有了O(1)的容器為啥還要O(n)的容器?……你看,這不就聊下去了。

只有這個基礎約定能夠達成共識,面試雙方才有可能繼續聊,朝著被面試者熟悉的方向前進。面試者才有機會展示自己在某個方面的確很擅長。不然結局八成就是「連基礎都不會,什麼鬼,拒掉「。

因此,假如乙個人還沒有牛X到讓別人一看簡歷就知道自己很厲害的地步,還是老老實實把最基礎的約定做好,準備好八股面試題,刷好基礎的leetcode,把姿態放低,最大化錄取的機會才是實實在在的。

16樓:

知道原理的用處就是可以輕鬆卷贏80%的其他開發人員。

我面試基本不問這個問題,因為80%的人都回答不出稍微詳細一點的技術知識點。

而現實是必須招到能搬磚幹活的人,因為只要能做需求填空而且不容易亂捅簍子,就可以了。

17樓:逗泥丸的平方

可能我和知乎平均水平還是有差距。

我也覺得沒用,我覺得能老老實實用好api,不要瞎創新就挺好的。理解業務要比熟悉細節更重要。

我說大概就是跑到map那個類,顯示所有方法,能說上來每個幹啥的,就謝天謝地了

18樓:張萊姆

面試造火箭,入職擰螺絲!

現在能擰螺絲的太多太多太多了,企業不得不提高標準。

然後只會擰螺絲的就被淘汰了,擰螺絲的門檻上公升到了造火箭的級別。

我只能說,你改變不了世界,只能改變你自己,要麼放棄,要麼多背面試題。

李雲迪事先知不知道劉謙會問 要力巨集? ?

周華明 李雲迪和劉謙在協作 魔琴 時扮演到一半李雲迪把頭從簾子 扮演道具 後探出來對劉謙說了些什麼 麥貌似沒開觀眾聽不到 劉謙答 找人?力巨集嗎.不好意思今晚是我.我都沒找董卿呢.然後觀眾起鬨扮演持續不過網上登時就歡騰了。後來有人說王力巨集因不滿被惡作劇扇了劉謙一巴掌什麼的不過之後王和劉都澄清了這是...

琴酒知不知道灰原哀的真實身份?

憐舟 1.不知道 2.貝姐如果說了,可能同時會暴露工藤新一也變小了這件事,她是要保護新一 3.因為最初的A藥是灰原父母做出來的,現在這版藥也是灰原做出來的,我猜貝姐應該也是受這種藥的影響所以停止變老,她反對做這個藥 要殺掉能做出藥的人 Rainy 琴酒不知道灰原哀就是雪莉,他甚至不知道APTX486...

你知不知道什麼特別奇特的動物?

海洋館館長 侏食蟻獸 什麼奇怪的站姿啊 前爪有乙個大鉤子。肉墊看著也很好玩。看骨骼會清楚一點。後爪也很有意思。有乙個類似於熊貓偽拇指的結構。侏食蟻獸是一種小型樹棲動物,這種結構的爪子都方便它們抓握樹枝。盾尾蛇尾巴長得迷迷惑惑。但不是因為尾巴像被切了一刀,橫截面是盾形才叫這個名。而是因為尾部有盾狀凸起...