洛城小紅魔
基礎篇一
一.基礎知識:
1)集合類:List和Set比較,各自的子類比較(ArrayList,Vector,LinkedList;HashSet,TreeSet);
2)HashMap的底層實現,之後會問ConcurrentHashMap的底層實現;
3)如何實現HashMap順序儲存:可以參考LinkedHashMap的底層實現;
4)HashTable和ConcurrentHashMap的區別;
5)String,StringBuffer和StringBuilder的區別;
6)Object的方法有哪些:比如有wait方法,為什麼會有;
7)wait和sleep的區別,必須理解;
8)JVM的記憶體結構,JVM的演算法;
9)強引用,軟引用和弱引用的區別;
10)陣列在記憶體中如何分配;
11)用過哪些設計模式,手寫一個(除單例);
12)springmvc的核心是什麼,請求的流程是怎麼處理的,控制反轉怎麼實現的;
13)spring裡面的aop的原理是什麼;
14)mybatis如何處理結果集:反射,建議看看原始碼;
15)java的多型表現在哪裡;
16)介面有什麼用;
17)說說http,https協議;
18)tcp/ip協議簇;
19)osi五層網路協議;
20)tcp,udp區別;
21)用過哪些加密演算法:對稱加密,非對稱加密演算法;
22)說說tcp三次握手,四次揮手;
23)cookie和session的區別,分散式環境怎麼儲存使用者狀態;
24)git,svn區別;
25)請寫一段棧溢位、堆溢位的程式碼;
26)ThreadLocal可以用來共享資料嗎;
二.IO:
1)bio,nio,aio的區別;
2)nio框架:dubbo的實現原理;
3)京東內部的jsf是使用的什麼協議通訊:可參見dubbo的協議;
三.演算法:
1)java中常說的堆和棧,分別是什麼資料結構;另外,為什麼要分為堆和棧來儲存資料。
2)TreeMap如何插入資料:二叉樹的左旋,右旋,雙旋;
3)一個排序之後的陣列,插入資料,可以使用什麼方法?答:二分法;問:時間複雜度是多少?
4)平衡二叉樹的時間複雜度;
5)Hash演算法和二叉樹演算法分別什麼時候用;
6)圖的廣度優先演算法和深度優先演算法:詳見jvm中垃圾回收實現;
三.多執行緒相關:
1)說說阻塞佇列的實現:可以參考ArrayBlockingQueue的底層實現(鎖和同步都行);
2)程序通訊的方式:訊息佇列,共享記憶體,訊號量,socket通訊等;
3)用過併發包的哪些類;
4)什麼地方用了多執行緒;
5)Excutors可以產生哪些執行緒池;
6)為什麼要用執行緒池;
7)volatile關鍵字的用法:使多執行緒中的變數可見;
四.資料庫相關(mysql):
1)msyql優化經驗:
2)mysql的語句優化,使用什麼工具;
3)mysql的索引分類:B+,hash;什麼情況用什麼索引;
4)mysql的儲存引擎有哪些,區別是什麼;
5)說說事務的特性和隔離級別;
6)悲觀鎖和樂觀鎖的區別,怎麼實現;
五.mq:
1)mq的原理是什麼:有點大。。都可以說;
2)mq如何保證實時性;
3)mq的持久化是怎麼做的;
六.nosql相關(主要是redis):
1)redis和memcache的區別;
2)用redis做過什麼;
3)redis是如何持久化的:rdb和aof;
4)redis叢集如何同步;
5)redis的資料新增過程是怎樣的:雜湊槽;
6)redis的淘汰策略有哪些;
7)redis有哪些資料結構;
七.zookeeper:
1)zookeeper是什麼;
2)zookeeper哪裡用到;
3)zookeeper的選主過程;
4)zookeeper叢集之間如何通訊;
5)你們的zookeeper的節點加密是用的什麼方式;
6)分散式鎖的實現過程;
八.linux相關:
1)linux常用的命令有哪些;
2)如何獲取java程序的pid;
3)如何獲取某個程序的網路埠號;
4)如何實時列印日誌;
5)如何統計某個字串行數;
九.設計與思想:
1)重構過程式碼沒有?說說經驗;
2)一千萬的使用者實時排名如何實現;
3)五萬人併發搶票怎麼實現;
基礎篇二
1.1、Java基礎
面向物件的特徵:繼承、封裝和多型
final, finally, finalize 的區別
Exception、Error、執行時異常與一般異常有何異同
請寫出5種常見到的runtime exception
int 和 Integer 有什麼區別,Integer的值快取範圍
包裝類,裝箱和拆箱
String、StringBuilder、StringBuffer
過載和重寫的區別
抽象類和介面有什麼區別
說說反射的用途及實現
說說自定義註解的場景及實現
HTTP請求的GET與POST方式的區別
Session與Cookie區別
列出自己常用的JDK包
MVC設計思想
equals與==的區別
hashCode和equals方法的區別與聯絡
什麼是Java序列化和反序列化,如何實現Java序列化?或者請解釋Serializable 介面的作用
Object類中常見的方法,為什麼wait notify會放在Object裡邊?
Java的平臺無關性如何體現出來的
JDK和JRE的區別
Java 8有哪些新特性
1.2、Java常見集合
List 和 Set 區別
Set和hashCode以及equals方法的聯絡
List 和 Map 區別
Arraylist 與 LinkedList 區別
ArrayList 與 Vector 區別
HashMap 和 Hashtable 的區別
HashSet 和 HashMap 區別
HashMap 和 ConcurrentHashMap 的區別
HashMap 的工作原理及程式碼實現,什麼時候用到紅黑樹
多執行緒情況下HashMap死迴圈的問題
HashMap出現Hash DOS攻擊的問題
ConcurrentHashMap 的工作原理及程式碼實現,如何統計所有的元素個數
手寫簡單的HashMap
看過那些Java集合類的原始碼
1.3、程序和執行緒
執行緒和程序的概念、並行和併發的概念
建立執行緒的方式及實現
程序間通訊的方式
說說 CountDownLatch、CyclicBarrier 原理和區別
說說 Semaphore 原理
說說 Exchanger 原理
ThreadLocal 原理分析,ThreadLocal為什麼會出現OOM,出現的深層次原理
講講執行緒池的實現原理
執行緒池的幾種實現方式
執行緒的生命週期,狀態是如何轉移的
可參考:《Java多執行緒程式設計核心技術》
1.4、鎖機制
說說執行緒安全問題,什麼是執行緒安全,如何保證執行緒安全
重入鎖的概念,重入鎖為什麼可以防止死鎖
產生死鎖的四個條件(互斥、請求與保持、不剝奪、迴圈等待)
如何檢查死鎖(通過jConsole檢查死鎖)
volatile 實現原理(禁止指令重排、重新整理記憶體)
synchronized 實現原理(物件監視器)
synchronized 與 lock 的區別
AQS同步佇列
CAS無鎖的概念、樂觀鎖和悲觀鎖
常見的原子操作類
什麼是ABA問題,出現ABA問題JDK是如何解決的
樂觀鎖的業務場景及實現方式
Java 8並法包下常見的併發類
偏向鎖、輕量級鎖、重量級鎖、自旋鎖的概念
可參考:《Java多執行緒程式設計核心技術》
1.5、JVM
JVM執行時記憶體區域劃分
記憶體溢位OOM和堆疊溢位SOE的示例及原因、如何排查與解決
如何判斷物件是否可以回收或存活
常見的GC回收演算法及其含義
常見的JVM效能監控和故障處理工具類:jps、jstat、jmap、jinfo、jconsole等
JVM如何設定引數
JVM效能調優
類載入器、雙親委派模型、一個類的生命週期、類是如何載入到JVM中的
類載入的過程:載入、驗證、準備、解析、初始化
強引用、軟引用、弱引用、虛引用
Java記憶體模型JMM
1.6、設計模式
常見的設計模式
設計模式的的六大原則及其含義
常見的單例模式以及各種實現方式的優缺點,哪一種最好,手寫常見的單利模式
設計模式在實際場景中的應用
Spring中用到了哪些設計模式
MyBatis中用到了哪些設計模式
你專案中有使用哪些設計模式
說說常用開源框架中設計模式使用分析
動態代理很重要!!!
1.7、資料結構
樹(二叉查詢樹、平衡二叉樹、紅黑樹、B樹、B+樹)
深度有限演算法、廣度優先演算法
克魯斯卡爾演算法、普林母演算法、迪克拉斯演算法
什麼是一致性Hash及其原理、Hash環問題
常見的排序演算法和查詢演算法:快排、折半查詢、堆排序等
1.8、網路/IO基礎
BIO、NIO、AIO的概念
什麼是長連線和短連線
Http1.0和2.0相比有什麼區別,可參考《Http 2.0》
Https的基本概念
三次握手和四次揮手、為什麼揮手需要四次
從遊覽器中輸入URL到頁面載入的發生了什麼?可參考《從輸入URL到頁面載入發生了什麼》
二、資料儲存和訊息佇列
2.1、資料庫
MySQL 索引使用的注意事項
DDL、DML、DCL分別指什麼
explain命令
left join,right join,inner join
資料庫事物ACID(原子性、一致性、隔離性、永續性)
事物的隔離級別(讀未提交、讀以提交、可重複讀、可序列化讀)
髒讀、幻讀、不可重複讀
資料庫的幾大正規化
資料庫常見的命令
說說分庫與分表設計
分庫與分錶帶來的分散式困境與應對之策(如何解決分散式下的分庫分表,全域性表?)
說說 SQL 優化之道
MySQL遇到的死鎖問題、如何排查與解決
儲存引擎的 InnoDB與MyISAM區別,優缺點,使用場景
索引類別(B+樹索引、全文索引、雜湊索引)、索引的原理
什麼是自適應雜湊索引(AHI)
為什麼要用 B+tree作為MySQL索引的資料結構
聚集索引與非聚集索引的區別
遇到過索引失效的情況沒,什麼時候可能會出現,如何解決
limit 20000 載入很慢怎麼解決
如何選擇合適的分散式主鍵方案
選擇合適的資料儲存方案
常見的幾種分散式ID的設計方案
常見的資料庫優化方案,在你的專案中資料庫如何進行優化的
2.2、Redis
Redis 有哪些資料型別,可參考《Redis常見的5種不同的資料型別詳解》
Redis 內部結構
Redis 使用場景
Redis 持久化機制,可參考《使用快照和AOF將Redis資料持久化到硬碟中》
Redis 叢集方案與實現
Redis 為什麼是單執行緒的?
快取雪崩、快取穿透、快取預熱、快取更新、快取降級
使用快取的合理性問題
Redis常見的回收策略
2.3、訊息佇列
訊息佇列的使用場景
訊息的重發補償解決思路
訊息的冪等性解決思路
訊息的堆積解決思路
自己如何實現訊息佇列
如何保證訊息的有序性
三、開源框架和容器
3.1、SSM/Servlet
Servlet的生命週期
轉發與重定向的區別
BeanFactory 和 ApplicationContext 有什麼區別
Spring Bean 的生命週期
Spring IOC 如何實現
Spring中Bean的作用域,預設的是哪一個
說說 Spring AOP、Spring AOP 實現原理
動態代理(CGLib 與 JDK)、優缺點、效能對比、如何選擇
Spring 事務實現方式、事務的傳播機制、預設的事務類別
Spring 事務底層原理
Spring事務失效(事務巢狀),JDK動態代理給Spring事務埋下的坑,可參考《JDK動態代理給Spring事務埋下的坑!》
如何自定義註解實現功能
Spring MVC 執行流程
Spring MVC 啟動流程
Spring 的單例實現原理
Spring 框架中用到了哪些設計模式
Spring 其他產品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)
有沒有用到Spring Boot,Spring Boot的認識、原理
MyBatis的原理
可參考《為什麼會有Spring》
可參考《為什麼會有Spring AOP》
3.2、Netty
為什麼選擇 Netty
說說業務中,Netty 的使用場景
原生的 NIO 在 JDK 1.7 版本存在 epoll bug
什麼是TCP 粘包/拆包
TCP粘包/拆包的解決辦法
Netty 執行緒模型
說說 Netty 的零拷貝
Netty 內部執行流程
Netty 重連實現
3.3、Tomcat
Tomcat的基礎架構(Server、Service、Connector、Container)
Tomcat如何載入Servlet的
Pipeline-Valve機制
相關推薦
洛城小紅魔
基礎篇一一.基礎知識:1)集合類:List和Set比較,各自的子類比較(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底層實現,之後會問ConcurrentHashMap的底層實現;3)如何實現HashMap順序
eclispe新導入的文件有個小紅叉號(x)的問題
關閉 相關 view fill 文件 rar ems rep tar 關於這個問題,我百度了很久,後面發現很簡單的就解決了:我覺得可能大家的問題不一樣,或許解決方法可能是一樣的: 參考鏈接:https://zhidao.baidu.com/question/61676277
項目出現小紅叉,類名上帶有 Implicit錯誤
cut lac 知識 per ons fin lan java execution Implicit super constructor Object() is undefined for default constructor. Must define an expli
鼠標樣式變為浮動小紅點
script 100% empty .org events div version use mouse // sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssss
小紅書App產品需求文檔(PRD)
發布者 正在 轉動 找到 消息 上傳圖片 兩種 評論 在線 筆者以安卓系統手機端用戶的身份通過使用、體驗和分析等方式來倒推“小紅書”APP,並生成產品需求文檔PRD。小紅書app是以用戶分享內容(UGC)模式闖入到大家視線的,並且在某寶日益強大的趨勢下,帶有購物功能的小紅
前端實現未讀消息提醒小紅點
賦值 osi cat i++ parse absolute 前端 相對 包含 原理: 通過將消息是否查看的數據存寫入localStorage中,點擊查看後,更新localStorage的數據; 文件結構: index.html -- 列表 detail
奇葩問題 eclipse下 maven項目 java Resource報個小紅叉,然而裏面卻沒有小紅叉
clip ava spa 奇葩問題 lips per csdn 項目 jdk 之前沒註意,不知是一開始就有還是這兩天才有,說下解決方案: 右擊項目“Properties”,在彈出的“Properties”的左側邊框,單擊&l
小紅書完成新一輪3億美元融資領投的阿裏看上了哪些獨特優勢?
小紅書 據相關報道,社區電商小紅書近日剛完成了新一輪由阿裏領投多家知名投資機構跟投超過3億美元的融資,目前小紅書估值30億美元。今天我們不妨一起來復盤下小紅書的融資歷程。成立於2013年的小紅書當年10月,就獲得真格基金的數百萬人民幣天使輪投資;2014年6月,獲金沙江創投和真格基金的數百萬美元A輪投資;20
6.簡單提取小紅書app資料(簡單初步試採集與分析)-1
採集小紅書資料爬蟲:1.本來是要通過app端的介面去直接採集資料,但是app介面手機端設定本地代理這邊開啟抓包後就不能正常訪問資料。所以就採用了微信小程式裡的小紅書app介面去採集資料。2.通過 fiddler去抓包,手機端進入小程式埠選擇彩妝向下滑動請求資料,這邊fiddler就會抓到請求資料和相應的
java專案程式中無錯誤,但是專案上面顯示小紅叉
1、首先檢視windows–>preferences–>compiler的設定 2、右鍵專案檢視properties–>java compiler 3、右鍵專案檢視Properties——>Project Facets warning:必須保證這三
iOS 小紅點方案
效果圖: 以 UIButton 為例: 原理 給UIView寫了一個分類 UIView+JHRedDot 在設定小紅點時,監聽 view的 frame 和 bounds,以便在view尺寸變化時更新小紅點位置 重寫系統函式 - (void)wil
解決ubuntu 18.04平臺上thinkpad小紅點TrackPoint左鍵隨機失效的問題(by quqi99)
版權宣告:可以任意轉載,轉載時請務必以超連結形式標明文章原始出處和作者資訊及本版權宣告 (作者:張華 發表於:2018-10-17) 最近好幾個月一直受困一個極其頭疼的問題, ubuntu 18.04平臺上thinkpad小紅點左鍵隨機失效, 試圖解決過很多次, 試過很多方法, 無果.
小紅書,1.5億年輕人的虛擬城市:美好生活的終極想象
烏鎮2018年11月9日電 /美通社/ -- 2018年11月5日-11月10日,以“創造互信共治的數字世界 -- 攜手共建網路空間命運共同體”為主題的第五屆網際網路大會,在水鄉烏鎮舉行。 小紅書作為受1.5億年輕人喜愛的生活方式分享平臺,與430餘家創新企業共同亮相本次大會,交流
洛谷---小L和小K的NOIP考後放鬆賽
連結: https://www.luogu.org/contestnew/show/11805?tdsourcetag=s_pcqq_aiomsg 題解: 沒人過的題我就沒看 t2: 考慮每個點是朋友的區間是連續的 然後維護每個人朋友的右端點 顯然是單調遞增的 然後線段樹瞎搞一下就好了 蜜汁
TextView右上角顯示小紅點,小紅點根據TextView的長度移動,小紅點被TextView擠出去不顯示的問題;
大概就是圖片這個樣,這個功能很常見,本來我以為很簡單,誰知道真的很簡單; 遇到點小問題,記錄一下,哈哈; 小紅點的Drawable: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http
新增小紅點給Tabbar或UIview右上角、文字文字、數字文字 、切圓角
這兩天在搞給tabbar或常規控制元件新增小圓點、數字文字、純文字的需求。使用了Masnory這個庫對常規控制元件新增約束有一個巨大的坑,就是無法及時獲取到常規控制元件的x和y。但是可以及時獲取到常規控制元件的w和h。 這就導致瞭如果使用masnory約束之後的控制元件,無法把什麼紅點、文字
系統導航欄左右上角按鈕如何不需要定義就可以新增小紅點
最近做一個需求,要在系統導航欄右上角按鈕加上一個小紅點,以前博主習慣使用自定義導航欄,所以並不怎麼和系統的東西打交道,那怎麼辦?求助度娘唄,查了一會,都是自定義按鈕,也沒什麼比較快捷的方法,於是就自己去看系統UIBarButtonItem,這一看不打緊,還真讓博
網紅“小紅書”,電商銷售新模式
說起“小紅書”,大家肯定不陌生,“網紅”“社交電商”“種草”“獨角獸”“美妝大賞”,他擁有各種各樣的表情,一千個人眼裡,有一千個哈姆雷特,每個人對這款在兩年內迅速躥紅的跨境電商APP都有不同的看法,而我作為一個對於電商略有涉獵的加班狗,嘗試著以自己的眼光來發表一
Android中數字提醒小紅點控制元件BadgeView
很多App中會用到數字提示如果 這個效果,很容易實現 下面的這個控制元件是github上面有人實現的第三方控制元件BadgeView 大家瞭解一下如果使用: 效果圖: 實現步驟: 1.下載jar包,並
小紅書 演算法簡介
小紅書作為中國乃至全球獨一無二的社群電商,目標是讓全世界的好生活觸手可及,那麼如何幫助使用者在社群裡發現好生活,又如何引導使用者找到值得剁手的好產品呢?本文整理自 ArchSummit 深圳演講,探討如何運用機器學習和人工智慧,幫助小紅書不到 10 人的演算法團隊快速接近目標