哈哈哈,很久沒來csdn了,最近剛入職一周就撤了,只能再次重新找作業。
今天起,記錄每次面試中的面試題目,一方面以表記錄;另一方面分享出來,也期望可以看到筒子們的答案,集思廣益。
今天面試一家小創業公司,面試問題如下:
1、組合索引是什么,建立組合索引有哪些原則,索引的存盤結構是什么,b樹和b+樹的區別
2、資料庫的隔離級別是什么,mysql默認的隔離級別是什么,不可重復讀這種隔離級別是什么機制實作的。
3、資料庫的鎖有哪些,互斥性
4、系統a呼叫系統b的介面,如何保證資料一致性,比如呼叫b介面的時候,b里面的功能操作成功,但是回傳a系統的時候超時了,造成a系統以為b系統沒有操作成功,如何保證資料的一致性,有什么機制。呼叫b的失敗重試次數要如何實作
5、a系統呼叫b系統b系統呼叫了c系統,如果用執行緒池的話,如何分配。這個題目我不懂什么意思,因為個人菜鳥,對執行緒池不太了解
6、mybatis中防止sql注入是怎么實作的,如果一個where條件中有like %abc%這樣的條件要如何實作
7、redis在你們專案中的使用場景是如何的。我回答的就是快取某些配置類資料,他接著問,如何保證redis配置更新的時候通知到每臺機器。
8、你還有什么要問我的嗎?
哈哈哈,首戰以失敗告終,除了前3個回答了一些,剩余的都水得不行,再接再厲吧。加油。
uj5u.com熱心網友回復:
4.b向a提供一個基于唯一請求id查詢狀態的介面, spring提供了基于執行緒級別的retry 寫法比較優雅;5.我個人想到的就是三個系統執行緒池業務處理執行緒數要依次遞增,保證業務執行緒夠用;
6 mybatis $ #的區別
7 這個問題 可能我理解有問題,如果從通知的角度來說 redis支持 發布訂閱模式;
uj5u.com熱心網友回復:
謝謝你 答復了,我怎么感覺這些我都不會呢?哭死了。
uj5u.com熱心網友回復:
昨天面試的公司。一家教育類的先做了一份筆試題,然后面試是根據筆試題目來問的,最后問了些資料庫之類的問題。
筆試題此處省略。
面試題目,
1、rabbitmq如何避免訊息重復和訊息丟失
2、redis如何避免資料丟失,我說aof模式,他說如果設定的3秒持久化一次,但是在1秒時就丟失了,如何避免
3、手寫jdk8中的lamda運算式,是一個person的list 里面有age和name屬性,用lamda運算式寫出回傳年齡大約60歲的人名字。
uj5u.com熱心網友回復:
集思廣益,再接再厲uj5u.com熱心網友回復:
樓主,你做開發幾年了?uj5u.com熱心網友回復:
樓主, 你做Java開發嗎?幾年啦?uj5u.com熱心網友回復:
回復,做開發5年左右,不過畢業已經超過5年,技術也有點菜,期望筒子們多多的答復呀,集思廣益。今天面試為一家醫療的公司。
問了很多mq的問題,比如里面的概念性的東西,路由和交換機
1、靜態代理很動態代理的區別,spring的aop的原理及用的哪種代理方式,aspectj和cglib的區別。
2、sql優化是怎么做的,索引建立的時候的注意事項,用explain命令查看sql的性能時候,關注的是哪幾列
3、系統中的監控要怎么樣做,要監控些什么
4、redis的不同資料結構底層的實作是如何的
5、factorybean和beanfactory的區別
6、前序中序和后序遍歷二叉樹
7、treemap和hashmap的區別及底層資料結構;紅黑樹和二叉樹的區別
uj5u.com熱心網友回復:
同準備找作業,加油。uj5u.com熱心網友回復:
同準備找作業,只會一個6.......$和#的區別,like的話用bind標簽
uj5u.com熱心網友回復:
lamda運算式還沒怎么用過uj5u.com熱心網友回復:
第七題我也碰到過 當時沒答上來。。。。
uj5u.com熱心網友回復:
我表示一道題都不會 我很慶幸我能找到作業uj5u.com熱心網友回復:
2叉樹是非平衡型的 而紅黑色樹是自平衡的,每當插入一個值會查詢資料并得到一個中間值放置到頂,然后重新生成一次樹的平衡結構 這樣的話效率會高點
uj5u.com熱心網友回復:
像我這種菜鳥看的一臉懵逼。。。。。。uj5u.com熱心網友回復:
唉,怎么辦呢。作業還沒有搞定。心里焦急呀。我也不知道為什么我遇到的公司總問些這類的問題,我又不面試高級崗位。昨兒又面試了一個公司。
問的問題,
1、String的底層實作是怎樣的
2、Java的類加載器有多少種
3、Gc回收的相關知識
4、Java記憶體結構
5、如何實作大并發
uj5u.com熱心網友回復:
csdn bbs又改版了?路過,頂一個!uj5u.com熱心網友回復:
uj5u.com熱心網友回復:




