这里有一份面筋请查收(四)
這里我連續介紹三家公司的面試,一家是只有一面,還有兩家是面完一面就沒去了,沒去主要是當時一周面了6家而且是在不同的城市,就選擇性的挑了這兩家沒去,是在是太累了,6月17日那天嗓子都面啞了。
第一家(2016-06-13 14:00)
這是一家本地電商企業,簡稱S, 企業規模還真是特別大,面的是互聯網金融的職位??偣裁嬖嚲鸵幻?#xff0c;1個多小時,大概的過程就是被蹂躪。。Java基礎好像沒怎么問,大體上問了一些分布式架構的相關問題。
比如:Kafka, ActiveMQ, RabbitMQ之間的區別以及各自的使用場景。
比如:LVS和Nigix的區別及使用場景
比如:Redis和Memcached
比如:Zookeeper和Keepalived
大體就是抓著問到你不會為止,反正是被蹂躪了。。
過了一周后被通知說面試過了,期間一直以為掛了。而且給的薪水其實是蠻好的了。真是無法理解。。
這其實是真正的第一家面完了的。
技術上沒什么通用性,就當談笑風聲了。
最后沒去主要是因為比我的期望少了一點點,只要不達標,立馬要拒掉,否則想著留一個保底,后面的面試就沒那么的有戰斗力了。置之死地而后生。
第二家(2016-06-07 10:44)
這是一家大型國企,相信看我博客的小伙伴就算沒用過他的產品也聽過它,如果沒聽過,只能表示你住在深山里的嚒。。這里簡稱C。這家公司面完一面(電面)就沒選擇去,主要有兩點:1. 大型國企最重要的是管理,約好10:00沒來電,后來去催才來的,所以管理上有偏差;2. 他招的不是純Java的,需要Js,python都用的,博主在目前的公司中就C,C++,JS,Java都寫,比較厭煩這種“不專一”的行為。
回憶一下面試題,大概有以下一些:
1.負載均衡方式?
http重定向,DNS域名解析負載均衡,反向代理負載均衡,LVS-NAT, LVS-TUN, LVS-DR.詳細可以參考《LVS:三種負載均衡方式比較+另三種負載均衡方式》。
2.AIO? Tomcat中有沒有AIO?
博主說Tomcat中有BIO,NIO但是真沒見過AIO。面試官說tomcat中有。后來查看了一下資料,Tomcai中有三種模式BIO,NIO,Apr,你指的AIO是Apr嚒。。。囧。
3.問了一個js的問題:寫個var變量它掛在那個對象上?
好久沒寫js了,寫的時候也是用框架Dojo寫(這個知道的人很少,一般用Jquery的多),想了一會兒說:document,然后又被問了個問題document的父對象是什么? 母雞啊~
4.數據庫優化策略。
凡事數據庫相關的一概懵逼。雖然博主用過DB2, Oracle, MySql, SQLServer甚至還用過Access,但是不足以應付面試。短期強化也沒意義,一般被問到就說母雞啊~
5.Tomcat原理。
基本上簡歷上寫了什么東西,都被問了一邊原理。這個Tomcat的還真沒看過。。懵逼態。
第三家(2016-06-16 20:30)
對于這家沒有什么印象,獵頭介紹的,簡稱為Z好了,面試還是中規中矩的。當時剛面完一家公司I剛回到賓館就接到電話,嗓子很疼,就心想著快點結束吧,也沒怎么記住面了什么,大致是如下這些:
1.Redis和數據庫之間的數據一致性問題解決方案。
博主說了一種方法,大致是這樣的:將某個庫上的某個key要發生的寫操作,記錄在緩存中,并設置“經驗主從同步時間”的緩存超時時間為500ms,這時間是指數據庫主備同步的時間不會超過500ms,但是也有可能發生超過500ms的現象,當然可以設置的更久一點,只會偶爾發生最終一致性問題,大多數時候可以保證強一致性。由于一般數據庫是讀寫分離的,寫的時候將寫的操作在數據庫中執行并存入緩存設置超時時間500ms,當讀的時候,先查緩存Redis,如果有相關記錄則從Redis中返回,如果沒有則說明已經同步到負責讀的數據庫中了,可以直接從讀數據庫中讀取數據,這樣也能做到讀寫數據庫的分離。
有關數據一致性問題可以參考《淺析數據一致性》。
2.簡述下生產消費者模式,發布訂閱模式。略
3.SpringBean的加載過程。
這個上一篇博文中也有描述,這里再說一下自己的理解。其實這個是蠻長的一段,主要有一下一些步驟(博主個人理解,僅供參考):xml解析之后存入一個BeanDefinition之中,然后主要是對其進行操作;先在singletionObjects(是一個ConcurrentHashMap的對象)判斷有沒有Bean的實例,有就處理下返回,沒有就繼續;檢測一下循壞依賴之類的;下面要進入主題了,如果是單例(Spring Bean默認是單例)的話,就創建實例并存入singletonObjects中,如果不是則創建不保存(當然這里也有一個非常復雜的過程,這里就不論述了);實例創建完之后就開始屬性注入(autowiredByType, autowiredByName);初始化Bean(激活Aware方法:BeanNameAware, BeanFactoryAware, ApplicationContextAware等;BeanPostProcessor接口;激活自定義init方法:init-method, InitializingBean接口;);這里就可以使用Bean了;使用完之后就是銷毀了(destory-method, DisposableBean接口)。有關Spring的一些知識點可以參考《Spring知識點提煉》。
主要是根據簡歷來問一些問題。
更多鏈接請關注:
這里有一份面筋請查收(一)
這里有一份面筋請查收(二)
這里有一份面筋請查收(三)
這里有一份面筋請查收(四)
這里有一份面筋請查收(五)
這里有一份面筋請查收(六)
這里有一份面筋請查收(七)
這里有一份面筋請查收(八)
參考資料:
1. LVS:三種負載均衡方式比較+另三種負載均衡方式
2. 淺析數據一致性
3. Spring知識點提煉
總結
以上是生活随笔為你收集整理的这里有一份面筋请查收(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [改善Java代码]使用valueOf前
- 下一篇: 我的SQL SERVER数据库会装满吗?