金三銀四前把多線程、分佈式、高併發、微服務、框架、設計模式、JVM面試題啃完,夠足底氣跳槽!

前言

過完年之後就是春招,想面試的小夥伴想必都在着手準備吧!那麼今天我們就來看看!

在本篇文章開始之前,我想先來回答一個問題:我爲什麼要寫這樣一篇關於面試的文章?

原因有三個:

第一,我想爲每一個爲夢想時刻準備着的“有心人”,盡一份自己的力量,提供一份高度精華的Java面試清單。

第二,目前市面上的面試題不是答案不準確就是內容覆蓋面太窄,所以提供一份經典而又準確的面試題是非常有必要的。

第三,本文會對部分面試題提供詳細解讀和代碼案例,讓讀者知其然並知其所以然,從而學到更多的知識。(附帶答案文檔)

目錄

一、Java基礎(JVM、設計模式、容器、反射、對象拷貝、Java Web、異常、網絡)

二、Java多線程與併發編程(JMM、HashMap)

三、開源框架(Spring、Spring MVC、MyBatis)

四、Java微服務(Spring Boot、Spring Cloud)

五、分佈式中間件(RabbitMQ、Zookeeper、Kafka、Dubbo、Netty、ShardingSphere、FastDFS、Elasticsearch)

六、數據庫(MySQL、Redis、MongoDB)

七、性能調優(SQL、Nginx、Tomcat)

正文

一、Java基礎(JVM、設計模式、容器、反射、對象拷貝、Java Web、異常、網絡)

Java基礎

1.JDK和JRE有什麼區別?

2.==和equals的區別是什麼?

3.兩個對象的hashCode() 相同,則equals() 也一定爲true,對嗎?

4.final在Java中有什麼作用?

5.String屬於基礎的數據類型嗎?

6.Java中操作字符串都有哪些類?它們之間有什麼區別?

7.String str="i"與 String str=new String(“i”)一樣嗎?

8.如何將字符串反轉?

9.String類的常用方法都有哪些?

10.抽象類必須要有抽象方法嗎?

11.普通類和抽象類有哪些區別?

12.抽象類能使用final修飾嗎?

13.接口和抽象類有什麼區別?

14.Java中IO流分爲幾種?

15.BIO、NIO、AIO有什麼區別?

16.Files的常用方法都有哪些?

17.Files的常用方法都有哪些?

JVM

1.Java中會存在內存泄漏嗎,請簡單描述。

2.64位JVM中,int的長度是多數?

3.Serial與Parallel GC之間的不同之處?

4.32位和64位的 JVM,int類型變量的長度是多數?

5.Java中WeakReference與SoftReference的區別?

6.JVM選項 -XX:+UseCompressedOops有什麼作用?爲什麼要使用?

7.怎樣通過Java程序來判斷JVM是32位還是64位?

8.JRE、JDK、JVM及JIT之間有什麼不同?

9.解釋Java堆空間及GC?

10.JVM 內存區域

設計模式

有哪幾種設計模式?(單例模式、工廠模式、觀察者模式、外觀模式、模版方法模式狀態模式)解釋一下?

2.簡單工廠和抽象工廠有什麼區別?(簡單工廠、工廠方法、抽象工廠)解釋一下?

容器

1.Java容器都有哪些?

2.Collection和Collections有什麼區別?

3.Collection和Collections有什麼區別?

4.List、Set、Map之間的區別是什麼?

5.ArrayList和LinkList的區別?

6.List、Set、Map之間的區別是什麼?

7.Comparable和Comparator區別?

8.Iterator怎麼使用?有什麼特點?

9.ArrayList和Vector的區別是什麼?

10.HashMap和Hashtable有什麼區別?

11.如何一邊遍歷一邊刪除Collection中的元素?

本質的區別來源於兩者的底層實現:

ArrayList的底層是數組

LinkedList的底層是雙向鏈表。

12.爲什麼ArrayList的elementData數組要加上transient修飾

由於ArrayList有自動擴容機制,所以ArrayList的elementData數組大小往往比現有的元素數量大,如果不加transient直接序列化的話會把數組中空餘的位置也序列化了,浪費不少的空間。

13.爲什麼HashMap數組的長度是2的冪次方?