uj5u.com熱心網友回復:
其實都是面試造火箭,作業擰螺絲,面試問了那么多底層原理的東西,作業很少用的上,不刷面試題很難答上來。uj5u.com熱心網友回復:
看看,不說話的uj5u.com熱心網友回復:
路過看看不說話,努力學習uj5u.com熱心網友回復:
路過看看不說話,努力學習uj5u.com熱心網友回復:
像我這種菜鳥什么時候才能找到作業
uj5u.com熱心網友回復:
6 的可以這么寫#{xxx},使用的是PreparedStatement,會有型別轉換,所以比較安全;
${xxx},使用字串拼接,可以SQL注入;
like查詢不小心會有漏動,正確寫法如下:
Mysql: select * from t_user where name like concat('%', #{name}, '%')
uj5u.com熱心網友回復:
樓主加油,繼續發帖,持續關注中。uj5u.com熱心網友回復:
關注關注,多學習,現在很多面試問的都比較底層,確實考驗知識量,但我估計一部分猿們的都沒深層研究過當然也包括我,只是當作業來做吧uj5u.com熱心網友回復:
我倒是很感興趣啊.可惜還是個菜鳥, 要先學作業能用到的找個作業吃上飯,這些深奧的只能有空再研究了uj5u.com熱心網友回復:
靜態代理很動態代理的區別:靜態代理需要繼承被代理物件,呼叫時必須呼叫代理物件。動態代理,無需繼承被代理物件,只需實作jdk動態代理介面,利用反射呼叫被代理物件的方法,同時植入自己的方法。spring aop是動態代理模式。
cglib和aspectj的區別,我還真忘記了,看來要百度一下了,只記得aspectj比較高級,是通過編譯后的代碼動態位元組碼植入達到增強效果的。有個asm的這個東西,忘記的比較多了。
uj5u.com熱心網友回復:
1、這道題考你,創建的復合索引什么情況查詢管用,什么情況查詢不管用
我們讀書,目錄就是索引。為了讓我們快速找到所有的記錄。在表的一列上加索引,就是單索引;在表的多列上加索引,就是復合索引。
復合索引的創建方式與單一索引的方式一樣。
能用使用索引的情況是:where后面的條件的順序符合創建的索引欄位的順序。
MySql的InnoDB引擎,使用B+tree的方式存盤。
B+tree是Btree的變種,能夠減低樹的深度,存盤更多的葉子節點。
2、考你資料庫的基礎知識:隔離級別
資料庫的隔離級別四種:未提交讀、提交讀、可重復讀、可串行化
mysql默認是可重復讀;
Oracle默認是提交讀。
可重復讀隔離級別,可以理解是快照。每個事務,都會去讀自己的快照,所以才能夠可重復讀到。
3、
InnDBm鎖:
共享鎖、排它鎖、意向共享鎖、意向排他鎖。
共享鎖:允許事務讀,阻止其他事務的排他鎖;
排他鎖:允許 擁有排他鎖事務更新資料,阻止其他事務獲取相同資料集的共享鎖和排他鎖。
4、考你分布式系統的應用
a可以多次呼叫b,如果某一次b執行成功了,a超時。那么a再次呼叫的時候,b直接回傳成功就可以了。這種要看具體的應用場景;
也可以像樓上哥們兒說的:b提供一個單獨的查詢狀態的介面,供a查詢。
5、這應該考你執行緒池執行緒數的設定
表面意思,都在呼叫c,c被呼叫的次數多,那么執行緒池中執行緒數應從a到c,依次遞增。
6、略
7、redis作為快取,一般用于存盤需要短期存盤的資料;像共享的session,也可以存在redis里面。
作業原理
在Slave啟動并連接到Master之后,它將主動發送一條SYNC命令。此后Master將啟動后臺存盤行程,同時收集所有接收到的用于修改資料集的命令,在后臺行程執行完畢后,Master將傳送整個資料庫檔案到Slave,以完成一次完全同步。而Slave服務器在接收到資料庫檔案資料之后將其存盤并加載到記憶體中。此后,Master繼續將所有已經收集到的修改命令,和新的修改命令依次傳送給Slaves,Slave將在本次執行這些資料修改命令,從而達到最終的資料同步。
uj5u.com熱心網友回復:
1、參考樓上哥們兒的意見。
2、
(他們公司肯定又很多老專案,老sql,呵呵了~~)
我之前寫sql很多,現在都不寫sql、不優化sql了,現在都是運維監控那條兒sql耗時,我們就把它整到記憶體中來,換一種方式實作。
當然中間會用到explain分析之類的,看看查詢時有沒有用到索引,看看業務的合理性。
3、監控要怎么做,這問題問的好可笑。監控專案無論大小,都要根據需求來,作業中,大量需要人工盯著的東西,都需要進行監控。有監控就要有報警。任何環境出現例外,都要及時監控到并發出報警,這就是監控。
4、
redis的五種資料結構:字串、串列、哈希、集合、有序集合。
5、spring-core原始碼的知識。
BeanFactory是Factory工廠,是介面,這個系列實作了容器最基本的功能,高級功能由ApplicationContext實作。
FactoryBean是Bean,是實作類。你組態檔里寫的xml,或者Java代碼里面注解的類,就是FactoryBean。
6、
樓上哥們兒說得很好:
2叉樹是非平衡型的 而紅黑色樹是自平衡的,每當插入一個值會查詢資料并得到一個中間值放置到頂,然后重新生成一次樹的平衡結構 這樣的話效率會高點
7、
treemap底層是二叉樹結構(紅黑樹)
hashmap采用哈希表進行存盤
平衡二叉樹是完美主義,要求絕對的平衡,每次插入資料,需要旋轉轉換多次,且次數不可預知;
紅黑樹是改良版,追求大致平衡
(講真,這個需要找本演算法書好好看一遍。一遍懂了,以后就是復習了,簡單省事兒。我也會忘,每次面試時,也都是搞出來翻一遍)
uj5u.com熱心網友回復:
好好準備,祝你早日面試成功。uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我就看到了一點:一周就撤了!uj5u.com熱心網友回復:
謝謝分享!學習學習!uj5u.com熱心網友回復:
其實都是面試造火箭,作業擰螺絲,面試問了那么多底層原理的東西,作業很少用的上,不刷面試題很難答上來。
哪里可以刷面試題
uj5u.com熱心網友回復:
感謝分享,祝成功uj5u.com熱心網友回復:
感謝分享,祝成功uj5u.com熱心網友回復:
一周就撤,刪庫跑路轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133917.html
標籤:Java EE
上一篇:filter過濾器
下一篇:測驗類中文亂碼
