Java 工程師面試題和筆試題整理

根據本身以前收集的還有一部分本身面試的整理出來,但願能幫到面試的兄弟。前端

海科融通

筆試題java

一、有一個字符串,若是要在其中查找一個子串,都有哪些方式,寫出你認爲最好的一個。面試

二、寫出線程都有哪些狀態以及狀態變遷圖。算法

三、死鎖是怎麼產生的?解決死鎖的思路有哪些?數據庫

四、描述 Web 開發中亂碼是如何產生的以及如何來解決?編程

五、描述數據庫鏈接池的工做原理。設計模式

六、Servlet 是單例嗎?若是咱們寫的 Servlet 存在實例變量會有什麼風險?瀏覽器

七、WEB 開發中,filter 能夠用來作什麼?緩存

八、數據庫的 ACID 特色是什麼?以及它們分別應用的場合。安全

九、請用面向對象的方法設計一個計算器,須要實現加減乘除功能。

安軟信息

筆試題

一、HashMap 和 ConcurrentHashMap 有何區別?

二、建立線程的幾種方法?

三、Thread.start() 與 Thread.run() 有什麼區別,對於一個線程的狀態產生怎樣的影響?

四、在靜態方法上使用同步時,其餘線程是否能夠進入這個類的任何靜態同步方法?簡述原理。

五、什麼是線程死鎖?

六、簡述事務的基本原則:ACID

七、簡述 PreparedStatement 在執行效率方面爲何比 Statement 會高?請說明原理。

八、簡述數據庫鏈接池在應用程序中有何優點?

九、Oracle 表分析(ANALYZE TABLE)的做用是什麼?

十、使用 Oracle 的過程當中,若是發生了 SQL 死鎖,經過哪些 Oracle 日誌能夠來快速定位哪些 SQL 之間放生了死鎖?

十一、如何強制垃圾回收一個指定的對象?

十二、分別簡述適配器模式、觀察者模式、單例模式

1三、單例模式爲啥不會被垃圾收集器回收掉?

1四、寫一段簡單工廠模式的代碼。

金銀島

筆試題

一、Java中異常處理機制的簡單原理和應用。

二、XML包括哪些解釋技術,區別是什麼?

三、Java線程同步方法?

四、Java中的final、finally、finalize的區別?

五、闡述工廠模式及基本實現代碼。

六、敘述 SSI 或 SSH 體系架構及心得體會。

七、一個表中每一個 Id 有多條記錄,把全部 Id 的記錄查出來,並顯示每一個Id各有多少條記錄數。

八、一個表中有時間(T)、收入(I)、產品(P)、三個字段,請查處全部日期,全部產品當天與前一天的差值。

觀其科技

外派泰康人壽

一面:

一、SpringMVC和Struts2有什麼區別?

二、Nginx具體的使用?經常使用命令都有哪些?怎麼配置負載均衡?

三、大家公司上線前的準備工做都有啥?

四、項目涉及到的併發場景說一下?

五、MyBatis的#{}和${}有啥區別?

六、事務有沒有用過?怎麼用的?

七、上線有沒有遇到什麼問題?怎麼處理的?

八、SQL優化了解多少?

九、對數據庫查的多仍是修改的多,索引怎麼設置的?

十、JavaScript的繼承瞭解嗎?

十一、都瞭解什麼設計模式?平時用的多嗎,都哪裏用到?

十二、有沒有調用過別人的接口?都是怎麼調的?有沒有接觸過WebService接口調用?

1三、有沒有接觸過批處理?

1四、Maven有了解嗎?怎麼搭建一個Maven項目?

1五、iText大家是怎麼使用的?

1六、大家接口參數都是什麼格式?有沒有過使用對象做爲參數?

1七、JavaScript操做頁面元素都有哪些方法?Jquery呢?

1八、線上日誌是怎麼查看的?用的什麼工具?項目裏用的什麼日誌組件?

1九、PowerDesigner用過嗎,怎麼用的?

20、Hibernate用過嗎?具體的使用。

二面:

一、你以爲當前大家公司的架構有什麼優缺點?

二、大家的需求怎麼敲定的?