14.爲什麼HashMap中適合用Integer,String這樣的基礎類型作爲key?

15.爲什麼要把鏈表轉爲紅黑樹,閾值爲什麼是8?

反射

1.什麼是反射?

2.什麼是Java序列化?什麼情況下需要序列化?

3.動態代理是什麼?有哪些應用?

4.什麼叫對象序列化,什麼是反序列化,實現對象序列化需要做哪些工作?

5.哪裏用到反射機制?

6.反射機制的優缺點?

7.Java反射機制的作用

8.如何使用Java的反射?

對象拷貝

1.爲什麼要使用克隆?

2.如何實現對象克隆?

3.深拷貝和淺拷貝區別是什麼?

Java Web

1.JSP和servlet有什麼區別?

2.JSP有哪些內置對象?作用分別是什麼?

3.說一下JSP的4種作用域?

4.session和cookie有什麼區別?

5.說一下session的工作原理?

6.如果客戶端禁止cookie能實現session還能用嗎?

7.spring mvc和struts的區別是什麼?

8.如何避免SQL注入?

9.什麼是XSS攻擊,如何避免?

10.什麼是CSRF攻擊,如何避免?

異常

1.final、finally、finalize有什麼區別?

2.try-catch-finally中哪個部分可以省略?

3.try-catch-finally中,如果catch中return了,finally還會執行嗎?

4.常見的異常類有哪些?

網絡

1.http響應碼301和302代表的是什麼?有什麼區別?

2.forward和redirect的區別?

3.簡述tcp和udp的區別?

4.tcp爲什麼要三次握手,兩次不行嗎?爲什麼?

5.說一下tcp粘包是怎麼產生的?

6.OSI的七層模型都有哪些?

7.get和post請求有哪些區別?

8.如何實現跨域?

9.說一下JSONP實現原理?

二、Java多線程與併發編程(多線程、JMM、HashMap)

多線程

1.並行和併發有什麼區別?

2.線程和進程的區別?

3.守護線程是什麼?

4.創建線程有哪幾種方式?

5.說一下runnable 和callable有什麼區別?

6.線程有哪些狀態?

7.sleep() 和wait() 有什麼區別?

8.notify()和notifyAll()有什麼區別?

9.線程的 run() 和start() 有什麼區別?

10.創建線程池有哪幾種方式?

11.線程池中submit() 和execute() 方法有什麼區別?

12.在Java程序中怎麼保證多線程的運行安全?

13.多線程中synchronized鎖升級的原理是什麼?

14.什麼是死鎖?怎麼防止死鎖?

15.ThreadLocal是什麼?有哪些使用場景?

16.說一下synchronized底層實現原理?

17.synchronized和volatile的區別是什麼?

18.synchronized和Lock有什麼區別?

19.synchronized和ReentrantLock區別是什麼?

20.什麼是反射?什麼是 Java 序列化?什麼情況下需要序列化?

21.動態代理是什麼?有哪些應用?

22.在多線程中,什麼是上下文切換?

.........

JMM

1.什麼是Java內存模型?

2.CPU和緩存一致性

3.處理器優化和指令重排

4.併發編程會帶來什麼問題?

5.什麼是內存模型?

6.內存模型怎麼解決併發問題的?

HashMap

1.HashMap概要和概念

2.HashMap底層是如何實現的?

3.HashMap和Hashtable的區別是什麼?

4.HashMap的長度爲什麼是2的冪

5.Jdk1.8中滿足什麼條件後將鏈表轉化成紅黑樹?

6.爲什麼String, Interger這樣的wrapper類適合作爲鍵?

7.HashMap的工作原理

金三銀四即將來臨,來刷刷這份春招面試手冊。

資料獲取方式:點擊傳送門 即可免費獲取上述資料~(面試答案-PDF文檔)

三、開源框架(Spring、Spring MVC、MyBatis)

Spring

一般問題

1.不同版本的Spring Framework有哪些主要功能?

2.什麼是Spring Framework?

3.Spring Framework有哪些不同的功能?

4.列舉Spring Framework的優點。

5.Spring Framework中有多少個模塊,它們分別是什麼?

6.什麼是Spring配置文件?

7.Spring應用程序有哪些不同組件?

8.使用Spring有哪些方式?

