摘要:用戶態(tài)不能干擾內(nèi)核態(tài)所以指令就有兩種特權(quán)指令和非特權(quán)指令不同的狀態(tài)對(duì)應(yīng)不同的指令。非特權(quán)指令所有程序均可直接使用。用戶態(tài)常態(tài)目態(tài)執(zhí)行非特權(quán)指令。
這是我今年從三月份開始,主要的大廠面試經(jīng)過,有些企業(yè)面試的還沒來得及整理,可能有些沒有帶答案就發(fā)出來了,還請(qǐng)各位先思考如果是你怎么回答面試官?這篇文章會(huì)持續(xù)更新,請(qǐng)各位持續(xù)關(guān)注,希望對(duì)你有所幫助!
面試清單平安產(chǎn)險(xiǎn)
飛豬
上汽大通
浩鯨科技
杏仁醫(yī)生
興盛優(yōu)先
御泥坊
拓維信息
陸金所
蜜獾信息
豐巢科技
平安產(chǎn)險(xiǎn)先通過郵件發(fā)了一份線上測(cè)評(píng)(EQ+IQ), 做完達(dá)到要求后才能有后續(xù)的面試機(jī)會(huì),沒有通過兩年之內(nèi)不能進(jìn)平安任何一家公司。
一面 自我介紹 看我工作時(shí)間不長,問我為什么頻繁跳槽(間接問離職原因) 關(guān)注過平安哪些架構(gòu)?我就說了軍哥的pass平臺(tái)
解釋下什么是用戶態(tài)和內(nèi)核態(tài)?兩者有什么區(qū)別?內(nèi)核態(tài):當(dāng)一個(gè)任務(wù)(進(jìn)程)執(zhí)行系統(tǒng)調(diào)用而陷入內(nèi)核代碼中執(zhí)行時(shí),我們就稱進(jìn)程處于內(nèi)核運(yùn)行態(tài)(或簡(jiǎn)稱為內(nèi)核態(tài))。其他的都屬于用戶態(tài)。
用戶程序運(yùn)行在用戶態(tài),操作系統(tǒng)運(yùn)行在內(nèi)核態(tài)(操作系統(tǒng)內(nèi)核運(yùn)行在內(nèi)核態(tài),而服務(wù)器運(yùn)行在用戶態(tài))。用戶態(tài)不能干擾內(nèi)核態(tài).所以CPU指令就有兩種,特權(quán)指令和非特權(quán)指令.不同的狀態(tài)對(duì)應(yīng)不同的指令。特權(quán)指令:只能由操作系統(tǒng)內(nèi)核部分使用,不允許用戶直接使用的指令。
如:I/O指令、置終端屏蔽指令、清內(nèi)存、建存儲(chǔ)保護(hù)、設(shè)置時(shí)鐘指令(這幾種記好,屬于內(nèi)核態(tài))。非特權(quán)指令:所有程序均可直接使用。
所以:
系統(tǒng)態(tài)(核心態(tài)、特態(tài)、管態(tài)):執(zhí)行全部指令。
用戶態(tài)(常態(tài)、目態(tài)):執(zhí)行非特權(quán)指令。
用戶態(tài)和內(nèi)核態(tài)的理解和區(qū)別
用過Spring boot哪些版本?新版本相對(duì)于舊版本有哪些改變?https://github.com/spring-projects/spring-boot/wiki
Spring Boot 2.x 與 1.x 的區(qū)別,以及如何做版本遷移
web.xml中DispatcherServlet的作用?Spring MVC中的DispatcherServlet作用
DispatcherServlet過程詳解
講下web.xml中Filter類(過濾器)web.xml中的配置,servlet,filter,listener的作用和原理
使用Spring boot以后,與之前系統(tǒng)的配置方式區(qū)別方面?(Spring boot 和 Spring MVC 使用和配置上的區(qū)別?)SpringBoot - 注冊(cè)Servlet、Filter和Listener(代碼和注解兩種方式)
spring boot與spring mvc的區(qū)別是什么?
好像還有個(gè)reactivity什么的,當(dāng)時(shí)記不清了。你們?nèi)绻嬖嚺龅搅讼嚓P(guān)經(jīng)典題目。歡迎補(bǔ)充!
二面整理中
飛豬首先這個(gè)面試機(jī)會(huì)是來自于內(nèi)推,當(dāng)然內(nèi)推的人和我一面的面試官都是同一個(gè)人,所以 嘿嘿嘿 你懂得...
一面 自我介紹 介紹一下你這邊最熟悉的項(xiàng)目?在開發(fā)過程中印象最深刻地方? Springboot 2.0.0和Springboot 1.5.6的區(qū)別?https://github.com/spring-projects/spring-boot/wiki
Spring Boot 2.x 與 1.x 的區(qū)別,以及如何做版本遷移
有沒有看過Springboot的源碼?(很尷尬,沒有研究過)https://github.com/spring-projects/spring-boot
Springboot中遇到的一些坑及解決方法?Springboot與shiro整合遇到的坑
Spring Boot 從1.0 升級(jí)到 2.0 所踩的坑
有沒有看過Spring的源碼?(很尷尬,了解過)https://github.com/spring/spring
你現(xiàn)在對(duì)Dubbo了解得怎么樣?(作為這個(gè)項(xiàng)目的貢獻(xiàn)者,沒有深入閱讀源碼和實(shí)踐真的是汗顏)https://github.com/apache/incubator-dubbo
30 道 Dubbo 面試題及答案
JDK 1.9 的新特性?(我說:沒有用過1.9,感覺1.9不是很穩(wěn)定,只用過1.8)那說一下 1.8 有哪些新特性?jdk8, jdk8u, jdk9, jdk10的側(cè)重和區(qū)別是什么?
JDK 9新特性匯總
JDK1.8新特性(持續(xù)更新)
JDK有哪些實(shí)現(xiàn)代理方法?JDK動(dòng)態(tài)代理和CGlib動(dòng)態(tài)代理有什么區(qū)別?深入理解靜態(tài)代理與JDK動(dòng)態(tài)代理
JDK動(dòng)態(tài)代理與CGLib動(dòng)態(tài)代理相關(guān)問題
介紹下OOM?開發(fā)過程中遇到過哪些OOM,怎樣解決的?OutOfMemoryError,當(dāng)JVM因?yàn)闆]有足夠的內(nèi)存來為對(duì)象分配空間并且垃圾回收器也已經(jīng)沒有空間可回收時(shí),就會(huì)拋出這個(gè)error(注:非exception,因?yàn)檫@個(gè)問題已經(jīng)嚴(yán)重到不足以被應(yīng)用處理)。
因?yàn)镺utOfMemoryError是可以catch的。catch之后吞掉的話程序還能試著繼續(xù)運(yùn)行。例如說以前見過的一個(gè)案例是:一個(gè)Java服務(wù)器端應(yīng)用,有段代碼沒寫對(duì)導(dǎo)致有一個(gè)線程在瘋狂創(chuàng)建大數(shù)組對(duì)象——直到OOM。這個(gè)線程注冊(cè)的uncaught exception handler捕獲到了這個(gè)異常,記錄了日志,然后就把這個(gè)異常吞掉了。這樣還能繼續(xù)正常跑下去是因?yàn)椋褐皇且粋€(gè)創(chuàng)建很大的數(shù)組對(duì)象的請(qǐng)求失敗了而已,而出錯(cuò)的那個(gè)方法由于異常處理已經(jīng)被退出了,程序的其它部分并沒有受影響。
JVM 發(fā)生 OOM 的 8 種原因、及解決辦法
介紹下Java內(nèi)存模型?Java內(nèi)存模型(JMM)總結(jié)
你這邊還有什么問題? 二面整理中
上汽大通一套J2EE+Oracle的筆試 大概有五六張紙 我只依稀記得幾道題
現(xiàn)場(chǎng)面試 main方法中是否可以調(diào)用非靜態(tài)方法可以,一種方法將main方法寫成靜態(tài)方法,另一種將當(dāng)前類實(shí)例化再調(diào)用它的非靜態(tài)方法,例如:
public class Test { private int a; public int getnumber() { setnumber(8); return this.a; } public int setnumber (int a) { return this.a=a; } public static void main(String args[]){ } }
改為:
public class Test { private int a; public int getnumber() { setnumber(8); return this.a; } public int setnumber(int a) { return this.a = a; } public static void main(String args[]) { Test t = new Test(); // t.setnumber(10); int a = t.getnumber(); System.out.println(a); } }解釋下AOP和IOC的工作機(jī)制?
AOP思想的實(shí)現(xiàn)一般都是基于代理模式 ,在JAVA中一般采用JDK動(dòng)態(tài)代理模式,但是我們都知道,JDK動(dòng)態(tài)代理模式只能代理接口而不能代理類。因此,Spring AOP 會(huì)這樣子來進(jìn)行切換,因?yàn)镾pring AOP 同時(shí)支持 CGLIB、ASPECTJ、JDK動(dòng)態(tài)代理。
Spring IOC的初始化過程:
XML ------> Resource ------> BeanDefinition ------> BeanFactory
如何理解Spring中的IOC和AOP
servlet的生命周期javax.servlet.Servlet接口中的init()、service()和destroy()方法來表示,主要包括四個(gè)階段:
加載和實(shí)例化
初始化
請(qǐng)求處理
服務(wù)終止
String、StringBuffer和StringBuilder三者區(qū)別?JAVA中String與StringBuffer,StringBuilder的區(qū)別
StringBuffer 和 StringBuilder 的區(qū)別是什么?
怎么實(shí)現(xiàn)synchronized的可重入?synchronized是可重入的,對(duì)同一個(gè)執(zhí)行線程,它在獲得了鎖之后,在調(diào)用其他需要同樣鎖的代碼時(shí),可以直接調(diào)用。
可重入是通過記錄鎖的持有線程和持有數(shù)量來實(shí)現(xiàn)的,當(dāng)調(diào)用synchronized保護(hù)的代碼時(shí),檢查對(duì)象是否已被鎖,如果是,再檢查是否被當(dāng)前線程鎖定,如果是,增加持有數(shù)量,如果不是被當(dāng)前線程鎖定,才加入等待隊(duì)列,當(dāng)釋放鎖時(shí),減少持有數(shù)量,當(dāng)數(shù)量為0時(shí)才釋放整個(gè)鎖。
synchronized 關(guān)鍵字
RuntimeException和Exception的區(qū)別?java基礎(chǔ)學(xué)習(xí)(12)RuntimeException和Exception
wait()和sleep()的區(qū)別?sleep( ) 和 wait( ) 的這 5 個(gè)區(qū)別,你知道幾個(gè)?
有三個(gè)線程t1、t2、t3。確保三個(gè)線程t1執(zhí)行完后t2執(zhí)行,t2執(zhí)行完成后t3執(zhí)行?用 Thread 類的 join 方法。
private static void threadJoinOneByOne() throws InterruptedException { Thread t1 = new Thread(ThreadExecutionQuestion::action, "t1"); Thread t2 = new Thread(ThreadExecutionQuestion::action, "t2"); Thread t3 = new Thread(ThreadExecutionQuestion::action, "t3"); // start() 僅是通知線程啟動(dòng) t1.start(); // join() 控制線程必須執(zhí)行完成 t1.join(); t2.start(); t2.join(); t3.start(); t3.join(); } private static void action() { System.out.printf("線程[%s] 正在執(zhí)行... ", Thread.currentThread().getName()); // 2 } }
CountDownLatch也可以實(shí)現(xiàn)
調(diào)整優(yōu)先級(jí)并不能保證控制線程執(zhí)行順序
&和&&的區(qū)別?電路問題總結(jié):
&:不管怎樣,都會(huì)執(zhí)行"&"符號(hào)左右兩邊的程序
&&:只有當(dāng)符號(hào)"&&"左邊程序?yàn)檎?true)后,才會(huì)執(zhí)行符號(hào)"&&"右邊的程序。
運(yùn)算規(guī)則:
&:只要左右兩邊有一個(gè)為false,則為false;只有全部都為true的時(shí)候,結(jié)果為true
&&:只要符號(hào)左邊為false,則結(jié)果為false;當(dāng)左邊為true,同時(shí)右邊也為true,則結(jié)果為true
sql語句select、group by、order by、where先后順序?寫的順序:select ... from... where.... group by... having... order by..
執(zhí)行順序:from... where...group by... having.... select ... order by...
解釋Java內(nèi)存模型?Java內(nèi)存模型(JMM)總結(jié)
JDBC如何連接數(shù)據(jù)庫?JDBC【介紹JDBC、使用JDBC連接數(shù)據(jù)庫、簡(jiǎn)單的工具類】
兩位技術(shù)負(fù)責(zé)人+部長(周)簡(jiǎn)單聊了一下,自己的項(xiàng)目和經(jīng)驗(yàn),遇到過哪些問題?怎么解決的?怎么設(shè)計(jì)數(shù)據(jù)庫模型?
浩鯨科技 一面 自我介紹 談一下自己最熟悉的項(xiàng)目中的業(yè)務(wù)框架?(登錄+權(quán)限VIP服務(wù)綁定)
開發(fā)過程中后端如何提交給前端接口? 如何解決前后端token過期問題?每隔一段時(shí)間在后端請(qǐng)求中都將token傳送過去,獲取新的token值,并返回前端放入cookies中并記錄cookie的存儲(chǔ)失控,達(dá)到更新cookie中token的效果;而長時(shí)間不做操作的話我們就可以讓他的token失效退出系統(tǒng)了。
如何解決前后端token過期問題
如何實(shí)現(xiàn)在登錄中高可用?什么是高可用?用戶信息存redis;加節(jié)點(diǎn),加機(jī)器,多部署實(shí)例。
什么是高可用
你實(shí)際java開發(fā)多長時(shí)間?當(dāng)問我這個(gè)問題的時(shí)候,我就知道前面答得并不是很好,所以面試官后面問的都是基礎(chǔ)題。
抽象類和接口有什么區(qū)別?接口和抽象類有什么區(qū)別?
用過哪些集合?list和set的區(qū)別?深入理解Java中的List、Set與Map集合
用過哪些設(shè)計(jì)模式?如何在代碼中應(yīng)用設(shè)計(jì)模式
你這邊還有什么問題?因?yàn)檫@個(gè)項(xiàng)目是和杭州阿里系的大佬們一起開發(fā)盒馬鮮生這款產(chǎn)品,所以著重問了下開發(fā)產(chǎn)品情況和團(tuán)隊(duì)架構(gòu)。
你現(xiàn)在的薪資和期望薪資?照實(shí)際的說,大廠一般都會(huì)查銀行流水。
二面整理中
杏仁醫(yī)生 一面 自我介紹 mysql 常用存儲(chǔ)引擎有哪些?分別有什么特點(diǎn)和區(qū)別?MySQL常用存儲(chǔ)引擎
談一談MySQL的四種事務(wù)隔離級(jí)別,有哪些區(qū)別?MySQL的四種事務(wù)隔離級(jí)別
說一下非公平鎖?平時(shí)用到的是非公平鎖多一點(diǎn)還是公平鎖多一點(diǎn)?非公平鎖的優(yōu)點(diǎn)是可以減少喚起線程的開銷,整體的吞吐效率高,因?yàn)榫€程有幾率不阻塞直接獲得鎖,CPU不必喚醒所有線程。缺點(diǎn)是處于等待隊(duì)列中的線程可能會(huì)餓死,或者等很久才會(huì)獲得鎖。
談一下volatile關(guān)鍵字你是怎么理解的?能否保證原子性?(比較synchronized關(guān)鍵字)volatile關(guān)鍵字是線程同步的輕量級(jí)實(shí)現(xiàn),所以volatile性能肯定比synchronized關(guān)鍵字要好。但是volatile關(guān)鍵字只能用于變量,而synchronized關(guān)鍵字可以修飾方法以及代碼塊。synchronized關(guān)鍵字在JavaSE1.6之后進(jìn)行了優(yōu)化,主要包括為了減少獲得鎖和釋放鎖帶來的性能消耗而引入的偏向鎖和輕量級(jí)鎖以及其它各種優(yōu)化,執(zhí)行效率有了顯著提升,實(shí)際開發(fā)中使 用 synchronized 關(guān)鍵字的場(chǎng)景還是更多一些。
多線程訪問volatile關(guān)鍵字不會(huì)發(fā)生阻塞,而synchronized關(guān)鍵字可能會(huì)發(fā)生阻塞。
volatile關(guān)鍵字能保證數(shù)據(jù)的可見性,但不能保證數(shù)據(jù)的原子性。synchronized關(guān)鍵字兩者都能保證。
volatile關(guān)鍵字主要用于解決變量在多個(gè)線程之間的可見性,而 synchronized關(guān)鍵字解決的是多個(gè)線程之間訪問資源的同步性。
談一下樂觀鎖和悲觀鎖?面試必備之樂觀鎖與悲觀鎖
面試官:什么是樂觀鎖請(qǐng)舉例 程序員:瑟瑟發(fā)抖 不懂啊
談一下守護(hù)線程?用到過哪種?java 多線程 守護(hù)線程
ArrayList和LinkedList的區(qū)別?Java中ArrayList和LinkedList區(qū)別
簡(jiǎn)單介紹下java中常見的引用類型java基本類型與引用類型
興盛優(yōu)先說下面試前奏,我和這個(gè)公司互相鴿了一次,第一次我是因?yàn)槟谴卧诘罔F里,信號(hào)不好怕影響面試效果,就提前說明了;結(jié)果第二次本來約的是晚上8:00,結(jié)果9:15分打電話過來面試,fuck,我還在洗衣服。面試官說只要20分鐘,如果不方便可以下次約,好像這個(gè)面試官是已經(jīng)下班了,在家里跟我打得電話,我覺得都不容易,還是同意面了。
說來也奇怪,竟然沒讓我自我介紹,直接上來就跟我聊參與的開源項(xiàng)目 Dubbo,問我為這個(gè)項(xiàng)目貢獻(xiàn)了哪一塊?我輕描淡寫的描述了主要負(fù)責(zé) Dubbo的哪些生態(tài),和如何管理控制版本的發(fā)布等等。因?yàn)槲抑饕?fù)責(zé)官網(wǎng)的迭代和維護(hù),而Apache項(xiàng)目之間的溝通都是英文交流,老外喜歡用郵件列表的形式來討論,不會(huì)像國內(nèi)的開源項(xiàng)目,任務(wù)認(rèn)領(lǐng)的方式是在社交軟件上進(jìn)行溝通,老外根本就不用。順便問了下我英語怎么樣?我講完后,順便介紹了下我自己。接下來正式進(jìn)入面試環(huán)節(jié)。
一面 談一談 Dubbo 序列化協(xié)議Dubbo 支持 Hessian、Java 二進(jìn)制序列化、json、SOAP 文本序列化多種序列化協(xié)議。但是 Hessian 是其默認(rèn)的序列化協(xié)議。
談一下 Dubbo 的整體架構(gòu)中的網(wǎng)絡(luò)傳輸層(Transport)?抽象 mina 和 netty 為統(tǒng)一接口,以 Message 為中心,擴(kuò)展接口為Channel、Transporter、Client、Server和Codec
30 道 Dubbo 面試題及答案
說一下你最熟悉的項(xiàng)目中,遇到的印象最深刻的問題?是怎么解決的?Springboot與shiro整合遇到的坑
說一下在HashMap中遇到的hash沖突是如何解決的?HashMap?面試?我是誰?我在哪
原理:HashMap基于哈希表實(shí)現(xiàn)的,通過put和get方法存儲(chǔ)和獲取對(duì)象。當(dāng)調(diào)用put方法時(shí),通過鍵對(duì)象的hashCode找到在數(shù)組中的位置來存儲(chǔ)值對(duì)象。當(dāng)獲取對(duì)象時(shí)的時(shí)候,先通過鍵對(duì)象的hashCode找到數(shù)組中的位置,然后通過鍵對(duì)象的equals()方法找到正確的值對(duì)象。
HashMap使用LinkedList來解決碰撞沖突,當(dāng)兩個(gè)對(duì)象的hashCode相等時(shí)它們?cè)跀?shù)組的位置相同就會(huì)發(fā)生碰撞沖突,這個(gè)時(shí)候?qū)ο髮?huì)存儲(chǔ)在LinkedList的下一個(gè)節(jié)點(diǎn)中。獲取對(duì)象的時(shí)候通過鍵對(duì)象的equals方法遍歷LinkedList直到找到正確的值對(duì)象。
談一下List接口有哪些特性?深入理解Java中的List、Set與Map集合
說一下ArrayList和LinkedList區(qū)別?Java中ArrayList和LinkedList區(qū)別
foreach循環(huán)里進(jìn)行元素的remove/add操作,這樣合理嗎?為什么?不合理
為什么阿里巴巴禁止在 foreach 循環(huán)里進(jìn)行元素的 remove/add 操作
當(dāng)有線程 T1、T2 以及 T3,如何實(shí)現(xiàn) T1 -> T2 -> T3 的執(zhí)行順序?以上問題請(qǐng)至少提供另外一種實(shí)現(xiàn)?用 Thread 類的 join 方法。
private static void threadJoinOneByOne() throws InterruptedException { Thread t1 = new Thread(ThreadExecutionQuestion::action, "t1"); Thread t2 = new Thread(ThreadExecutionQuestion::action, "t2"); Thread t3 = new Thread(ThreadExecutionQuestion::action, "t3"); // start() 僅是通知線程啟動(dòng) t1.start(); // join() 控制線程必須執(zhí)行完成 t1.join(); t2.start(); t2.join(); t3.start(); t3.join(); } private static void action() { System.out.printf("線程[%s] 正在執(zhí)行... ", Thread.currentThread().getName()); // 2 } }
CountDownLatch也可以實(shí)現(xiàn)
調(diào)整優(yōu)先級(jí)并不能保證控制線程執(zhí)行順序
好像還有一個(gè)問題?是一個(gè)專有技術(shù)名詞的解釋?我真的沒聽過...... 御泥坊這個(gè)也是一個(gè)朋友內(nèi)推,工資要砍半,細(xì)節(jié)我就不說了,直接上干貨。
說一下你最熟悉的項(xiàng)目中,遇到的印象最深刻的問題?是怎么解決的?Springboot與shiro整合遇到的坑
說一下TCP/IP 協(xié)議HTTP協(xié)議—— 簡(jiǎn)單認(rèn)識(shí)TCP/IP協(xié)議
如何讓Redis與Mysql數(shù)據(jù)保持同步?如何保持mysql和redis中數(shù)據(jù)的一致性?
如何查詢Hashmap里面的元素?(增刪改查)【面向?qū)ο蟀妗縃ashMap(增刪改查)
說一下Hashmap 擴(kuò)容機(jī)制?第一次擴(kuò)容到達(dá)的閾值是多少?JDK 1.7: 深入理解HashMap的擴(kuò)容機(jī)制
JDK 1.8: jdk1.8 HashMap工作原理和擴(kuò)容機(jī)制(源碼解析)
默認(rèn)大小為16,負(fù)載因子0.75,閾值12
拓維信息這個(gè)是Boss直聘找的,本來是另一個(gè)HR先跟我聊得,后面他出差了,來了個(gè)小姐姐找我。
一面 說一下Spring boot(工作機(jī)制,和spring mvc對(duì)比優(yōu)缺點(diǎn))這10道springboot常見面試題你需要了解下
說一下Spring MVC框架Spring MVC框架
工作中有沒有遇到過Mysql優(yōu)化,請(qǐng)談一談巧用這19條MySQL優(yōu)化,效率至少提高3倍
最全 MySQL 優(yōu)化方法,從此優(yōu)化不再難
Mysql一般什么情況查詢?nèi)菀壮霈F(xiàn)索引失效?怎么解決?關(guān)聯(lián)查詢
Mysql之索引失效
MySQL避免索引失效
說一下在工作項(xiàng)目中如何運(yùn)用Redis的?Redis
工作中使用Java多態(tài)多嗎?請(qǐng)簡(jiǎn)單說一下淺談java多態(tài)
淺談Java的多態(tài)
工作中用過哪些接口?其中List有哪些類?談一下它們的區(qū)別?工作3年出去面試Java,被鄙視spring的接口有哪些都不清楚
深入理解Java中的List、Set與Map集合
有使用過Spring Cloud嗎?有了解過微服務(wù)嗎? 對(duì)前端技術(shù)有了解嗎? 你這邊有什么問題? 陸金所 一面 看我工作時(shí)間不長,問我為什么頻繁跳槽(間接問離職原因) 說一下Java類加載機(jī)制?Java類加載機(jī)制
說一下GC中 G1 G2 的算法G1 收集器原理理解與分析
為啥你們公司在使用Mysql,還要使用MongDB?我為什么放棄MySQL?選擇了MongoDB
說一下 B+樹 的理解?平衡二叉樹、B樹、B+樹、B*樹 理解其中一種你就都明白了
你對(duì)索引有了解嗎?說一下A ="a",B="b", AB="ab"?(這個(gè)題說實(shí)話沒聽清面試官的意思,應(yīng)該是問的是否會(huì)造成索引失效)。 蜜獾信息 一面 說一下最近做過的項(xiàng)目 你使用過哪些JDK版本? 用過哪些集合包?ArrayList、LinkedList、Vector、Stack、HashSet、TreeSet、HashMap、TreeMap
深入理解Java中的List、Set與Map集合
說一下ArrayList、LinkedList、HashMap 底層數(shù)據(jù)結(jié)構(gòu)Arraylist 與 LinkedList 區(qū)別?
一篇文章搞定ArrayList和LinkedList所有面試問題
HashMap底層實(shí)現(xiàn)原理(上)
HashMap底層實(shí)現(xiàn)原理(下)
Arraylist 是有序還是無序?有序
有哪些方式可以實(shí)現(xiàn)多線程?Java多線程實(shí)現(xiàn)的四種方式
用過哪些并發(fā)包(我反問面試官是不是JUC,為何他說不是?)java并發(fā)包、線程池、鎖
說一下sleep( ) 和 wait( )的區(qū)別?sleep( ) 和 wait( ) 的這 5 個(gè)區(qū)別,你知道幾個(gè)?
開發(fā)過程中遇到過哪些異常?/Exception 與 error的區(qū)別?/說一下error層次結(jié)構(gòu)?Java異常處理
用過哪些數(shù)據(jù)庫?/說一下Mysql 四種事務(wù)隔離級(jí)別/哪種級(jí)別最高?為什么?真正理解Mysql的四種事務(wù)隔離級(jí)別
用過索引吧?在使用索引需要注意什么?(如何避免索引失效?)如何理解并正確使用MySql索引
Mysql索引簡(jiǎn)明教程
Mysql之索引失效
MySQL避免索引失效
說一下Spring MVC框架Spring MVC框架
http 和 https 的區(qū)別?http就是我們說的超文本傳輸協(xié)議,這個(gè)協(xié)議它是用一種明文的方式發(fā)送我們的內(nèi)容,沒有任何的加密。比如說我們?cè)L問一個(gè)網(wǎng)站,我們可能需要在這個(gè)網(wǎng)站輸入密碼,登錄賬號(hào)之類的操作,那我們的賬號(hào)和密碼就會(huì)發(fā)送到網(wǎng)站的服務(wù)器上面。但要是有人在中途截取了我們的信息,那我們的一些比較重要的信息可能就暴露了,所以為了解決http在傳輸過程中不加密的問題,之后就增加了一個(gè)SSL協(xié)議,這個(gè)協(xié)議簡(jiǎn)單說就是一個(gè)提供數(shù)據(jù)安全和完整性的協(xié)議,也就是負(fù)責(zé)網(wǎng)絡(luò)連接的加密。
比如我們?cè)L問一個(gè)https的網(wǎng)站,那我們的電腦就會(huì)先和服務(wù)器建立一個(gè)安全的連接通道,然后服務(wù)器會(huì)先發(fā)送一份網(wǎng)站的證書信息到我們電腦,就相當(dāng)于是告訴我們電腦,你訪問的服務(wù)器沒有問題。確認(rèn)了信息之后,我們服務(wù)器就會(huì)生成一個(gè)加鎖的箱子,但是這把鎖有兩把不一樣的鑰匙,一把是給我們電腦的,另一把是服務(wù)器自己的。然后服務(wù)器就會(huì)把沒有上鎖的箱子和鑰匙發(fā)給我們電腦,我們把信息放在箱子里面之后,用鑰匙鎖上,然后發(fā)給服務(wù)器,服務(wù)器再用自己的鑰匙打開箱子,來保證信息的安全。在這個(gè)過程中,即使箱子被別人攔截了,因?yàn)闆]有服務(wù)器的鑰匙,以目前的技術(shù)來講,還是很難打開箱子的。所以現(xiàn)在的一些大的網(wǎng)站,尤其是購物網(wǎng)站、或者是需要我們登錄的網(wǎng)站,基本上都是https的。
http 和 https 有何區(qū)別?如何靈活使用?
一般數(shù)據(jù)都是以什么形式傳給前端?json格式
前后端數(shù)據(jù)交互之前端傳值到后臺(tái)
你這邊還有什么問題? 豐巢科技 自我介紹看到我說的和簡(jiǎn)歷上的沒差別,就沒讓我繼續(xù)說了
你平時(shí)是怎么學(xué)習(xí)技術(shù)的? 有中間件開發(fā)經(jīng)驗(yàn)嗎? 如何搭建Nacos/dubbo平臺(tái)? 說一下Spring MVC框架Spring MVC框架
Mybatis是如何將sql執(zhí)行結(jié)果封裝為目標(biāo)對(duì)象并返回的?都有哪些映射形式?第一種是使用
有了列名與屬性名的映射關(guān)系后,Mybatis通過反射創(chuàng)建對(duì)象,同時(shí)使用反射給對(duì)象的屬性逐一賦值并返回,那些找不到映射關(guān)系的屬性,是無法完成賦值的。
十道常見的mybatis面試題
談一談公平鎖和非公平鎖?最全Java鎖詳解:獨(dú)享鎖/共享鎖+公平鎖/非公平鎖+樂觀鎖/悲觀鎖
兩程序員玩“鎖”,一人搶救無效身亡
簡(jiǎn)單聊下線程池?線程池你真不來了解一下嗎?
當(dāng)面試官問線程池時(shí),你應(yīng)該知道些什么?
簡(jiǎn)單說一下Java內(nèi)存模型(JMM)Java內(nèi)存模型(JMM)總結(jié)
工作中有沒有Mysql優(yōu)化的經(jīng)驗(yàn),請(qǐng)談一談巧用這19條MySQL優(yōu)化,效率至少提高3倍
最全 MySQL 優(yōu)化方法,從此優(yōu)化不再難
談一下索引數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫索引數(shù)據(jù)結(jié)構(gòu)總結(jié)
簡(jiǎn)述 B+Tree二叉樹學(xué)習(xí)筆記之B樹、B+樹、B*樹
談一談單鏈表和雙鏈表的區(qū)別?單鏈表:?jiǎn)捂湵碇挥幸粋€(gè)指向下一節(jié)點(diǎn)的指針,也就是只能next。
雙鏈表:雙鏈表除了有一個(gè)指向下一節(jié)點(diǎn)的指針外,還有一個(gè)指向前一結(jié)點(diǎn)的指針,可以通過prev快速找到前一結(jié)點(diǎn)。一般我們都構(gòu)造雙向循環(huán)鏈表。
數(shù)據(jù)結(jié)構(gòu)與算法-鏈表(上)
談?wù)?synchronized 和 ReentrantLock 的區(qū)別兩者都是可重入鎖
synchronized 依賴于 JVM 而 ReentrantLock 依賴于 API
ReentrantLock 比 synchronized 增加了一些高級(jí)功能
相比synchronized,ReentrantLock增加了一些高級(jí)功能。主要來說主要有三點(diǎn):①等待可中斷;②可實(shí)現(xiàn)公平鎖;③可實(shí)現(xiàn)選擇性通知(鎖可以綁定多個(gè)條件)
兩者的性能已經(jīng)相差無幾
談?wù)?synchronized 和 ReentrantLock 的區(qū)別
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74512.html
摘要:原文地址游客前言金三銀四,很多同學(xué)心里大概都準(zhǔn)備著年后找工作或者跳槽。最近有很多同學(xué)都在交流群里求大廠面試題。 最近整理了一波面試題,包括安卓JAVA方面的,目前大廠還是以安卓源碼,算法,以及數(shù)據(jù)結(jié)構(gòu)為主,有一些中小型公司也會(huì)問到混合開發(fā)的知識(shí),至于我為什么傾向于混合開發(fā),我的一句話就是走上編程之路,將來你要學(xué)不僅僅是這些,豐富自己方能與世接軌,做好全棧的裝備。 原文地址:游客kutd...
摘要:正如我標(biāo)題所說,簡(jiǎn)歷被拒??戳宋液?jiǎn)歷之后說頭條競(jìng)爭(zhēng)激烈,我背景不夠,點(diǎn)到為止。。三準(zhǔn)備面試其實(shí)從三月份投遞簡(jiǎn)歷開始準(zhǔn)備面試到四月份收,也不過個(gè)月的時(shí)間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號(hào):進(jìn)擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學(xué)的分享 目錄: 印象中的頭條 面試背景 準(zhǔn)備面試 ...
摘要:正如我標(biāo)題所說,簡(jiǎn)歷被拒??戳宋液?jiǎn)歷之后說頭條競(jìng)爭(zhēng)激烈,我背景不夠,點(diǎn)到為止。。三準(zhǔn)備面試其實(shí)從三月份投遞簡(jiǎn)歷開始準(zhǔn)備面試到四月份收,也不過個(gè)月的時(shí)間,但這都是建立在我過去一年的積累啊。 本文是 無精瘋 同學(xué)投稿的面試經(jīng)歷 關(guān)注微信公眾號(hào):進(jìn)擊的java程序員K,即可獲取最新BAT面試資料一份 在此感謝 無精瘋 同學(xué)的分享目錄:印象中的頭條面試背景準(zhǔn)備面試頭條一面(Java+項(xiàng)目)頭條...
閱讀 1558·2021-11-18 10:02
閱讀 1728·2021-09-04 16:40
閱讀 3200·2021-09-01 10:48
閱讀 903·2019-08-30 15:55
閱讀 1883·2019-08-30 15:55
閱讀 1398·2019-08-30 13:05
閱讀 3041·2019-08-30 12:52
閱讀 1643·2019-08-30 11:24