三、對Java面向對象編程思想的理解?

四、基本數據類型都有哪些?包裝類有哪些?

五、String和StringBuff的區別?String爲何會頻繁建立對象?final有什麼做用?

六、說下內部類都有啥?匿名內部類是否能訪問所在類的成員變量?

七、說下經常使用的集合?說下HashMap結構

八、說下Spring的加載過程

九、實際開發中有沒有遇到過什麼問題?怎麼解決的?

十、通常怎麼學習一些新的東西?

十一、Java的反射機制

十二、Oracle的分頁查詢怎麼寫?

1三、SQL優化方面的知識?

數碼視訊

一、Jquery的綁定事件?那幾個函數能夠實現綁定click事件?

二、HTML5用過嗎?畫布怎麼使用?

三、前端使用過什麼UI框架?

四、CSS實現一個DIV獨佔一行,幾種實現方式?

五、JS裏面定義一個類,怎麼實現?

六、JS中的call及apply有什麼區別?

七、RBAC模式是什麼?說一下大家權限管理業務模型。

八、需求從開始到實現,大家的流程,都用到什麼工具?

九、流程圖基於什麼作的,UML規範,Visio用過嗎?

十、Nginx怎麼配置?

十一、線程同步幾種方式?

十二、多線程的等待和喚醒機制。

1三、設計模式瞭解多少?裝飾者模式在怎麼業務場景下用到?

1四、寫代碼的時候有沒有遵循一些什麼規範?軟件開發原則?

文思海輝

外派滴滴打車

一、Http接口都有哪些返回的狀態碼?

二、Http接口504,超時了,沒有日誌,怎麼排查問題。

三、Linux文件從本地傳到服務器用哪一個命令?

四、HashMap和CurrentHashMap,後者怎麼實現線程安全?

五、final修飾在類、方法、變量上有什麼區別?

六、怎麼實現一個方法加鎖?實現線程同步?Synchronized 和Lock的區別?

七、兩個synchronized 方法,其中一個有static修飾,二者有什麼區別?

八、垃圾回收針對哪一個區域?堆是怎麼劃分的?

九、垃圾回收幾種算法?都是啥?

十、一個主線程在運行中,暫停一下,啓動十個子線程,等子線程運行完畢,主線程恢復運行,怎麼實現?

十一、平時用的線程池有哪些?

十二、Spring框架包含哪些部分?怎麼理解AOP?用了哪些設計模式?怎麼實現的代理?

1三、怎麼理解反射?

1四、完整的請求到接口代碼裏完整的過程。

1五、怎麼限制Tomcat的總線程數量?

1六、HTTPS怎麼實現安全的?

1七、Redis的CAS機制?

1八、怎麼設計一個分佈式的Redis的集羣?

1九、Oracle的隔離級別?默認級別?索引都用過哪幾種?

20、Oracle都瞭解什麼特性?

2一、分佈式定時任務怎麼實現的?樂觀鎖機制?

2二、消息隊列用過哪些?

2三、一個接口怎麼實現流量控制?

信安世紀

一、Linux的各類命令?

二、Tomcat啓動的時候提示端口被佔用,怎麼處理?

三、Linux安裝了兩個JDK,怎麼把Tomcat指向其中一個JDK?

四、說一說對Spring的理解?

五、Strust2有什麼特色?

六、怎麼考慮搭建這個框架的?當前的軟件架構。

七、說一個你以爲比較有亮點的模塊或功能。

八、大家系統中怎麼使用SpringSecurity的?

惟醫網

一、SSM架構的原理,怎麼使用?

二、H5圖片上傳怎麼處理的?

三、Redis的使用場景?怎麼用的?

四、HttpClient怎麼使用的?有哪些方法?POST和GET有哪些區別?

五、SQL優化有哪些?

六、建表的時候使用什麼數據庫引擎?

七、用戶這邊的角色怎麼設計的?

盛景網聯

一、項目裏面你主要作了哪些?

二、微信公衆號開發都涉及到哪些?

三、二維碼機制?怎麼控制過時時間?

四、用戶拼團購買怎麼實現的?

五、MySQL的char和varchar什麼區別?一個漢字佔幾位?