依賴注入(Ioc)

10.什麼是Spring IOC容器?

11.什麼是依賴注入?

12.可以通過多少種方式完成依賴注入?

13.區分構造函數注入和setter注入

14.spring中有多少種IOC容器?

15.區分BeanFactory和ApplicationContext。

16.列舉IoC的一些好處。

17.Spring IoC的實現機制

Beans

18.什麼是spring bean?

19.spring提供了哪些配置方式?

20.spring支持集中bean scope?

21.spring支持集中bean scope?

22.什麼是spring的內部bean?

23.什麼是spring裝配

24.自動裝配有哪些方式?

25.自動裝配有什麼侷限?

註解

26.什麼是基於註解的容器配置?

27.如何在spring中啓動註解裝配?

28.@Component, @Controller, @Repository@, Service有何區別?

29.@Required註解有什麼用?

30.@Autowired註解有什麼用?

31.@Qualifier註解有什麼用?

32.@RequestMapping註解有什麼用?

數據訪問

33.spring DAO有什麼用?

34.列舉Spring DAO拋出的異常。

35.spring JDBCAPI中存在哪些類?

36.使用Spring訪問Hibernate的方法有哪些?

37.列舉spring支持的事務管理類型

38.spring支持哪些ORM框架?

Spring MVC

1.什麼是Spring MVC?簡單介紹下你對Spring MVC的理解?

2.Spring MVC的優點

核心組件

3.Spring MVC的主要組件?

4.什麼是DispatcherServlet

5.什麼是Spring MVC框架的控制器?

6.Spring MVC的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?

工作原理

7.請描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?

MVC框架

8.MVC是什麼?MVC設計模式的好處有哪些?

常用註解

9.註解原理是什麼?

10.Spring MVC常用的註解有哪些?

11.SpingMvc中的控制器的註解一般用哪個,有沒有別的註解可以替代?

12.@Controller註解的作用

13.@RequestMapping註解的作用

14.@ResponseBody註解的作用

15.@PathVariable和@RequestParam的區別

其他

16.Spring MVC與Struts2區別

17.Spring MVC怎麼樣設定重定向和轉發的?

18.Spring MVC怎麼和AJAX相互調用的?

19.如何解決POST請求中文亂碼問題,GET的又如何處理呢?

20.Spring MVC的異常處理?

21.如果在攔截請求中,我想攔截get方式提交的方法,怎麼配置

22.怎樣在方法裏面得到Request,或者Session?

23.如果前臺有很多個參數傳入,並且這些參數都是一個對象的,那麼怎麼樣快速得到這個對象?

24.Spring MVC中函數的返回值是什麼?

25.Spring MVC用什麼對象從後臺向前臺傳遞數據的?

26.怎麼樣把ModelMap裏面的數據放入Session裏面?

27.Spring MVC裏面攔截器是怎麼寫的

28.介紹一下WebApplicationContext

MyBatis

1.什麼是Mybatis?

2.Mybaits的優點

3.MyBatis框架的缺點

4.MyBatis框架適用場合

5.MyBatis與Hibernate有哪些不同?

6.#{}和${}的區別是什麼?

7.當實體類中的屬性名和表中的字段名不一樣 ,怎麼辦 ?

8.模糊查詢like語句該怎麼寫?

9.通常一個Xml映射文件,都會寫一個Dao接口與之對應,請問,這個Dao接口的工作原理是什麼?Dao接口裏的方法,參數不同時,方法能重載嗎?

10.Mybatis是如何進行分頁的?分頁插件的原理是什麼?

11.Mybatis是如何將sql執行結果封裝爲目標對象並返回的?都有哪些映射形式?

12.如何執行批量插入?

13.如何獲取自動生成的(主)鍵值?

14.在mapper中如何傳遞多個參數?

15.Mybatis動態sql有什麼用?執行原理?有哪些動態 sql?

16.Xml映射文件中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?

17.爲什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裏?

18.一對一、一對多的關聯查詢 ?

19.MyBatis實現一對一有幾種方式?具體怎麼操作的?

20.MyBatis實現一對多有幾種方式,怎麼操作的?

21.Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

22.Mybatis的一級、二級緩存

23.什麼是MyBatis的接口綁定?有哪些實現方式

