java 银行项目对于金额的面试题_2019年面试题小结
最近大大小小面試了一些公司包括某軟、某寶和其他小公司,結(jié)果都還令人滿意,因此打算做一個小的總結(jié),幫助一些同樣面臨跳槽或者找工作的同學(xué)抓住一些重點。就像期末考試,如果時間多,你確實需要盡可能吸收整本書的知識點,畢竟你也不知道什么時候在某個不經(jīng)意的瞬間就幫了你一把,但是期末考和面試一樣,抓住重點分數(shù)其實也不會低,特別是時間不充分的時候
這里我大概總結(jié)一下面試經(jīng)驗(有些已經(jīng)忘記,想不起來了)
外企
如果是面試外企的同學(xué),比如“微軟”等公司,你更多需要的不是語言本身,外企一般不會太在乎你用的是哪一門語言,只要類似的語言就OK,好比招Java開發(fā),你可以是主攻C++、C#也可以是Python,更多側(cè)重于你的“基礎(chǔ)”和你這個“人”本身。在基礎(chǔ)上,考算法比較多(包括Google,但是Google的算法難度比“亞麻”(Amazon)和“巨硬”高很多)因此算法上需要加強鍛煉,如果一心想去MS等外企的可以刷LeeCode上的題目,對于一般級別的開發(fā)崗位我把我面試微軟的經(jīng)歷寫在了另外一個帖子上
養(yǎng)兔子的大叔:微軟面試?zhuanlan.zhihu.com國內(nèi)企業(yè):
對于國內(nèi)的企業(yè)因為大多數(shù)面試套路都基本一致,因此我不再以公司為粒度,而是直接說一下大概的重點
需要強調(diào)的一點是:
對于社招同學(xué),必須要有一個拿的出手的項目,可講的項目。不是說這個項目要多么屌爆多么酷,這個項目能盡量和目標(biāo)公司使用的技術(shù)棧比較相近(最好是這樣)然后更重要的一點是你對這個項目能知道它完整的構(gòu)成,比如一個app,肯定是為一個用戶服務(wù)一項或者幾項功能服務(wù)。那么你就需要非常了解一個用戶
從app進來->到這個功能服務(wù)使用過程->使用結(jié)束
這整個過程前后端是如何交互,前端請求如何到達后端,后端服務(wù)之間如何調(diào)用,以什么分布式協(xié)議交互,數(shù)據(jù)流轉(zhuǎn)是如何?等等
為什么一定要準(zhǔn)備一個可以好好聊的項目呢?為了拖時間!
因為任何面試都是有時間限制的,不能太長,同樣也不能太短,這個是大多數(shù)正規(guī)公司的一個規(guī)范。當(dāng)你去面試的時候如果無項目可聊,那么1個小時的面試時間,你就會被瘋狂問技術(shù)基礎(chǔ),你覺得你都能答上來?這是非常可怕的處境,而且范圍那么廣,技術(shù)問題那么多,我覺得你會被折磨瘋了的。但是1個小時的時間,你們聊項目用了30分鐘,那么很多技術(shù)其實也就是針對你的項目來問的,就算你不精通,起碼也能略知一二。(如果你連自己做過的項目中涉及哪些技術(shù)哪些模塊也不清楚,別人敢錄用你?百分之八九十,你要么在打醬油,要么就是做邊角料的工作,甚至項目都是假的)
這里以我目前最近做的某項目舉個簡單例子(粗略畫一下),項目架構(gòu)圖(在面試某寶的時候用上了)
基礎(chǔ)業(yè)務(wù)分布式架構(gòu)一般面試先從項目聊起,問你做了些什么東西,那么你除了文字描述項目的一些功能點
就像上述圖里所示的,那么你肯定要知道這個CAP(這里的CAP是公司的一個組件,不是分布世一致性的CAP,但是你應(yīng)該也要知道)的作用,做了些什么東西。Dubbo的體系結(jié)構(gòu)(如何注冊,注冊協(xié)議,比如Zookeeper),后端server之間的交互等等,凡是你項目中提到的就算不能精通,也應(yīng)該能答出一二。下面是我簡歷中寫道的使用到的技術(shù)
涉及到的技術(shù)點1.比如既然上述提到了CAP那么面試官也就想到了分布式的CAP
什么是分布式CAP?
請用分布式mysql來解釋一下什么情況下是滿足CAP中的CP,什么時候是滿足CAP中的AP,以及分布式mysql的主從機制
2.Dubbo的注冊中心用的什么協(xié)議,當(dāng)你說使用Zookeeper的時候,就會再問你“什么是Zookeeper協(xié)議,大概工作原理是怎么樣的”,“什么是臨時鎖,永久鎖”,Dubbo的體系結(jié)構(gòu)。當(dāng)dubbo注冊中心掛了,會影服務(wù)方和調(diào)用方嗎,Dubbo調(diào)用用的是什么傳輸協(xié)議?等等
3.redis的幾種數(shù)據(jù)結(jié)構(gòu),以及這幾種數(shù)據(jù)結(jié)構(gòu)是用C的哪些數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的?Memchache和Redis的異同。Redis為什么速度很快,你覺得它快的幾個原因是什么?如何用redis實現(xiàn)分布式鎖?
4. 你使用了Mysql為什么還使用MongoDB?什么情況下使用MongoDB?MongoDB中你們大概存儲的數(shù)據(jù)量是多少(這里也就涉及到為什么使用MongoDB)
5. 你們Mysql一天的數(shù)據(jù)量大概是多少(當(dāng)你瞎說,說的很多的時候;就會扯到這里會不會有性能問題(分表分庫等)因為我就瞎扯過,幸好圓回來了)?Mysql鎖,以及你們是否發(fā)生Mysql死鎖的情況?如果沒有,你是否了解過Mysql死鎖?什么是樂觀鎖和悲觀鎖,以及什么時候使用樂觀鎖,什么時候使用悲觀鎖比較合適
6. Mysql索引的幾種數(shù)據(jù)結(jié)構(gòu),以及這幾種數(shù)據(jù)結(jié)構(gòu)的大致是怎么樣的,如何查找數(shù)據(jù)的?什么是最左匹配原則?Mysql優(yōu)化你一般是怎么做的?聚簇索引和非聚簇索引的異同?
7.Kafka的那么高的吞吐量你覺得是因為那幾個方面的改進或者特點?你為什么使用Kafka而不是其他MQ中間件?它們之間的區(qū)別是什么?你知道“零拷貝”嗎?NIO為什么是比較快的IO是而使用線程池卻性能卻比較慢?知道AIO嗎?NIO和AIO的區(qū)別?
8.什么是Spring的隔離級別,有哪些隔離級別,分別代表什么意思?Spring傳播屬性知道嗎,有哪些傳播屬性,每個屬性的區(qū)別是什么?Spring事務(wù)是如何實現(xiàn)的?
9.消息冪等和接口冪等你們是怎么做的?
10. 使用8,9相關(guān)的知識,完成一道“轉(zhuǎn)賬”的題目,要求A向B用戶轉(zhuǎn)賬一筆錢(參數(shù)有交易號,金額,雙方金額賬戶號),保證不發(fā)生透支的情況,并且該轉(zhuǎn)賬日均有100萬筆,請使用一定的數(shù)據(jù)庫和事務(wù)等知識,同時保證接口冪等
11. 你知道哪些設(shè)計模式?策略模式、命令模式、3中工廠模式,模板方法模式,請用代碼寫一下
12. 現(xiàn)在有10個線程,使得10個線程都完成后去做執(zhí)行第11個線程,你如何實現(xiàn)(CountDownLatch)
13. 現(xiàn)在有3個線程,一次相互打印出0-1000的數(shù)
如
thread-1:0
thread-2:1
thread-3:2
thread-1:0
....
如果是N個線程呢?
14. 請實現(xiàn)多生產(chǎn)者多消費者,消費和生產(chǎn)MQ的代碼
15. Java線程池你用的經(jīng)常嗎?一般都用哪個線程池?能說說創(chuàng)建線程池時每個參數(shù)的意義嗎?以及線程池內(nèi)部的實現(xiàn)原理,什么時候會保持coreSize,什么時候要排隊等等
16. Java你知道的鎖有哪些,原理是什么(AQS的知識點了)
17. 既然Synchronized和ReetrantLock實現(xiàn)的功能這么相似,那么你什么時候使用Lock什么時候使用Synchronized呢?以及什么時候使用Volitale,能解釋一下它的作用嗎?
18. ConcurrentHashMap的實現(xiàn)原理能說一下嗎
19. 是否知道深拷貝和淺拷貝?它們有什么區(qū)別?
20. ThreadLocal能說一下它的作用嗎?
21. Java的內(nèi)存模型?JVM內(nèi)存模型,及哪些地方會有OOM哪些不會有OOM,你知道哪些垃圾收集器,能否解釋一下G1和CMS收集器?垃圾收集算法有哪些,它們的優(yōu)缺點?
22. 項目中遇到了什么挑戰(zhàn),你是怎么解決的
23. 你未來的職業(yè)規(guī)劃
以上,就是我最近面試過程之中被問到的問題
強烈建議大家刷一下我在這個帖子下面寫的Java面試題,靠這些題目基本上的公司都能進,阿里的話看點緣分,網(wǎng)易的話有時候還要看一下你的學(xué)歷養(yǎng)兔子的大叔:JAVA面試題大集以上,就是我最近面試過程之中被問到的問題
強烈建議大家刷一下我在這個帖子下面寫的Java面試題,靠這些題目基本上的公司都能進,阿里的話看點緣分,網(wǎng)易的話有時候還要看一下你的學(xué)歷
以上,就是我最近面試過程之中被問到的問題
強烈建議大家刷一下我在這個帖子下面寫的Java面試題,靠這些題目基本上的公司都能進,阿里的話看點緣分,網(wǎng)易的話有時候還要看一下你的學(xué)歷養(yǎng)兔子的大叔:JAVA面試題大集以上,就是我最近面試過程之中被問到的問題
強烈建議大家刷一下我在這個帖子下面寫的Java面試題,靠這些題目基本上的公司都能進,阿里的話看點緣分,網(wǎng)易的話有時候還要看一下你的學(xué)歷
建議各位準(zhǔn)備一段時間就出去看看,可以用小公司練練手,然后看一下自己學(xué)習(xí)程度夠不夠,然后再查漏補缺,然后又出去面面,找一家公司保底,然后再去大公司面試,一個你不會覺得自己沒有下家而“虛”,而是心儀的公司機會難得,放在最后成功率更高,也因為有公司保底,你也敢開口要錢
祝各位好運~
總結(jié)
以上是生活随笔為你收集整理的java 银行项目对于金额的面试题_2019年面试题小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家里利用旧笔记本硬盘老旧笔记本硬盘
- 下一篇: 戴尔电脑进入bios模式的方法电脑如何进