六、Linux的一些命令?

七、總結一下你的技術特長。

八、前端瀏覽器怎麼設置一個TCP鏈接保持?調優設置。

九、Java中的攔截器怎麼使用的?爲何要是用攔截器?

無雙科技

一面:

一、JVM內存模型

二、垃圾收集的算法,機制?

三、JVM調優

四、SpringBoot有哪些功能?

五、攔截器怎麼實現的權限管理?SpringMVC怎麼處理的攔截器?

六、依賴注入的原理?AOP的原理?

七、動態代理是一個什麼樣的過程?

八、緩存系統是怎麼設計的?

九、Redis清除部分統一前綴的數據?

十、Redis的keys的時間複雜度。

十一、事務使用什麼管理的?

十二、分佈式不一樣的事務怎麼實現?跨數據庫的事務怎麼實現?

1三、用隊列有什麼好處?

1四、數據庫事務的隔離級別?爲何要設置隔離級別?

1五、volatile的做用?

1六、HashMap和hashTable的區別?CurrentHashMap爲啥比HashTable快?

1七、如何提升一個程序的併發數?

1八、數據庫索引有哪些?組合索引的規則?

1九、Like能用到索引嗎?大與號能用到索引嗎?

20、經常使用的算法有哪些?時間複雜度和空間複雜度。

2一、HashMap查找一個數速度和HashMap的大小有關嗎?

二面:

一、有沒有碰到過OOM異常?

二、QPS大概多少?怎麼測QPS?

三、Redis緩存怎麼用的?

四、數據庫用的什麼中間件?

五、多線程用過嗎,異步加載的數據怎麼保證同步?

六、25匹馬速度都不一樣,共有5條賽道,每條賽道同時只能跑一匹馬(也就是說一次最多同時跑5匹馬),最少跑幾回能找出前三名?(沒有計時器,只是能用肉眼分辨出一塊兒跑的馬的快慢。答案:7次)

曠視科技

一、怎麼搭建的Jenkins?

二、經常使用的通訊協議有哪些?

三、HTTP是有狀態仍是無狀態的?怎麼實現有狀態?

四、HTTP協議的結構。

五、HTTP遇到的狀態碼

六、怎麼搭建Quartz?數據庫那些Quartz表有啥做用?

七、Java中經常使用的基本類型有哪些?聲明一個int變量在內存中佔多大?int a = 2 和 int b  = 20000 佔的空間同樣嗎?

八、Java提供的線程池都有哪些類?線程池中若是有一個線程任務拋異常了,沒有捕獲,線程池是怎麼處理的?線程拋異常呢?

九、開發中用到Spring的哪些註解?

十、MyBatis中的#{}和${}有啥區別?

十一、經常使用的集合類都有哪些?

十二、HashMap經過key查詢一個value的時間複雜度是多少?具體查找過程是怎樣的?

1三、使用Base64目的是作什麼的?

1四、開發中遇到的異常都有哪些?java.lang.ClassNotFoundException 和  java.lang.NoClassDefFoundError 有啥區別?

京東數科

一、HashMap的實現機制?HashMap怎麼能查找的快點?

二、Java類加載機制?

三、多線程之間的消息通訊怎麼作?

四、手寫一個快速排序算法。

五、手寫一個二分查找算法。

六、手寫一個字符串怎麼實現反轉。

七、手寫兩個字符串的交換,時間複雜度爲1。

八、手寫一個對Map裏的元素進行排序。

九、Redis的持久化有哪些方式?

十、Redis出現熱Key怎麼解決?

十一、MQ的實現機制是什麼?

十二、TCP的三次握手和四次揮手。

1三、Spring裏面的注入Resource是幹啥用的,至關於什麼操做?

1四、Shell腳本查一個文本中某個關鍵字出現的次數?統計一個文本文件的行數?

1五、怎麼設計一個計時器,30分鐘爲一週期?實現一個定時器。

1六、B+樹的結構是什麼樣的,爲何要用B+樹作索引,它有什麼好處?說說它的特性。

1七、SQL列轉行、行轉列怎麼寫?

相關文章
相關標籤/搜索