24.使用MyBatis的mapper接口調用時有哪些要求?

25.Mapper編寫有哪幾種方式?

26.簡述Mybatis的插件運行原理,以及如何編寫一個插件。

四、Java微服務(Spring Boot、Spring Cloud)

Spring Boot

1.什麼是 Spring Boot?

2.Spring Boot 有哪些優點?

3.什麼是 JavaConfig?

4.如何重新加載 Spring Boot 上的更改,而無需重新啓動服務器?

5.Spring Boot 中的監視器是什麼?

6.如何在 Spring Boot 中禁用 Actuator 端點安全性?

7.如何在自定義端口上運行 Spring Boot 應用程序?

8.什麼是 YAML?

9.如何實現 Spring Boot 應用程序的安全性?

10.如何集成 Spring Boot 和 ActiveMQ?

11.如何使用 Spring Boot 實現分頁和排序?

12.什麼是 Swagger?你用 Spring Boot 實現了它嗎?

13.什麼是 Spring Profiles?

14.什麼是 Spring Batch?

15.什麼是 FreeMarker 模板?

16.如何使用 Spring Boot 實現異常處理?

17.您使用了哪些 starter maven 依賴項?

18.什麼是 CSRF 攻擊?

19.什麼是 WebSockets?

.........

Spring Cloud

1.什麼是Spring Cloud?

2.使用Spring Cloud有什麼優勢?

3.服務註冊和發現是什麼意思?Spring Cloud 如何實現?

4.負載平衡的意義什麼?

5.什麼是Hystrix?它如何實現容錯?

6.什麼是 Hystrix斷路器?我們需要它嗎?

7.什麼是Netflix Feign?它的優點是什麼?

8.什麼是Spring Cloud Bus?我們需要它嗎?

9.springcloud如何實現服務的註冊?

10.springcloud斷路器作用?

11.Spring Cloud Gateway?

五、分佈式中間件(RabbitMQ、Zookeeper、Kafka、Dubbo、Netty、ShardingSphere、FastDFS、Elasticsearch)

RabbitMQ

1.什麼是rabbitmq

2.爲什麼要使用rabbitmq

3.使用rabbitmq的場景

4.如何確保消息正確地發送至 RabbitMQ? 如何確保消息接收方消費了消息?

5.如何避免消息重複投遞或重複消費?

6.消息基於什麼傳輸?

7.消息如何分發?

8.消息怎麼路由?

9.如何確保消息不丟失?

10.使用 RabbitMQ有什麼好處?

11.RabbitMQ的集羣

12.MQ的缺點

13.如何保證高可用的?

14.如何保證消息的可靠傳輸?如果消息丟了怎麼辦

15.如何保證消息的順序性

Zookeeper

1.什麼是Zookeeper?

2.Zookeeper如何保證了分佈式一致性特性?

3.Zookeeper文件系統

4.ZooKeeper提供了什麼?

5.四種類型的數據節點Znode

6.Zookeeper Watcher機制 -- 數據變更通知

7.Zookeeper下Server工作狀態

8.zookeeper是如何保證事務的順序一致性的?

9.zk節點宕機如何處理?

10.zookeeper負載均衡和nginx負載均衡區別

11.分佈式集羣中爲什麼會有Master?

12.Zookeeper有哪幾種幾種部署模式?

13.集羣最少要幾臺機器,集羣規則是怎樣的?

14.Zookeeper對節點的watch監聽通知是永久的嗎?爲什麼不是永久的?

15.Zookeeper的java客戶端都有哪些?

16.chubby是什麼,和zookeeper比你怎麼看 ?

17.說幾個zookeeper常用的命令。

18.Zookeeper的典型應用場景

19.Zookeeper工作原理(原子廣播)

Kafka

1.Kafka是什麼?

2.partition的數據文件(offffset, MessageSize, data)

3.數據文件分段segment(順序讀寫、分段命令、二分查找)

4.負載均衡(partition 會均衡分佈到不同 broker 上)

5.批量發送

6.壓縮(GZIP 或 Snappy)

7.消費者設計

8.Consumer Group

9.如何獲取topic主題的列表?

10.生產者和消費者的命令行是什麼?

11.consumer是推還是拉?

12.講講kafka維護消費狀態跟蹤的方法

