一直忍着準備放個大招,沒想到還是被刷了...
前陣子,在準備拼多多的面試,好不容易挺近了三面,沒想到被一波完虐,最終面試官請我回家等候通知了。
在等候面試過程中,跟周圍的程序員同僚聊了起來,順便加了一手聯繫方式。
嘿嘿,雖然沒有過面試,但是東拼西湊,加上自己記下的面試題,把面試內容基本都統計了下來。
拼多多一面
1、項目中遇到的問題,及解決方案?
基本上都問到了這個問題,還好早有準備。之前看過介紹項目的star法則,我就跟面試官一唱一喝,把項目介紹介紹完了。(沒有自己一個人長篇大論的說,稍加引導似的讓面試官問我相關技術問題,回答起來當然就得心應手啦)
2、項目中用到的一些技術?
整個一面基本上都是圍繞我之前做過的項目來講的,也沒什麼好說的。面完之後,從面試官的表情看似乎對我挺滿意的,自然就順利進入二面了。(可見之前做了充足的準備,還是有好處的)
二面、三面
據說的電商部的一個主管和部門負責人,有點緊張,沒有注意,稍微問了一下項目,就開始技術碾壓了。
注意:我已經將這些面試題和答案彙總成了文檔,需要的朋友可以點擊我左側主頁信息,私信【真題】免費獲取!
- 併發編程三要素?
- 實現可見性的方法有哪些?
- 多線程的價值?
- 創建線程的有哪些方式?
- 創建線程的三種方式的對比?
- 線程的狀態流轉圖
- Java 線程具有五種基本狀態
- 什麼是線程池?有哪幾種創建方式?
- 四種線程池的創建
- 線程池的優點?
- 常用的併發工具類有哪些?
- CyclicBarrier 和 CountDownLatch 的區別
- synchronized 的作用?
- volatile 關鍵字的作用
- sleep 方法和 wait 方法有什麼區別?
- 什麼是 CAS
- CAS 的問題
- 什麼是 Future?
- 什麼是 AQS
- AQS 支持兩種同步方式
- ReadWriteLock 是什麼
- FutureTask 是什麼
- synchronized 和 ReentrantLock 的區別
- 什麼是樂觀鎖和悲觀鎖
- 線程 B 怎麼知道線程 A 修改了變量
- synchronized、volatile、CAS 比較
- 爲什麼 wait()方法和 notify()/notifyAll()方法要在同步塊中被調用
- 多線程同步有哪幾種方法?
- 線程的調度策略
- ConcurrentHashMap 的併發度是什麼?
- Linux 環境下如何查找哪個線程使用 CPU 最長
- 死鎖的原因?
- Java 死鎖以及如何避免?
- 怎麼喚醒一個阻塞的線程?
- 不可變對象對多線程有什麼幫助?
- 什麼是多線程的上下文切換?
- 如果你提交任務時,線程池隊列已滿,這時會發生什麼?
- Java 中用到的線程調度算法是什麼?
- 什麼是線程調度器(Thread Scheduler)和時間分片(TimeSlicing)?
- 什麼是自旋?
- Java Concurrency API 中的 Lock 接口(Lock interface)是什麼?對比同步它有什麼優勢?
- 等等等等...
還有一堆就不列出來了,這些面試題都是我整理融合在一起的,有些重複的都去掉了。
相信大家都看出來了,逮着多線程和併發往死裏虐啊這是!
自認爲在多線程併發這方面做了一些功課,也扛不住360度無死角掃射襲擊啊!
於是,通過網上四處找答案,找博客,把問題重新整理了一遍
另外還收羅了一套大廠面試真題