BAT 面试Java技术问题总结
生活随笔
收集整理的這篇文章主要介紹了
BAT 面试Java技术问题总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
前言
此文總結一些校招常見面試題目,供應屆生或者實習生參考學習,題目太多,所以只做問題總結,不做答案
PS:此文只是總結技術問題,對于校招面試中的各種基礎準備、情商問題、個人表現、,需要自己好好準備
阿里校招
1.java中所有類的父類是什么?他都有什么方法?
2.java中IO包下面的inputstream運用了什么設計模式?請簡述你知道的設計模式?
3.ArrayList跟LinkedList的區別詳細說出?
4.session和cookie的區別?
5.說一下快速排序的原理?
6.簡述AOP,及其作用?
7.struts2的流程?
8.java有些類中為什么需要實現Serializable接口?
9.hashmap,hashtable的區別?以及如何使用,以及他的一些方法?
10.設計題,利用hashmap對蘋果的重量進行排序?
11.struts2攔截器相關問題?struts2接受參數的方式?
12.異常的相關問題?error和exception具體?
13.servlet相關知識,doPost,doGet,一些內置對象?
14.set和list的區別,一些個實現類,繼承關系、、?
15.數據庫事務隔離機制及其特點是什么?
16.JVM內存heap and stack
17.HTTP報文包含內容?
18.談談數據結構中的時間復雜度如何計算的,鏈表和數組區別
19.寫出快排,并說出快排的時間復雜度,還有最差情況是什么情況下
20.浮點數在計算機中如何存儲,0.1+0.2為什么、、于0.30000000000000004
21.new一個對象時構造函數發生了什么,如果主動return一個對象,那返回的是什么
22.在網絡傳輸數據時,經常需要將二進制數據轉換為一個可打印字符串,一般用到的可打印字符集合包含64個字符,因此又稱為Base64表示法,現有一個char數組長度為12,要將它表示為Base64字符串,請問Base64字符串至少需要幾個char、、如果char的長度為20,則需要幾個char?
23.假設支付寶紅包口令支持1到6位的數字組合,即’0′,’1′,’003’和‘999999’全都是合法的紅包口令,那么總共可以有多少個合法的紅包口令?
24.一個具有513個節點的二叉樹,有_種可能的層高?
25.給定一個整數sum,從有N個無序元素的數組中尋找元素a,b,c,d,使得a + b + c + d = sum,最快的平均時間復雜度是_?
26.Hashtable,HashMap,ConcurrentHashMap 底層實現原理與線程安全問題(建議熟悉 jdk 源碼,才能從容應答)
27.Java 的引用類型有哪幾種
28.抽象類和接口的區別
29.設計模式會哪些
30.工廠方法模式的優點(低耦合、、高內聚,開放封閉原則)
31.老年代中數組的訪問方式
32.GC 算法,永久代對象如何 GC , GC 有環怎么處理
33.誰會被 GC ,什么時候 GC
34.如果想不被 GC 怎么辦
35.如果想在 GC 中生存 1 次怎么辦
36.hashCode() 與 equals() 生成算法、、方法怎么重寫
37.排序算法與時空復雜度
38.查找樹與紅黑樹
39.jvm 如何分配直接內存, new 對象如何不分配在堆而是棧上,常量池解析
40.HashMap 與線程安全問題
41.JVM如何加載一個類的過程,雙親委派模型中有哪些方法?
42.進程間通信有哪幾種方式?
43.GC用的引用可達性分析算法中,哪些對象可作為GC Roots對象?
44.JVM如何GC,新生代,老年代,持久代,都存儲哪些東西?
45.Linux下如何進行進程調度的?
46.Linux下你常用的命令有哪些?
47.常用的hash算法有哪些?什么是一致性哈希?
48.數據庫中的范式有哪些?
49.Java中的NIO,BIO,AIO分別是什么?
50.現在JVM中有一個線程掛起了,如何用工具查出原因?
51.線程同步與阻塞的關系?同步一定阻塞嗎?阻塞一定同步嗎?
52.同步和異步有什么區別?
53.如何創建單例模式?說了雙重檢查,他說不是線程安全的。 如何高效的創建一個線程安全的單例?
54.concurrent包下面,都用過什么?
55.了解哪些設計模式?說說都用過哪些設計模式
56.匿名內部類是什么?如何訪問在其外面定義的變量?
57.get的字節限制是協議本身限制的嗎?
58.hashtable是怎么實現線程安全的?hashtable原理?
59.數據庫事務隔離機制及特點?數據庫引擎?
60.dns是基于tcp還是udp的
61.連接池使用使用什么數據結構實現?
62.https怎么做到安全的
63.B+樹和二叉樹查找時間復雜度
64.什么時候會發生jvm堆(持久區)內存溢出?內存溢出了怎么辦?
騰訊校招
1.如何優化數組這個數據結構?
2.Mongo的特點,和mysql的區別
3.contains和compareDocumentPosition區別和使用
4.鏈表判斷環路和查找連接點
5.兩個棧實現隊列,如何實現多線程并發
6.兩個串任意合并是否可以成為第三個串
7.linux內核態和用戶態,為什么要這么分?
8.tcp和udp的區別,tcp是怎么做錯誤處理的?
9.讀文件時系統和硬盤會做哪些工作
10.select、、poll和epoll
11.SERVLET API中forward()與redirect()的區別?
百度校招
1.hashmap和hashtable區別
2.對線程安全的理解
3.講講web三大架構
4.為什么要用struts做mvc
5.什么技術是關于解耦的
6.AOP是怎么實現的
7.java的代理是怎么實現的
8.http和https的區別
9.get提交和post提交的區別
10.怎么解決中文亂碼問題
11.設計模式
12.你對MVC的理解
13.XML和JSON的區別?json和xml哪個流量比較大?
14.抽象類和接口的區別
15.如何快速查出你當前所在地最近的一百家餐館(不能用遍歷)
16.代碼實現深度優先和廣度優先
17.計算機網絡分層,每層所用協議,協議所占端口
18.海量數據查出每天訪問百度網站最多的前100個人的IP地址
19.樂觀鎖悲觀鎖
20.數據庫索引,數據庫范式
21.osi七層模型以及tcp/ip四層模型
22.內存溢出和內存泄漏
結尾
轉載于:https://my.oschina.net/dylan2hdf/blog/872097
總結
以上是生活随笔為你收集整理的BAT 面试Java技术问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GC日志参数详解
- 下一篇: springmvc+batis appl