13.Kafka與傳統MQ消息系統之間有三個關鍵區別

14.Kafka判斷一個節點是否還活着有那兩個條件?

15.講一講kafka的ack的三種機制

16.kafka如何不消費重複數據?比如扣款,我們不能重複的扣。

17.kafka如何減少數據丟失?

18.kafka分佈式(不是單機)的情況下,如何保證消息的順序消費?

Dubbo

1.爲什麼要用Dubbo?

2.Dubbo的整體架構設計有哪些分層?

3.默認使用的是什麼通信框架,還有別的選擇嗎?

4.一般使用什麼註冊中心?還有別的選擇嗎?

5.默認使用什麼序列化框架,你知道的還有哪些?

6.服務提供者能實現失效提出是什麼原理?

7.服務上線怎麼不影響舊版本?

8.Dubbo推薦用什麼協議?

9.同一個服務多個註冊的情況下可以直連某一個服務嗎?

10.Dubbo集羣容錯有幾種方案?

11.Dubbo服務降級,失敗重試怎麼做?

12.Dubbo用到哪些設計模式?

13.Dubbo配置文件是如何加載到 Spring 中的?

14.Dubbo SPI和Java SPI區別?

15.Dubbo支持分佈式事務嗎?

16.Dubbo可以對結果進行緩存嗎?

17.Dubbo必須依賴的包有哪些?

18.Dubbo telnet命令能做什麼?

19.Dubbo支持服務降級嗎?

20.Dubbo如何優雅停機?

21.Dubbo和 Dubbox之間的區別?

22.Dubbo和 Spring Cloud的區別?

23.Dubbo默認使用什麼註冊中心,還有別的選擇嗎?

24.Dubbo有哪幾種配置方式?

25.Dubbo推薦使用什麼序列化框架,你知道的還有哪些?

26.Dubbo有哪幾種負載均衡策略,默認是哪種?

金三銀四即將來臨,來刷刷這份春招面試手冊。

資料獲取方式:點擊傳送門 即可免費獲取上述資料~(面試答案-PDF文檔)

Netty

1.Netty是什麼?

2.Netty的特點是什麼?

3.Netty的優勢有哪些?

4.Netty的應用場景有哪些?

5.Netty高性能表現在哪些方面?

6.BIO、NIO和AIO的區別?

7.NIO的組成?

8.Netty的線程模型?

9.TCP粘包/拆包的原因及解決方法?

10.什麼是Netty的零拷貝?

11.Netty中有哪種重要組件?

12.Netty發送消息有幾種方式?

13.默認情況Netty起多少線程?何時啓動?

14.瞭解哪幾種序列化協議?

15.如何選擇序列化協議?

16.Netty支持哪些心跳類型設置?

17.Netty和Tomcat的區別?

18.NIO Event Loop Group源碼?

ShardingSphere

1..sharding-jdbc是否支持批量插入

2.Sharding-JDBC適用於哪些場景,不適用於哪些場景?是否有性能評估?

3.Sharding-JDBC的設計初衷是什麼?旨在解決什麼場景的問題?

4.Sharding-JDBC與Mycat有一定的相似性,區別點在於對於SQL語句的自解析上,是否可以這麼理解?

5.分庫分表使用like查詢,是否能查詢出來?性能如何?會去查詢所有的庫和表嗎?

6.sharding-jdbc支持的聚合計算有哪些?

FastDFS

1.什麼是FastDFS?

2.FastDFS的工作原理是什麼?

3.fastDSF架構(Tracker、Storage、Storage狀態收集、)

Elasticsearch

1.Elasticsearch瞭解多少,說說你們公司es的集羣架構,索引數據大小,分片有多少,以及一些調優手段 。

2.Elasticsearch的倒排索引是什麼?

3.Elasticsearch索引數據多了怎麼辦,如何調優,部署?

4.Elasticsearch是如何實現master選舉的?

5.詳細描述一下Elasticsearch索引文檔的過程

6.詳細描述一下Elasticsearch搜索的過程?

7.Elasticsearch在部署時,對Linux的設置有哪些優化方法

8.lucence內部結構是什麼?

9.Elasticsearch是如何實現Master選舉的?

10.Elasticsearch中的節點(比如共 20 個),其中的10個選了一個master,另外10個選了另一個master,怎麼辦?

