面經之有意思的問題
- 怎麼判斷一個點在三角形的內外上 (騰訊移動端)
- 求兩個節點的父節點
- 簡單計算機網絡相關問題
- iBaits相比JDBC優點(頭條後臺)
- PrepareStatement相比statement優勢
- TCP/IP\對應於OSI七層模型的哪些層
- 爲何三次握手,四次揮手
- 進程和線程區別
- 多線程什麼狀況下執行wait
- tomcat負載均衡
- Spring容器如何加載
- Servlet生命週期(何時destory)
- Mysql底層實現,B+樹原理
- 10G數據,每一條是一個qq號,統計出現頻率最多的qq號
- JVM新生代和老年代如何區分,新生代垃圾回收用什麼算法,copy算法內存是怎麼分的
- hashmap實現原理 拓展: Java中Map與HashMap,Hashtable,HashSet的區別
- 數組和鏈表的比較
- ArrayList和Linkedlist對比
- sleep和wait的區別
- string stringbuffer stringbuilder區別(搜狐後臺)
- 單例模式是什麼
- 垃圾回收算法
- 軟件設計原則
- jdk serialVersionUID
- FutureTask類
- java的繼承是怎麼實現的
- null是否是object
- sleep和wait的區別
- TCP四次揮手狀態變化?爲何存在TIME_WAIT(美團後臺)
- ARP協議?什麼是ARP欺騙?
- volatile關鍵字語義?
- 類加載機制?
- 靜態代碼塊在何時執行?
- 堆的分代回收機制?老年代可否使用複製算法?爲何?
- 如何得知sql語句的效率?
- synchronized修飾靜態方法和修飾非靜態方法,有何區別?
- 攔截器與過濾器的區別(京東後臺)
- springMVC和servlet 響應頁面請求的區別
- session和cookie的區別
- get和post區別
- tomcat和Nginx?
- string stringBuilder StringBuffer 區別
- ArrayList和LinkedList分別有幾種遍歷方式
- ArrayList和LinkedList 中的快速失敗(fail-fast)機制,(拓展問題:其中使用了什麼鎖:compareAndSwap;在拓展:鎖是悲觀鎖仍是樂觀鎖) 瞭解的鎖的類型 可重入鎖的實現(用計數器計算有幾回上鎖;拓展問題:這個計數器存儲在什麼位置)
- volatile做用(說了個可見性,他又說了重排序,不知道是啥)
- mysql實現索引(B樹索引,hash索引,講不出來了,就沒細問)
- mysql事務隔離級別(4個) 1G內存,10G數據如何排序(分爲10組分別排,再挨個取,相似歸併)(我說的答案是堆排,就讓我說了一下堆排的過程) 多線程有什麼地方理解的比較深刻的(隨便講了個,沒刺激到他g點)
- 給定區間(a,b],去除區間裏含有三、五、7的數字,還剩下多少(暴力)(頭條後臺三面)
- 滿二叉樹中插入一個新元素,使其仍然是滿二叉樹(層序遍歷)
- 項目:如何判斷對方已經關閉鏈接——檢測心跳
- 爲何採用socket而不是http(socket長鏈接,http短連接,socket服務器能夠主動發送數據,http服務器被動響應)
- epoll爲何採用邊緣觸發而不是水平觸發
- springmvc理解 (搜狐媒體後臺)
- 多線程理解
- 算法:鏈表逆置 二叉樹中序遍歷的非遞歸實現
- 2sum問題
- spring的理解
- restful的理解
- 從兩個已經從大到小排好序的數組裏面找第k大的數
- 二分查找
- web安全 - https加密過程,證書用途 - xss幾種形式,防範手段,過濾哪些字符? - xsrf原理,實例,防範手段(Laravel的token) - Sql注入
- 性能優化 - 代碼優化(html,css,js) - 網絡性能優化: 1. Cache緩存之強制緩存和協商緩存 2. CDN原理及應用 3. HTTP壓縮之gzip
- 上下文環境對象
- 設計模式(要求說出如何實現,應用,優缺點): - 單例模式 - 工廠模式 - 發佈訂閱模式
- 跨域(產生緣由) - JSONP原理 - CORS如何設置 - Nginx代理
- 讀過哪些框架源碼?
- 如何寫一個CSS庫,要注意哪些東西?
- 樂觀鎖與悲觀鎖的理解(美團java一面)
- 自旋鎖的理解
- tcp四次揮手
- tcp狀態轉化:close-wait是由哪一個狀態轉化來的 time_wait呢
- 多叉樹的層序遍歷
- ConcurrentHashMap的理解
- 日常作項目的學習方法 本身以爲本身的優勢和缺點是什麼
- 前端框架jQuery有幾種選擇器(美團java二面)
- 如何利用springMVC註解取得前端傳來的一個string類型的數據
- spring註解能夠表示的參數
- springMVC 的dispatcherservlet是如何分發的
- MySQL的經常使用數據庫引擎 innodb和myisam的區別
- MySQL索引
- maven如何解決依賴衝突
- restful接口設計風格的理解
- 斐波那契數列的非遞歸實現
- o(1)時間刪除鏈表節點
- mysql的存儲引擎(滴滴java)
- B樹那一系列
- 分佈式的高併發是怎麼保證數據一致性的?
- select和epoll的區別
- 進程,線程,協程的區別
- IP地址的劃分(子網掩碼)
- 數據庫各類join的區別
- 寫一個生產者消費者模型
- java怎麼實現單例
- protect的變量和方法能被繼承嗎
- 在瀏覽器輸入地址後發生了什麼
- udp和tcp的區別
- 線程進程的區別,線程是如何調度的
- delete、drop、truncate的區別
- 介紹幾個排序算法的思想及其時間複雜度
- 數據庫事務的概念、事務的實現原理
- Java和C語言的區別
- JVM內存機制、GC原理、哪些狀況下會發生內存溢出錯誤
- Java鎖機制,synchronized關鍵字
- 寫代碼表示線程安全的生產者消費者模型
- 用File類的delete()、list()、isFile()等方法,實現一個功能相似於Linux rm命令的方法
- left join、right join區別
- left join,right join和inner join的區別(宜信)
- 給一個字符串,求出相同最少的字母
- 黑盒測試
- hashmap死鎖緣由
- concurrenthashmap
- linux操做,sed,vim
- 複製一個數組
- volatile i++仍是會出現寫入髒數據
- linux查看進程
歡迎關注本站公眾號,獲取更多信息