鍍金池/ 問答/Java  Linux/ 一道java面試題,你在項目里是如何解決大數(shù)據(jù)的高并發(fā)和多線程的,怎么才能回答好

一道java面試題,你在項目里是如何解決大數(shù)據(jù)的高并發(fā)和多線程的,怎么才能回答好

每次去面試,這種題總是回答不好,網(wǎng)上的回答太籠統(tǒng)了

請問各位高手,這種題應(yīng)該如何從項目中談起

回答
編輯回答
病癮
  1. 首先談?wù)勀銓Ω卟l(fā)和多線程的理解
  2. 再談?wù)勀銈冺椖康膶嶋H業(yè)務(wù),因為脫離業(yè)務(wù)談高并發(fā)都是耍流氓。
  3. 再根據(jù)你們的項目,說說你是如何做高并發(fā)和多線程的。
  4. 然后一定要說你做了什么,達到了什么效果,一定要有前后數(shù)據(jù)對比,就是用數(shù)據(jù)說你達到的成就效果。
  5. 再說說你這樣的設(shè)計或者實現(xiàn)有什么好處,對項目或者業(yè)務(wù)的發(fā)展能有什么幫助。
  6. 最后說說,你一直期望能多學習不同項目不同公司的多線程和高并發(fā)的經(jīng)驗。如果可以,你期望到貴公司學習更多經(jīng)驗。
  7. 另外,如果你項目中沒有用到太多的高并發(fā)和多線程,那么你就談?wù)勀阄磥砥谕绾稳ヒ?guī)劃,還是按照上面那幾點的套路來回答。
2017年2月21日 19:29
編輯回答
離夢

一步一步來,慢慢說,把能說的點都點到了,最好有實踐經(jīng)驗,沒有也沒關(guān)系,基本是前端、代理、代碼(包含代碼優(yōu)化)、緩存、服務(wù)器和數(shù)據(jù)庫都會有

比如,代碼這一層就很關(guān)鍵,你還可以點到設(shè)計模式和編程模型,講一下傳統(tǒng)一個請求一個線程的模式和selector模式的區(qū)別,講一下監(jiān)聽模式和廣播模式的異同等等,都是多線程編程常見的概念

望你提綱挈領(lǐng),按圖索驥,面試順利

另外,我碼云寫了兩個項目是關(guān)于算法和多線程的,算法的話是java版本的《算法圖解》實現(xiàn),多線程的項目里面東西應(yīng)該對你也有幫助,不要急,一步一步走就很快了

2017年4月25日 23:31
編輯回答
笑浮塵

你可以看看這本書《大型網(wǎng)站技術(shù)架構(gòu)》
https://book.douban.com/subje...

2017年4月2日 09:05
編輯回答
久舊酒

單臺的情況不管你怎么優(yōu)化,你的代碼寫的在好,都提升不大,單臺可以支持的服務(wù)量是一定的,很快就到瓶頸。

解決高并發(fā)問題,肯定涉及的是集群/分布式的概念:
應(yīng)用集群/應(yīng)用分布式。
緩存集群。
數(shù)據(jù)庫集群。
....

然后再單點展開
1:比如redis緩存怎么集群,具體有什么實現(xiàn)方案,到網(wǎng)上搜索,按照例子自己實現(xiàn)以下。
2:應(yīng)用怎么集群,分布式怎么實現(xiàn)。
.....

2018年2月7日 14:37