11.客戶端在和集羣連接時,如何選擇特定的節點執行請求的?

12.詳細描述一下Elasticsearch索引文檔的過程。

13.詳細描述一下Elasticsearch更新和刪除文檔的過程。

14.詳細描述一下Elasticsearch搜索的過程。

15.在Elasticsearch中,是怎麼根據一個詞找到對應的倒排索引的?

16.Elasticsearch在部署時,對Linux的設置有哪些優化方法?

17.對於GC方面,在使用Elasticsearch時要注意什麼?

18.Elasticsearch對於大數據量(上億量級)的聚合如何實現?

19.在併發情況下,Elasticsearch如果保證讀寫一致?

20.如何監控Elasticsearch集羣狀態?

六、數據庫(MySQL、Redis)

MySQL

1.數據庫存儲引擎、索引

2.InnoDB(B+樹)

3.TokuDB( Fractal Tree-節點帶數據)

4.MyIASM、Memory

5.數據庫引擎有哪些?

6.InnoDB與MyISAM的區別?

7.常見索引原則有?

8.數據庫的三範式是什麼?

9.第一範式(1st NF-列都是不可再分)、第二範式(2nd NF- 每個表只描述一件事情)、第三範式(3rd NF-不存在對非主鍵列的傳遞依賴)

10.數據庫是事務

11.SQL優化

12.簡單說一說drop、delete與truncate的區別

13.什麼是視圖?

14.什麼是內聯接、左外聯接、右外聯接?

15.併發事務帶來哪些問題?

16.事務隔離級別有哪些?MySQL的默認隔離級別是?

17.大表如何優化?

18.分庫分表之後,id主鍵如何處理

19.存儲過程(特定功能的SQL語句集)

20.MySQL中有哪幾種鎖?

21.MySQL中有哪些不同的表格?

22.簡述在MySQL數據庫中MyISAM和InnoDB的區別

23.MySQL中 InnoDB支持的四種事務隔離級別名稱,以及逐級之間的區別?

Redis

1.什麼是Redis?

2.怎麼理解Redis事務?

3.Redis的數據類型?

4.Redis Key的過期時間和永久有效分別怎麼設置?

5.Redis相比Memcached有哪些優勢?

6.Memcache與Redis的區別都有哪些?

7.Redis回收進程如何工作的?

8.一個字符串類型的值能存儲最大容量是多少?

9.Redis的內存用完了會發生什麼?

10.緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級等問題

11.一個Redis實例最多能存放多少的Keys?List、Set、Sorted Set他們最多能存放多少元素?

12.Redis集羣之間是如何複製的?

13.Redis的數據類型,以及每種數據類型的使用場景

14.Redis的過期策略以及內存淘汰機制

15.Redis集羣最大節點個數是多少?

16.爲什麼Redis的操作是原子性的,怎麼保證原子性的?

17.Redis集羣如何選擇數據庫?

18.使用過Redis分佈式鎖麼,它是什麼回事?

19.怎麼測試Redis的連通性?

20.Redis過期鍵的刪除策略?

21.Redis的回收策略(淘汰策略)?

22.爲什麼Redis需要把所有數據放到內存中?

23.Redis是一個基於內存的高性能key-value數據庫。

24.Reids常用5種數據類型

25.Reids6種淘汰策略:

26.爲什麼Redis是單線程的?

27.Redis內存模型

MongoDB

1.NoSQ與RDBMS直接有什麼區別?

2.MySQL與MongoDB之間最基本的差別是什麼?

3.你怎麼比較MongoDB、CouchDB及CouchBase?

4.MongoDB成爲最好NoSQL數據庫的原因是什麼?

5.分析器在MongoDB中的作用是什麼?

6.能否使用日誌特徵進行安全備份?

7.數據在什麼時候纔會擴展到多個分片(shard)裏?

8.我可以把moveChunk目錄裏的舊文件刪除嗎?

9.如果塊移動操作(moveChunk)失敗了,我需要手動清除部分轉移的文檔嗎?

10.MongoDB支持存儲過程嗎?如果支持的話,怎麼用?

11.MongoDB有哪些特點?

七、性能調優(SQL、Nginx、Tomcat)

SQL

1.Mysql的技術特點是什麼?

2.Heap表是什麼?

3.Mysql服務器默認端口是什麼?

4.與Oracle相比,Mysql 有什麼優勢?

5.如何區分FLOAT和DOUBLE?

6.區分CHAR_LENGTH和LENGTH?

7.Federated表是什麼?

8.在Mysql中ENUM的用法是什麼?

9.如何定義REGEXP?

10.CHAR和VARCHAR的區別?

11.列的字符串類型可以是什麼?

12.如何獲取當前的Mysql版本?

13.TIMESTAMP在UPDATE CURRENT_TIMESTAMP數據類型上做什麼?

14.主鍵和候選鍵有什麼區別?

15.如何使用Unix shell登錄Mysql?

16.MYSQL數據庫服務器性能分析的方法命令有哪些?

Nginx

1.什麼是Nginx?

2.請列舉Nginx的一些特性

3.請列舉Nginx和Apache 之間的不同點

4.請解釋Nginx如何處理HTTP請求

5.在Nginx中,如何使用未定義的服務器名稱來阻止處理請求?

6.使用“反向代理服務器”的優點是什麼?

7.請列舉Nginx服務器的最佳用途。

8.請解釋Nginx服務器上的Master和Worker進程分別是什麼?

9.請解釋代理設計中的正向代理和反向代理?

10.請解釋是否有可能將Nginx的錯誤替換爲502錯誤、503?

11.在Nginx中,解釋如何在URL中保留雙斜線?

12.請解釋ngx_http_upstream_module的作用是什麼?

13.解釋如何在Nginx服務器上添加模塊?

Tomcat

1.Tomcat有哪幾種Connector運行模式(優化)?

2.Tomcat的缺省端口是多少,怎麼修改?

3.Tomcat有幾種部署方式?

4.Tomcat容器是如何創建servlet類實例?用到了什麼原理?

5.Tomcat如何優化?

6.內存調優

7.垃圾回收策略調優

8.共享session處理

9.添加JMS遠程監控

10.專業點的分析工具有

11.監視Tomcat的內存使用情況

12.打印類的加載情況及對象的回收情況

13.Tomcat一個請求的完整過程

14.Tomcat工作模式?

Linux

1.絕對路徑用什麼符號表示?當前目錄、上層目錄用什麼表示?主目錄用什麼表示? 切換目錄用什麼命令?

2.使用什麼命令查看IP地址及接口信息?

3.怎麼清屏?怎麼退出當前命令?怎麼執行睡眠?怎麼查看當

4.通過什麼命令指定命令提示符?

5.查看文件有哪些命令

6.列舉幾個常用的Linux命令

7.怎麼對命令進行取別名?

8.建立軟鏈接(快捷方式),以及硬鏈接的命令

9.當你需要給命令綁定一個宏或者按鍵的時候,應該怎麼做呢?

10.查看文件內容有哪些命令可以使用?

11.隨意寫文件命令?怎麼向屏幕輸出帶空格的字符串,比如”hello world”?

12.你的系統目前有許多正在運行的任務,在不重啓機器的條件下,有什麼方法可以把所有正在運行的進程移除呢?

13.移動文件用哪個命令?改名用哪個命令?

14.複製文件用哪個命令?如果需要連同文件夾一塊複製呢?如果需要有提示功能呢?

15.怎樣一頁一頁地查看一個大文件的內容呢?

16.Linux下命令有哪幾種可使用的通配符?分別代表什麼含義?

17.用什麼命令對一個文件的內容進行統計?(行號、單詞數、字節數)

18.Grep命令有什麼用? 如何忽略大小寫? 如何查找不含該串的行?

19.Linux中進程有哪幾種狀態?在ps顯示出來的信息中分別用什麼符號表示的?

20.怎樣查看一個Linux命令的概要與用法?假設你在/bin目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?

考慮篇幅,就着重挑了一些常見的重要的面試題展示出來了。

所有的面試題目都不是一成不變的,上面的面試題只是給大家一個借鑑作用,最主要的是給自己增加知識的儲備,有備無患。

金三銀四即將來臨,來刷刷這份春招面試手冊。

資料獲取方式:點擊傳送門 即可免費獲取上述資料~(面試答案-PDF文檔)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章