<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          百度Java面試題前200頁(yè)都在這里了

          共 15558字,需瀏覽 32分鐘

           ·

          2022-06-25 12:40


          基本概念

          • 操作系統(tǒng)中 heap 和 stack 的區(qū)別

          • 什么是基于注解的切面實(shí)現(xiàn)

          • 什么是 對(duì)象/關(guān)系 映射集成模塊

          • 什么是 Java 的反射機(jī)制

          • 什么是 ACID

          • BS與CS的聯(lián)系與區(qū)別

          • Cookie 和 Session的區(qū)別

          • fail-fast 與 fail-safe 機(jī)制有什么區(qū)別

          • get 和 post請(qǐng)求的區(qū)別

          • Interface 與 abstract 類的區(qū)別

          • IOC的優(yōu)點(diǎn)是什么

          • IO 和 NIO的區(qū)別,NIO優(yōu)點(diǎn)

          • Java 8 / Java 7 為我們提供了什么新功能

          • 什么是競(jìng)態(tài)條件? 舉個(gè)例子說(shuō)明。

          • JRE、JDK、JVM 及 JIT 之間有什么不同

          • MVC的各個(gè)部分都有那些技術(shù)來(lái)實(shí)現(xiàn)?如何實(shí)現(xiàn)?

          • RPC 通信和 RMI 區(qū)別

          • 什么是 Web Service(Web服務(wù))

          • JSWDL開(kāi)發(fā)包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。

          • WEB容器主要有哪些功能? 并請(qǐng)列出一些常見(jiàn)的WEB容器名字。

          • 一個(gè)”.java”源文件中是否可以包含多個(gè)類(不是內(nèi)部類)?有什么限制

          • 簡(jiǎn)單說(shuō)說(shuō)你了解的類加載器。是否實(shí)現(xiàn)過(guò)類加載器

          • 解釋一下什么叫AOP(面向切面編程)

          • 請(qǐng)簡(jiǎn)述 Servlet 的生命周期及其相關(guān)的方法

          • 請(qǐng)簡(jiǎn)述一下 Ajax 的原理及實(shí)現(xiàn)步驟

          • 簡(jiǎn)單描述Struts的主要功能

          • 什么是 N 層架構(gòu)

          • 什么是CORBA?用途是什么

          • 什么是Java虛擬機(jī)?為什么Java被稱作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)言”

          • 什么是正則表達(dá)式?用途是什么?哪個(gè)包使用正則表達(dá)式來(lái)實(shí)現(xiàn)模式匹配

          • 什么是懶加載(Lazy Loading)

          • 什么是尾遞歸,為什么需要尾遞歸

          • 什么是控制反轉(zhuǎn)(Inversion of Control)與依賴注入(Dependency Injection)

          關(guān)鍵字

          • finalize

            • 使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還是引用的對(duì)象不能變

            • 一個(gè)類被聲明為final類型,表示了什么意思

            • throws, throw, try, catch, finally分別代表什么意義

            • final 與 static 關(guān)鍵字可以用于哪里?它們的作用是什么

            • final, finally, finalize的區(qū)別

            • final、finalize 和 finally 的不同之處?

            • finalize()方法什么時(shí)候被調(diào)用

            • 析構(gòu)函數(shù)(finalization)的目的是什么

            • final 和 finalize 的區(qū)別

            • final

            • 什么是finalize()方法

            • final關(guān)鍵字有哪些用法

            • 能否在運(yùn)行時(shí)向 static final 類型的賦值

          • Java 有幾種修飾符?分別用來(lái)修飾什么

          • volatile

            • volatile 修飾符的有過(guò)什么實(shí)踐

            • volatile 變量是什么?volatile 變量和 atomic 變量有什么不同

            • volatile 類型變量提供什么保證?能使得一個(gè)非原子操作變成原子操作嗎

            • 能創(chuàng)建 volatile 數(shù)組嗎?

          • transient變量有什么特點(diǎn)

          • super什么時(shí)候使用

          • public static void 寫(xiě)成 static public void會(huì)怎樣

          • 說(shuō)明一下public static void main(String args[])這段聲明里每個(gè)關(guān)鍵字的作用

          • 請(qǐng)說(shuō)出作用域public, private, protected, 以及不寫(xiě)時(shí)的區(qū)別

          • sizeof 是Java 的關(guān)鍵字嗎

          • static

            • static class 與 non static class的區(qū)別

            • static 關(guān)鍵字是什么意思?Java中是否可以覆蓋(override)一個(gè)private或者是static的方法

            • 靜態(tài)類型有什么特點(diǎn)

            • main() 方法為什么必須是靜態(tài)的?能不能聲明 main() 方法為非靜態(tài)

            • 是否可以從一個(gè)靜態(tài)(static)方法內(nèi)部發(fā)出對(duì)非靜態(tài)(non-static)方法的調(diào)用

            • 靜態(tài)變量在什么時(shí)候加載?編譯期還是運(yùn)行期?靜態(tài)代碼塊加載的時(shí)機(jī)呢

            • 成員方法是否可以訪問(wèn)靜態(tài)變量?為什么靜態(tài)方法不能訪問(wèn)成員變量

          • switch

            • switch 語(yǔ)句中的表達(dá)式可以是什么類型數(shù)據(jù)

            • switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上

          • while 循環(huán)和 do 循環(huán)有什么不同

          操作符

          • &操作符和&&操作符有什么區(qū)別?

          • a = a + b 與 a += b 的區(qū)別?

          • 邏輯操作符 (&,|,^)與條件操作符(&&,||)的區(qū)別

          • 3*0.1 == 0.3 將會(huì)返回什么?true 還是 false?

          • float f=3.4; 是否正確?

          • short s1 = 1; s1 = s1 + 1;有什么錯(cuò)?

          數(shù)據(jù)結(jié)構(gòu)

          • 基礎(chǔ)類型(Primitives)

            • 基礎(chǔ)類型(Primitives)與封裝類型(Wrappers)的區(qū)別在哪里

            • 簡(jiǎn)述九種基本數(shù)據(jù)類型的大小,以及他們的封裝類

            • int 和 Integer 哪個(gè)會(huì)占用更多的內(nèi)存? int 和 Integer 有什么區(qū)別?parseInt()函數(shù)在什么時(shí)候使用到

            • float和double的默認(rèn)值是多少

            • 如何去小數(shù)四舍五入保留小數(shù)點(diǎn)后兩位

            • char 型變量中能不能存貯一個(gè)中文漢字,為什么

          • 類型轉(zhuǎn)換

            • 怎樣將 bytes 轉(zhuǎn)換為 long 類型

            • 怎么將 byte 轉(zhuǎn)換為 String

            • 如何將數(shù)值型字符轉(zhuǎn)換為數(shù)字

            • 我們能將 int 強(qiáng)制轉(zhuǎn)換為 byte 類型的變量嗎?如果該值大于 byte 類型的范圍,將會(huì)出現(xiàn)什么現(xiàn)象

            • 能在不進(jìn)行強(qiáng)制轉(zhuǎn)換的情況下將一個(gè) double 值賦值給 long 類型的變量嗎

            • 類型向下轉(zhuǎn)換是什么

          • 數(shù)組

            • 如何權(quán)衡是使用無(wú)序的數(shù)組還是有序的數(shù)組

            • 怎么判斷數(shù)組是 null 還是為空

            • 怎么打印數(shù)組? 怎樣打印數(shù)組中的重復(fù)元素

            • Array 和 ArrayList有什么區(qū)別?什么時(shí)候應(yīng)該使用Array而不是ArrayList

            • 數(shù)組和鏈表數(shù)據(jù)結(jié)構(gòu)描述,各自的時(shí)間復(fù)雜度

            • 數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法

          • 隊(duì)列

            • 隊(duì)列和棧是什么,列出它們的區(qū)別

            • BlockingQueue是什么

            • 簡(jiǎn)述 ConcurrentLinkedQueue LinkedBlockingQueue 的用處和不同之處。

          • ArrayList、Vector、LinkedList的存儲(chǔ)性能和特性

          • String

          • StringBuffer

            • ByteBuffer 與 StringBuffer有什么區(qū)別

          • HashMap

            • HashMap的工作原理是什么

            • 內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是什么

            • HashMap 的 table的容量如何確定?loadFactor 是什么? 該容量如何變化?這種變化會(huì)帶來(lái)什么問(wèn)題?

            • HashMap 實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)是什么?如何實(shí)現(xiàn)

            • HashMap 和 HashTable、ConcurrentHashMap 的區(qū)別

            • HashMap的遍歷方式及效率

            • HashMap、LinkedMap、TreeMap的區(qū)別

            • 如何決定選用HashMap還是TreeMap

            • 如果HashMap的大小超過(guò)了負(fù)載因子(load factor)定義的容量,怎么辦

            • HashMap 是線程安全的嗎?并發(fā)下使用的 Map 是什么,它們內(nèi)部原理分別是什么,比如存儲(chǔ)方式、 hashcode、擴(kuò)容、 默認(rèn)容量等

          • HashSet

            • HashSet和TreeSet有什么區(qū)別

            • HashSet 內(nèi)部是如何工作的

            • WeakHashMap 是怎么工作的?

          • Set

            • Set 里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢?是用 == 還是 equals()? 它們有何區(qū)別?

            • TreeMap:TreeMap 是采用什么樹(shù)實(shí)現(xiàn)的?TreeMap、HashMap、LindedHashMap的區(qū)別。TreeMap和TreeSet在排序時(shí)如何比較元素?Collections工具類中的sort()方法如何比較元素?

            • TreeSet:一個(gè)已經(jīng)構(gòu)建好的 TreeSet,怎么完成倒排序。

            • EnumSet 是什么

          • Hash算法

            • Hashcode 的作用

            • 簡(jiǎn)述一致性 Hash 算法

            • 有沒(méi)有可能 兩個(gè)不相等的對(duì)象有相同的 hashcode?當(dāng)兩個(gè)對(duì)象 hashcode 相同怎么辦?如何獲取值對(duì)象

            • 為什么在重寫(xiě) equals 方法的時(shí)候需要重寫(xiě) hashCode 方法?equals與 hashCode 的異同點(diǎn)在哪里

            • a.hashCode() 有什么用?與 a.equals(b) 有什么關(guān)系

            • hashCode() 和 equals() 方法的重要性體現(xiàn)在什么地方

            • Object:Object有哪些公用方法?Object類hashcode,equals 設(shè)計(jì)原則? sun為什么這么設(shè)計(jì)?Object類的概述

            • 如何在父類中為子類自動(dòng)完成所有的 hashcode 和 equals 實(shí)現(xiàn)?這么做有何優(yōu)劣。

            • 可以在 hashcode() 中使用隨機(jī)數(shù)字嗎?

          • LinkedHashMap

            • LinkedHashMap 和 PriorityQueue 的區(qū)別是什么

          • List

            • ArrayList 和 HashMap 的默認(rèn)大小是多數(shù)

            • ArrayList 和 LinkedList 的區(qū)別,什么時(shí)候用 ArrayList?

            • ArrayList 和 Set 的區(qū)別?

            • ArrayList, LinkedList, Vector的區(qū)別

            • ArrayList是如何實(shí)現(xiàn)的,ArrayList 和 LinkedList 的區(qū)別

            • ArrayList如何實(shí)現(xiàn)擴(kuò)容

            • Array 和 ArrayList 有何區(qū)別?什么時(shí)候更適合用Array

            • 說(shuō)出ArraList,Vector, LinkedList的存儲(chǔ)性能和特性

            • LinkedList 是單向鏈表還是雙向鏈表

            • LinkedList 與 ArrayList 有什么區(qū)別

            • 描述下 Java 中集合(Collections),接口(Interfaces),實(shí)現(xiàn)(Implementations)的概念。LinkedList 與 ArrayList 的區(qū)別是什么?

            • 插入數(shù)據(jù)時(shí),ArrayList, LinkedList, Vector誰(shuí)速度較快?

            • List, Set, Map三個(gè)接口,存取元素時(shí)各有什么特點(diǎn)

            • List, Set, Map 是否繼承自 Collection 接口

            • 遍歷一個(gè) List 有哪些不同的方式

            • LinkedList

            • ArrayList

          • Map

            • Map, Set, List, Queue, Stack

            • Map 接口提供了哪些不同的集合視圖

            • 為什么 Map 接口不繼承 Collection 接口

          • Collections

            • 介紹Java中的Collection FrameWork。集合類框架的基本接口有哪些

            • Collections類是什么?Collection 和 Collections的區(qū)別?Collection、Map的實(shí)現(xiàn)

            • 集合類框架的最佳實(shí)踐有哪些

            • 為什么 Collection 不從 Cloneable 和 Serializable 接口繼承

            • 說(shuō)出幾點(diǎn) Java 中使用 Collections 的最佳實(shí)踐?

            • Collections 中 遺留類 (HashTable、Vector) 和 現(xiàn)有類的區(qū)別

          • 什么是 B+樹(shù),B-樹(shù),列出實(shí)際的使用場(chǎng)景。

          接口

          • Comparator 與 Comparable 接口是干什么的?列出它們的區(qū)別

          對(duì)象

          • 拷貝(clone)

            • 如何實(shí)現(xiàn)對(duì)象克隆

            • 深拷貝和淺拷貝區(qū)別

            • 深拷貝和淺拷貝如何實(shí)現(xiàn)激活機(jī)制

            • 寫(xiě)clone()方法時(shí),通常都有一行代碼,是什么

          • 比較

            • 在比較對(duì)象時(shí),”==” 運(yùn)算符和 equals 運(yùn)算有何區(qū)別

            • 如果要重寫(xiě)一個(gè)對(duì)象的equals方法,還要考慮什么

            • 兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對(duì)不對(duì)

          • 構(gòu)造器

            • 構(gòu)造器鏈?zhǔn)鞘裁?/p>

            • 創(chuàng)建對(duì)象時(shí)構(gòu)造器的調(diào)用順序

          • 不可變對(duì)象

            • 什么是不可變象(immutable object)

            • 為什么 Java 中的 String 是不可變的(Immutable)

            • 如何構(gòu)建不可變的類結(jié)構(gòu)?關(guān)鍵點(diǎn)在哪里

            • 能創(chuàng)建一個(gè)包含可變對(duì)象的不可變對(duì)象嗎

          • 如何對(duì)一組對(duì)象進(jìn)行排序

          方法

          • 構(gòu)造器(constructor)是否可被重寫(xiě)(override)

          • 方法可以同時(shí)即是 static 又是 synchronized 的嗎

          • abstract 的 method是否可同時(shí)是 static,是否可同時(shí)是 native,是否可同時(shí)是synchronized

          • Java支持哪種參數(shù)傳遞類型

          • 一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法,是值傳遞還是引用傳遞

          • 當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞

          • 我們能否重載main()方法

          • 如果main方法被聲明為private會(huì)怎樣

          GC

          • 概念

            • GC是什么?為什么要有GC

            • 什么時(shí)候會(huì)導(dǎo)致垃圾回收

            • GC是怎么樣運(yùn)行的

            • 新老以及永久區(qū)是什么

            • GC 有幾種方式?怎么配置

            • 什么時(shí)候一個(gè)對(duì)象會(huì)被GC? 如何判斷一個(gè)對(duì)象是否存活

            • System.gc()  Runtime.gc()會(huì)做什么事情?  能保證 GC 執(zhí)行嗎

            • 垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動(dòng)通知虛擬機(jī)進(jìn)行垃圾回收?

            • Minor GC 、Major GC、Young GC 與 Full GC分別在什么時(shí)候發(fā)生

            • 垃圾回收算法的實(shí)現(xiàn)原理

            • 如果對(duì)象的引用被置為null,垃圾收集器是否會(huì)立即釋放對(duì)象占用的內(nèi)存?

            • 垃圾回收的最佳做法是什么

          • GC收集器有哪些

            • Serial 與 Parallel GC之間的不同之處

            • CMS 收集器 與 G1 收集器的特點(diǎn)與區(qū)別

            • CMS垃圾回收器的工作過(guò)程

            • JVM 中一次完整的 GC 流程是怎樣的? 對(duì)象如何晉升到老年代

            • 吞吐量?jī)?yōu)先和響應(yīng)優(yōu)先的垃圾收集器選擇

            • 垃圾回收器的基本原理是什么?

            • 串行(serial)收集器和吞吐量(throughput)收集器的區(qū)別是什么

          • GC策略

            • 舉個(gè)實(shí)際的場(chǎng)景,選擇一個(gè)GC策略

            • JVM的永久代中會(huì)發(fā)生垃圾回收嗎

          • 收集方法

            • 標(biāo)記清除、標(biāo)記整理、復(fù)制算法的原理與特點(diǎn)?分別用在什么地方

            • 如果讓你優(yōu)化收集方法,有什么思路

          JVM

          • 參數(shù)

            • 說(shuō)說(shuō)你知道的幾種主要的jvm 參數(shù)

            • -XX:+UseCompressedOops 有什么作用

          • 類加載器(ClassLoader)

            • Java 類加載器都有哪些

            • JVM如何加載字節(jié)碼文件

          • 內(nèi)存管理

            • JVM內(nèi)存分哪幾個(gè)區(qū),每個(gè)區(qū)的作用是什么

            • 一個(gè)對(duì)象從創(chuàng)建到銷毀都是怎么在這些部分里存活和轉(zhuǎn)移的

            • 解釋內(nèi)存中的棧(stack)、堆(heap)和方法區(qū)(method area)的用法

            • JVM中哪個(gè)參數(shù)是用來(lái)控制線程的棧堆棧小

            • 簡(jiǎn)述內(nèi)存分配與回收策略

            • 簡(jiǎn)述重排序,內(nèi)存屏障,happen-before,主內(nèi)存,工作內(nèi)存

            • Java中存在內(nèi)存泄漏問(wèn)題嗎?請(qǐng)舉例說(shuō)明

            • 簡(jiǎn)述 Java 中軟引用(SoftReferenc)、弱引用(WeakReference)和虛引用

            • 內(nèi)存映射緩存區(qū)是什么

          • jstack,jstat,jmap,jconsole怎么用

          • 32 位 JVM 和 64 位 JVM 的最大堆內(nèi)存分別是多數(shù)?32 位和 64 位的 JVM,int 類型變量的長(zhǎng)度是多數(shù)?

          • 怎樣通過(guò) Java 程序來(lái)判斷 JVM 是 32 位 還是 64 位

          • JVM自身會(huì)維護(hù)緩存嗎?是不是在堆中進(jìn)行對(duì)象分配,操作系統(tǒng)的堆還是JVM自己管理堆

          • 什么情況下會(huì)發(fā)生棧內(nèi)存溢出

          • 雙親委派模型是什么

          多線程

          • 基本概念

            • Vector, SimpleDateFormat 是線程安全類嗎

            • 什么 Java 原型不是線程安全的

            • 哪些集合類是線程安全的

            • 用 Runnable 還是 Thread

            • 什么是線程

            • 多線程的優(yōu)點(diǎn)

            • 多線程的幾種實(shí)現(xiàn)方式

            • 什么是線程安全

            • 多線程中的忙循環(huán)是什么

            • 如何創(chuàng)建一個(gè)線程

            • 編寫(xiě)多線程程序有幾種實(shí)現(xiàn)方式

            • 什么是線程局部變量

            • 線程和進(jìn)程有什么區(qū)別?進(jìn)程間如何通訊,線程間如何通訊

            • 什么是多線程環(huán)境下的偽共享(false sharing)

            • 同步和異步有何異同,在什么情況下分別使用他們?舉例說(shuō)明

          • Current

            • ConcurrentHashMap 和 Hashtable的區(qū)別

            • ArrayBlockingQueue, CountDownLatch的用法

            • ConcurrentHashMap的并發(fā)度是什么

          • CyclicBarrier 和 CountDownLatch有什么不同?各自的內(nèi)部原理和用法是什么

          • Semaphore的用法

          • Thread

            • 啟動(dòng)一個(gè)線程是調(diào)用 run() 還是 start() 方法?start() 和 run() 方法有什么區(qū)別

            • 調(diào)用start()方法時(shí)會(huì)執(zhí)行run()方法,為什么不能直接調(diào)用run()方法

            • sleep() 方法和對(duì)象的 wait() 方法都可以讓線程暫停執(zhí)行,它們有什么區(qū)別

            • yield方法有什么作用?sleep() 方法和 yield() 方法有什么區(qū)別

            • Java 中如何停止一個(gè)線程

            • stop() 和 suspend() 方法為何不推薦使用

            • 如何在兩個(gè)線程間共享數(shù)據(jù)

            • 如何強(qiáng)制啟動(dòng)一個(gè)線程

            • 如何讓正在運(yùn)行的線程暫停一段時(shí)間

            • 什么是線程組,為什么在Java中不推薦使用

            • 你是如何調(diào)用  wait(方法的)?使用 if 塊還是循環(huán)?為什么

          • 生命周期

            • 有哪些不同的線程生命周期

            • 線程狀態(tài),BLOCKED 和 WAITING 有什么區(qū)別

            • 畫(huà)一個(gè)線程的生命周期狀態(tài)圖

          • ThreadLocal 用途是什么,原理是什么,用的時(shí)候要注意什么

          • ThreadPool

            • ThreadPool用法與優(yōu)勢(shì)

            • 提交任務(wù)時(shí),線程池隊(duì)列已滿時(shí)會(huì)發(fā)會(huì)生什么

            • newCache 和 newFixed 有什么區(qū)別?簡(jiǎn)述原理。構(gòu)造函數(shù)的各個(gè)參數(shù)的含義是什么,比如 coreSize, maxsize 等

            • 線程池的實(shí)現(xiàn)策略

            • 線程池的關(guān)閉方式有幾種,各自的區(qū)別是什么

            • 線程池中submit() 和 execute()方法有什么區(qū)別?

            • 線程池是什么?為什么要使用它

            • 如何創(chuàng)建一個(gè)Java線程池

          • 線程調(diào)度

            • Java中用到的線程調(diào)度算法是什么

            • 什么是多線程中的上下文切換

            • 你對(duì)線程優(yōu)先級(jí)的理解是什么

            • 什么是線程調(diào)度器 (Thread Scheduler) 和時(shí)間分片 (Time Slicing)

          • 線程同步

            • 請(qǐng)說(shuō)出你所知的線程同步的方法

            • synchronized 的原理是什么

            • synchronized 和 ReentrantLock 有什么不同

            • 什么場(chǎng)景下可以使用 volatile 替換 synchronized

            • 有T1,T2,T3三個(gè)線程,怎么確保它們按順序執(zhí)行?怎樣保證T2在T1執(zhí)行完后執(zhí)行,T3在T2執(zhí)行完后執(zhí)行

            • 同步塊內(nèi)的線程拋出異常會(huì)發(fā)生什么

            • 當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的 synchronized 方法A 之后,其它線程是否可進(jìn)入此對(duì)象的 synchronized 方法B

            • 使用 synchronized 修飾靜態(tài)方法和非靜態(tài)方法有什么區(qū)別

            • 如何從給定集合那里創(chuàng)建一個(gè) synchronized 的集合

            • Java Concurrency API 中 的 Lock 接口是什么?對(duì)比同步它有什么優(yōu)勢(shì)

            • Lock 與 Synchronized 的區(qū)別?Lock 接口比 synchronized 塊的優(yōu)勢(shì)是什么

            • ReadWriteLock是什么?

            • 鎖機(jī)制有什么用

            • 什么是樂(lè)觀鎖(Optimistic Locking)?如何實(shí)現(xiàn)樂(lè)觀鎖?如何避免ABA問(wèn)題

            • 解釋以下名詞:重排序,自旋鎖,偏向鎖,輕量級(jí)鎖,可重入鎖,公平鎖,非公平鎖,樂(lè)觀鎖,悲觀鎖

            • 什么時(shí)候應(yīng)該使用可重入鎖

            • 簡(jiǎn)述鎖的等級(jí)方法鎖、對(duì)象鎖、類鎖

            • Java中活鎖和死鎖有什么區(qū)別?

            • 什么是死鎖(Deadlock)?導(dǎo)致線程死鎖的原因?如何確保 N 個(gè)線程可以訪問(wèn) N 個(gè)資源同時(shí)又不導(dǎo)致死鎖

            • 死鎖與活鎖的區(qū)別,死鎖與饑餓的區(qū)別

            • 怎么檢測(cè)一個(gè)線程是否擁有鎖

            • 如何實(shí)現(xiàn)分布式鎖

            • 有哪些無(wú)鎖數(shù)據(jù)結(jié)構(gòu),他們實(shí)現(xiàn)的原理是什么

            • 讀寫(xiě)鎖可以用于什么應(yīng)用場(chǎng)景

          • Executors類是什么? Executor和Executors的區(qū)別

          • 什么是Java線程轉(zhuǎn)儲(chǔ)(Thread Dump),如何得到它

          • 如何在Java中獲取線程堆棧

          • 說(shuō)出 3 條在 Java 中使用線程的最佳實(shí)踐

          • 在線程中你怎么處理不可捕捉異常

          • 實(shí)際項(xiàng)目中使用多線程舉例。你在多線程環(huán)境中遇到的常見(jiàn)的問(wèn)題是什么?你是怎么解決它的

          • 請(qǐng)說(shuō)出與線程同步以及線程調(diào)度相關(guān)的方法

          • 程序中有3個(gè) socket,需要多少個(gè)線程來(lái)處理

          • 假如有一個(gè)第三方接口,有很多個(gè)線程去調(diào)用獲取數(shù)據(jù),現(xiàn)在規(guī)定每秒鐘最多有 10 個(gè)線程同時(shí)調(diào)用它,如何做到

          • 如何在 Windows 和 Linux 上查找哪個(gè)線程使用的 CPU 時(shí)間最長(zhǎng)

          • 如何確保 main() 方法所在的線程是 Java 程序最后結(jié)束的線程

          • 非常多個(gè)線程(可能是不同機(jī)器),相互之間需要等待協(xié)調(diào)才能完成某種工作,問(wèn)怎么設(shè)計(jì)這種協(xié)調(diào)方案

          • 你需要實(shí)現(xiàn)一個(gè)高效的緩存,它允許多個(gè)用戶讀,但只允許一個(gè)用戶寫(xiě),以此來(lái)保持它的完整性,你會(huì)怎樣去實(shí)現(xiàn)它

          異常

          • 基本概念

            • UnsupportedOperationException是什么

            • NullPointerException 和 ArrayIndexOutOfBoundException 之間有什么相同之處

            • Error 和 Exception有什么區(qū)別

            • 什么是受檢查的異常,什么是運(yùn)行時(shí)異常

            • 運(yùn)行時(shí)異常與一般異常有何異同

            • 簡(jiǎn)述一個(gè)你最常見(jiàn)到的runtime exception(運(yùn)行時(shí)異常)

          • finally

            • 如果執(zhí)行finally代碼塊之前方法返回了結(jié)果,或者JVM退出了,finally塊中的代碼還會(huì)執(zhí)行嗎

            • try里有return,finally還執(zhí)行么?那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后

            • 在什么情況下,finally語(yǔ)句不會(huì)執(zhí)行

            • finally關(guān)鍵詞在異常處理中如何使用

          • throw 和 throws 有什么區(qū)別?

          • OOM你遇到過(guò)哪些情況?你是怎么搞定的?

          • SOF你遇到過(guò)哪些情況?

          • 既然我們可以用RuntimeException來(lái)處理錯(cuò)誤,那么你認(rèn)為為什么Java中還存在檢查型異常

          • 當(dāng)自己創(chuàng)建異常類的時(shí)候應(yīng)該注意什么

          • 導(dǎo)致空指針異常的原因

          • 異常處理 handle or declare 原則應(yīng)該如何理解

          • 怎么利用 JUnit 來(lái)測(cè)試一個(gè)方法的異常

          • catch塊里別不寫(xiě)代碼有什么問(wèn)題

          • 你曾經(jīng)自定義實(shí)現(xiàn)過(guò)異常嗎?怎么寫(xiě)的

          • 什么是 異常鏈

          • 在try塊中可以拋出異常嗎

          JDBC

          • 通過(guò) JDBC 連接數(shù)據(jù)庫(kù)有哪幾種方式

          • 闡述 JDBC 操作數(shù)據(jù)庫(kù)的基本步驟

          • JDBC 中如何進(jìn)行事務(wù)處理

          • 什么是 JdbcTemplate

          • 什么是 DAO 模塊

          • 使用 JDBC 操作數(shù)據(jù)庫(kù)時(shí),如何提升讀取數(shù)據(jù)的性能?如何提升更新數(shù)據(jù)的性能

          • 列出 5 個(gè)應(yīng)該遵循的 JDBC 最佳實(shí)踐

          IO

          • File

            • File類型中定義了什么方法來(lái)判斷一個(gè)文件是否存在

            • File類型中定義了什么方法來(lái)創(chuàng)建一級(jí)目錄

            • 為了提高讀寫(xiě)性能,可以采用什么流

            • Java中有幾種類型的流

            • JDK 為每種類型的流提供了一些抽象類以供繼承,分別是哪些類

            • 對(duì)文本文件操作用什么I/O流

            • 對(duì)各種基本數(shù)據(jù)類型和String類型的讀寫(xiě),采用什么流

            • 能指定字符編碼的 I/O 流類型是什么

          • 序列化

            • 什么是序列化?如何實(shí)現(xiàn) Java 序列化及注意事項(xiàng)

            • Serializable 與 Externalizable 的區(qū)別

          • Socket

            • socket 選項(xiàng) TCP NO DELAY 是指什么

            • Socket 工作在 TCP/IP 協(xié)議棧是哪一層

            • TCP、UDP 區(qū)別及 Java 實(shí)現(xiàn)方式

          • 說(shuō)幾點(diǎn) IO 的最佳實(shí)踐

          • 直接緩沖區(qū)與非直接緩沖器有什么區(qū)別?

          • 怎么讀寫(xiě) ByteBuffer?ByteBuffer 中的字節(jié)序是什么

          • 當(dāng)用System.in.read(buffer)從鍵盤(pán)輸入一行n個(gè)字符后,存儲(chǔ)在緩沖區(qū)buffer中的字節(jié)數(shù)是多少

          • 如何使用掃描器類(Scanner Class)令牌化

          面向?qū)ο缶幊蹋∣OP)

          • 解釋下多態(tài)性(polymorphism),封裝性(encapsulation),內(nèi)聚(cohesion)以及耦合(coupling)

          • 多態(tài)的實(shí)現(xiàn)原理

          • 封裝、繼承和多態(tài)是什么

          • 對(duì)象封裝的原則是什么?

            • 獲得一個(gè)類的類對(duì)象有哪些方式

            • 重載(Overload)和重寫(xiě)(Override)的區(qū)別。重載的方法能否根據(jù)返回類型進(jìn)行區(qū)分?

            • 說(shuō)出幾條 Java 中方法重載的最佳實(shí)踐

          • 抽象類

            • 抽象類和接口的區(qū)別

            • 抽象類中是否可以有靜態(tài)的main方法

            • 抽象類是否可實(shí)現(xiàn)(implements)接口

            • 抽象類是否可繼承具體類(concrete class)

          • 匿名類(Anonymous Inner Class)

            • 匿名內(nèi)部類是否可以繼承其它類?是否可以實(shí)現(xiàn)接口

          • 內(nèi)部類

            • 內(nèi)部類分為幾種

            • 內(nèi)部類可以引用它的包含類(外部類)的成員嗎

            • 請(qǐng)說(shuō)一下 Java 中為什么要引入內(nèi)部類?還有匿名內(nèi)部類

          • 繼承

            • 繼承(Inheritance)與聚合(Aggregation)的區(qū)別在哪里

            • 繼承和組合之間有什么不同

            • 為什么類只能單繼承,接口可以多繼承

            • 存在兩個(gè)類,B 繼承 A,C 繼承 B,能將 B 轉(zhuǎn)換為 C 么?如 C = (C) B

            • 如果類 a 繼承類 b,實(shí)現(xiàn)接口c,而類 b 和接口 c 中定義了同名變量,請(qǐng)問(wèn)會(huì)出現(xiàn)什么問(wèn)題

          • 接口

            • 接口是什么

            • 接口是否可繼承接口

            • 為什么要使用接口而不是直接使用具體類?接口有什么優(yōu)點(diǎn)

          泛型

          • 泛型的存在是用來(lái)解決什么問(wèn)題

          • 泛型的常用特點(diǎn)

          • List

            能否轉(zhuǎn)為L(zhǎng)ist

          工具類

          • 日歷

            • Calendar Class的用途

            • 如何在Java中獲取日歷類的實(shí)例

            • 解釋一些日歷類中的重要方法

            • GregorianCalendar 類是什么

            • SimpleTimeZone 類是什么

            • Locale類是什么

            • 如何格式化日期對(duì)象

            • 如何添加小時(shí)(hour)到一個(gè)日期對(duì)象(Date Objects)

            • 如何將字符串 YYYYMMDD 轉(zhuǎn)換為日期

          • Math

            • Math.round()什么作用?Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

          • XML

            • XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?DOM 和 SAX 解析器有什么不同?

            • Java解析XML的方式

            • 用 jdom 解析 xml 文件時(shí)如何解決中文問(wèn)題?如何解析

            • 你在項(xiàng)目中用到了 XML 技術(shù)的哪些方面?如何實(shí)現(xiàn)

          動(dòng)態(tài)代理

          • 描述動(dòng)態(tài)代理的幾種實(shí)現(xiàn)方式,分別說(shuō)出相應(yīng)的優(yōu)缺點(diǎn)

          設(shè)計(jì)模式

          • 什么是設(shè)計(jì)模式(Design Patterns)?你用過(guò)哪種設(shè)計(jì)模式?用在什么場(chǎng)合

          • 你知道哪些商業(yè)級(jí)設(shè)計(jì)模式?

          • 哪些設(shè)計(jì)模式可以增加系統(tǒng)的可擴(kuò)展性

          • 單例模式

            • 除了單例模式,你在生產(chǎn)環(huán)境中還用過(guò)什么設(shè)計(jì)模式?

            • 寫(xiě) Singleton 單例模式

            • 單例模式的雙檢鎖是什么

            • 如何創(chuàng)建線程安全的 Singleton

            • 什么是類的單例模式

            • 寫(xiě)出三種單例模式實(shí)現(xiàn)

          • 適配器模式

            • 適配器模式是什么?什么時(shí)候使用

            • 適配器模式和代理模式之前有什么不同

            • 適配器模式和裝飾器模式有什么區(qū)別

          • 什么時(shí)候使用享元模式

          • 什么時(shí)候使用組合模式

          • 什么時(shí)候使用訪問(wèn)者模式

          • 什么是模板方法模式

          • 請(qǐng)給出1個(gè)符合開(kāi)閉原則的設(shè)計(jì)模式的例子

          開(kāi)放問(wèn)題

          • 用一句話概括 Web 編程的特點(diǎn)

          • Google是如何在一秒內(nèi)把搜索結(jié)果返回給用戶

          • 哪種依賴注入方式你建議使用,構(gòu)造器注入,還是 Setter方法注入

          • 樹(shù)(二叉或其他)形成許多普通數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。請(qǐng)描述一些這樣的數(shù)據(jù)結(jié)構(gòu)以及何時(shí)可以使用它們

          • 某一項(xiàng)功能如何設(shè)計(jì)

          • 線上系統(tǒng)突然變得異常緩慢,你如何查找問(wèn)題

          • 什么樣的項(xiàng)目不適合用框架

          • 新浪微博是如何實(shí)現(xiàn)把微博推給訂閱者

          • 簡(jiǎn)要介紹下從瀏覽器輸入 URL 開(kāi)始到獲取到請(qǐng)求界面之后 Java Web 應(yīng)用中發(fā)生了什么

          • 請(qǐng)你談?wù)凷SH整合

          • 高并發(fā)下,如何做到安全的修改同一行數(shù)據(jù)

          • 12306網(wǎng)站的訂票系統(tǒng)如何實(shí)現(xiàn),如何保證不會(huì)票不被超賣(mài)

          • 網(wǎng)站性能優(yōu)化如何優(yōu)化的

          • 聊了下曾經(jīng)參與設(shè)計(jì)的服務(wù)器架構(gòu)

          • 請(qǐng)思考一個(gè)方案,實(shí)現(xiàn)分布式環(huán)境下的 countDownLatch

          • 請(qǐng)思考一個(gè)方案,設(shè)計(jì)一個(gè)可以控制緩存總體大小的自動(dòng)適應(yīng)的本地緩存

          • 在你的職業(yè)生涯中,算得上最困難的技術(shù)挑戰(zhàn)是什么

          • 如何寫(xiě)一篇設(shè)計(jì)文檔,目錄是什么

          • 大寫(xiě)的O是什么?舉幾個(gè)例子

          • 編程中自己都怎么考慮一些設(shè)計(jì)原則的,比如開(kāi)閉原則,以及在工作中的應(yīng)用

          • 解釋一下網(wǎng)絡(luò)應(yīng)用的模式及其特點(diǎn)

          • 設(shè)計(jì)一個(gè)在線文檔系統(tǒng),文檔可以被編輯,如何防止多人同時(shí)對(duì)同一份文檔進(jìn)行編輯更新

          • 說(shuō)出數(shù)據(jù)連接池的工作機(jī)制是什么

          • 怎么獲取一個(gè)文件中單詞出現(xiàn)的最高頻率

          • 描述一下你最常用的編程風(fēng)格

          • 如果有機(jī)會(huì)重新設(shè)計(jì)你們的產(chǎn)品,你會(huì)怎么做

          • 如何搭建一個(gè)高可用系統(tǒng)

          • 如何啟動(dòng)時(shí)不需輸入用戶名與密碼

          • 如何在基于Java的Web項(xiàng)目中實(shí)現(xiàn)文件上傳和下載

          • 如何實(shí)現(xiàn)一個(gè)秒殺系統(tǒng),保證只有幾位用戶能買(mǎi)到某件商品。

          • 如何實(shí)現(xiàn)負(fù)載均衡,有哪些算法可以實(shí)現(xiàn)

          • 如何設(shè)計(jì)一個(gè)購(gòu)物車?想想淘寶的購(gòu)物車如何實(shí)現(xiàn)的

          • 如何設(shè)計(jì)一套高并發(fā)支付方案,架構(gòu)如何設(shè)計(jì)

          • 如何設(shè)計(jì)建立和保持 100w 的長(zhǎng)連接

          • 如何避免瀏覽器緩存。

          • 如何防止緩存雪崩

          • 如果AB兩個(gè)系統(tǒng)互相依賴,如何解除依

          • 如果有人惡意創(chuàng)建非法連接,怎么解決

          • 如果有幾十億的白名單,每天白天需要高并發(fā)查詢,晚上需要更新一次,如何設(shè)計(jì)這個(gè)功能

          • 如果系統(tǒng)要使用超大整數(shù)(超過(guò)long長(zhǎng)度范圍),請(qǐng)你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)這種超大型數(shù)字以及設(shè)計(jì)一種算法來(lái)實(shí)現(xiàn)超大整數(shù)加法運(yùn)算)

          • 如果要設(shè)計(jì)一個(gè)圖形系統(tǒng),請(qǐng)你設(shè)計(jì)基本的圖形元件(Point,Line,Rectangle,Triangle)的簡(jiǎn)單實(shí)現(xiàn)

          • 如果讓你實(shí)現(xiàn)一個(gè)并發(fā)安全的鏈表,你會(huì)怎么做

          • 應(yīng)用服務(wù)器與WEB 服務(wù)器的區(qū)別?應(yīng)用服務(wù)器怎么監(jiān)控性能,各種方式的區(qū)別?你使用過(guò)的應(yīng)用服務(wù)器優(yōu)化技術(shù)有哪些

          • 大型網(wǎng)站在架構(gòu)上應(yīng)當(dāng)考慮哪些問(wèn)題

          • 有沒(méi)有處理過(guò)線上問(wèn)題?出現(xiàn)內(nèi)存泄露,CPU利用率標(biāo)高,應(yīng)用無(wú)響應(yīng)時(shí)如何處理的

          • 最近看什么書(shū),印象最深刻的是什么

          • 描述下常用的重構(gòu)技巧

          • 你使用什么版本管理工具?分支(Branch)與標(biāo)簽(Tag)之間的區(qū)別在哪里

          • 你有了解過(guò)存在哪些反模式(Anti-Patterns)嗎

          • 你用過(guò)的網(wǎng)站前端優(yōu)化的技術(shù)有哪些

          • 如何分析Thread dump

          • 你如何理解AOP中的連接點(diǎn)(Joinpoint)、切點(diǎn)(Pointcut)、增強(qiáng)(Advice)、引介(Introduction)、織入(Weaving)、切面(Aspect)這些概念

          • 你是如何處理內(nèi)存泄露或者棧溢出問(wèn)題的

          • 你們線上應(yīng)用的 JVM 參數(shù)有哪些

          • 怎么提升系統(tǒng)的QPS和吞吐量

          知識(shí)面

          • 解釋什么是 MESI 協(xié)議(緩存一致性)

          • 談?wù)?reactor 模型

          • Java 9 帶來(lái)了怎樣的新功能

          • Java 與 C++ 對(duì)比,C++ 或 Java 中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用

          • 簡(jiǎn)單講講 Tomcat 結(jié)構(gòu),以及其類加載器流程

          • 虛擬內(nèi)存是什么

          • 闡述下 SOLID 原則

          • 請(qǐng)簡(jiǎn)要講一下你對(duì)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)的認(rèn)識(shí)

          • CDN實(shí)現(xiàn)原理

          • Maven 和 ANT 有什么區(qū)別

          • UML中有哪些常用的圖

          • Linux

            • Linux 下 IO 模型有幾種,各自的含義是什么。

            • Linux 系統(tǒng)下你關(guān)注過(guò)哪些內(nèi)核參數(shù),說(shuō)說(shuō)你知道的

            • Linux 下用一行命令查看文件的最后五行

            • 平時(shí)用到哪些 Linux 命令

            • 用一行命令輸出正在運(yùn)行的 Java 進(jìn)程

            • 使用什么命令來(lái)確定是否有 Tomcat 實(shí)例運(yùn)行在機(jī)器上

          • 什么是 N+1 難題

          • 什么是 paxos 算法

          • 什么是 restful,講講你理解的 restful

          • 什么是 zab 協(xié)議

          • 什么是領(lǐng)域模型(domain model)?貧血模型(anaemic domain model) 和充血模型(rich domain model)有什么區(qū)別

          • 什么是領(lǐng)域驅(qū)動(dòng)開(kāi)發(fā)(Domain Driven Development)

          • 介紹一下了解的 Java 領(lǐng)域的 Web Service 框架

          • Web Server、Web Container 與 Application Server 的區(qū)別是什么

          • 微服務(wù)(MicroServices)與巨石型應(yīng)用(Monolithic Applications)之間的區(qū)別在哪里

          • 描述 Cookie 和 Session 的作用,區(qū)別和各自的應(yīng)用范圍,Session工作原理

          • 你常用的持續(xù)集成(Continuous Integration)、靜態(tài)代碼分析(Static Code Analysis)工具有哪些

          • 簡(jiǎn)述下數(shù)據(jù)庫(kù)正則化(Normalizations)

          • KISS,DRY,YAGNI 等原則是什么含義

          • 分布式事務(wù)的原理,優(yōu)缺點(diǎn),如何使用分布式事務(wù)?

          • 布式集群下如何做到唯一序列號(hào)

          • 網(wǎng)絡(luò)

            • HTTPS 的加密方式是什么,講講整個(gè)加密解密流程

            • HTTPS和HTTP的區(qū)別

            • HTTP連接池實(shí)現(xiàn)原理

            • HTTP集群方案

            • Nginx、lighttpd、Apache三大主流 Web服務(wù)器的區(qū)別

          • 是否看過(guò)框架的一些代碼

          • 持久層設(shè)計(jì)要考慮的問(wèn)題有哪些?你用過(guò)的持久層框架有哪些

          • 數(shù)值提升是什么

          • 你能解釋一下里氏替換原則嗎

          • 你是如何測(cè)試一個(gè)應(yīng)用的?知道哪些測(cè)試框架

          • 傳輸層常見(jiàn)編程協(xié)議有哪些?并說(shuō)出各自的特點(diǎn)

          編程題

          計(jì)算加班費(fèi)

          加班10小時(shí)以下加班費(fèi)是時(shí)薪的1.5倍。加班10小時(shí)或以上,按4元/時(shí)算。提示:(一個(gè)月工作26天,一天正常工作8小時(shí))

          • 計(jì)算1000月薪,加班9小時(shí)的加班費(fèi)

          • 計(jì)算2500月薪,加班11小時(shí)的加班費(fèi)

          • 計(jì)算1000月薪,加班15小時(shí)的加班費(fèi)

          賣(mài)東西

          一家商場(chǎng)有紅蘋(píng)果和青蘋(píng)果出售。(紅蘋(píng)果5元/個(gè),青蘋(píng)果4元/個(gè))。

          • 模擬一個(gè)進(jìn)貨。紅蘋(píng)果跟青蘋(píng)果各進(jìn)200個(gè)。

          • 模擬一個(gè)出售。紅蘋(píng)果跟青蘋(píng)果各買(mǎi)出10個(gè)。每賣(mài)出一個(gè)蘋(píng)果需要進(jìn)行統(tǒng)計(jì)。

          提示:一個(gè)蘋(píng)果是一個(gè)單獨(dú)的實(shí)體。

          日期提取

          有這樣一個(gè)時(shí)間字符串:2008-8-8 20:08:08 , 請(qǐng)編寫(xiě)能夠匹配它的正則表達(dá)式,并編寫(xiě)Java代碼將日期后面的時(shí)分秒提取出來(lái),即:20:08:08

          線程

          • 8設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每次對(duì)j增加1,另外兩個(gè)線程對(duì)j每次減少1。寫(xiě)出程序。

          • 用Java寫(xiě)一個(gè)多線程程序,如寫(xiě)四個(gè)線程,二個(gè)加1,二個(gè)對(duì)一個(gè)變量減一,輸出

          • wait-notify 寫(xiě)一段代碼來(lái)解決生產(chǎn)者-消費(fèi)者問(wèn)題

          數(shù)字

          • 判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)

          • 用最有效率的方法算出2乘以17等于多少

          • 有 1 億個(gè)數(shù)字,其中有 2 個(gè)是重復(fù)的,快速找到它,時(shí)間和空間要最優(yōu)

          • 2 億個(gè)隨機(jī)生成的無(wú)序整數(shù),找出中間大小的值

          • 10 億個(gè)數(shù)字里里面找最小的 10 個(gè)

          • 1到1億的自然數(shù),求所有數(shù)的拆分后的數(shù)字之和,如286 拆分成2、8、6,如1到11拆分后的數(shù)字之和 => 1 + ... + 9 + 1 + 0 + 1 + 1

          • 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為 “完數(shù) “。例如6=1+2+3.編程 找出1000以內(nèi)的所有完數(shù)

          • 一個(gè)數(shù)組中所有的元素都出現(xiàn)了三次,只有一個(gè)元素出現(xiàn)了一次找到這個(gè)元素

          • 一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?

          • 求100-1000內(nèi)質(zhì)數(shù)的和

          • 求1到100的和的平均數(shù)

          • 求s=a+a+aaa+aaaa+aa…a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤(pán)控制。 求出1到100的和

          • 算出1到40的質(zhì)數(shù),放進(jìn)數(shù)組里

            • 顯示放組里的數(shù)

            • 找出第[5]個(gè)數(shù)

            • 刪除第[9]個(gè)數(shù),再顯示刪除后的第[9]個(gè)

          • 有 3n+1 個(gè)數(shù)字,其中 3n 個(gè)中是重復(fù)的,只有 1 個(gè)是不重復(fù)的,怎么找出來(lái)。

          • 有一組數(shù)1.1.2.3.5.8.13.21.34。寫(xiě)出程序隨便輸入一個(gè)數(shù)就能給出和前一組數(shù)字同規(guī)律的頭5個(gè)數(shù)

          • 計(jì)算指定數(shù)字的階乘

          • 開(kāi)發(fā) Fizz Buzz

          • 給定一個(gè)包含 N 個(gè)整數(shù)的數(shù)組,找出丟失的整數(shù)

          • 一個(gè)排好序的數(shù)組,找出兩數(shù)之和為m的所有組合

          • 將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。

          • 打印出所有的 “水仙花數(shù) “,所謂 “水仙花數(shù) “是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè) “水仙花數(shù) “,因?yàn)?53=1的三次方+5的三次方+3的三次方

          • 原地交換兩個(gè)變量的值

          • 找出4字節(jié)整數(shù)的中位數(shù)

          • 找到整數(shù)的平方根

          • 實(shí)現(xiàn)斐波那契

          網(wǎng)絡(luò)

          • 用Java Socket編程,讀服務(wù)器幾個(gè)字符,再寫(xiě)入本地顯示

          反射

          • 反射機(jī)制提供了什么功能?

          • 反射是如何實(shí)現(xiàn)的

          • 哪里用到反射機(jī)制

          • 反射中 Class.forName 和 ClassLoader 區(qū)別

          • 反射創(chuàng)建類實(shí)例的三種方式是什么

          • 如何通過(guò)反射調(diào)用對(duì)象的方法

          • 如何通過(guò)反射獲取和設(shè)置對(duì)象私有字段的值

          • 反射機(jī)制的優(yōu)缺點(diǎn)

          數(shù)據(jù)庫(kù)

          • 寫(xiě)一段 JDBC 連Oracle的程序,并實(shí)現(xiàn)數(shù)據(jù)查詢

          算法

          • 50個(gè)人圍坐一圈,當(dāng)數(shù)到三或者三的倍數(shù)出圈,問(wèn)剩下的人是誰(shuí),原來(lái)的位置是多少

          • 實(shí)現(xiàn)一個(gè)電梯模擬器用

          • 寫(xiě)一個(gè)冒泡排序

          • 寫(xiě)一個(gè)折半查找

          • 隨機(jī)產(chǎn)生20個(gè)不能重復(fù)的字符并排序

          • 寫(xiě)一個(gè)函數(shù),傳入 2 個(gè)有序的整數(shù)數(shù)組,返回一個(gè)有序的整數(shù)數(shù)組

          • 寫(xiě)一段代碼在遍歷 ArrayList 時(shí)移除一個(gè)元素

          • 古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第四個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少

          • 約瑟芬環(huán)游戲

          正則

          • 請(qǐng)編寫(xiě)一段匹配IP地址的正則表達(dá)式

          • 寫(xiě)出一個(gè)正則表達(dá)式來(lái)判斷一個(gè)字符串是否是一個(gè)數(shù)字

          字符串

          • 寫(xiě)一個(gè)方法,入一個(gè)文件名和一個(gè)字符串,統(tǒng)計(jì)這個(gè)字符串在這個(gè)文件中出現(xiàn)的次數(shù)。

          • 寫(xiě)一個(gè)程序找出所有字符串的組合,并檢查它們是否是回文串

          • 寫(xiě)一個(gè)字符串反轉(zhuǎn)函數(shù),輸入abcde轉(zhuǎn)換成edcba代碼

          • 小游戲,倒轉(zhuǎn)句子中的單詞

          • 將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串

          • 請(qǐng)寫(xiě)一段代碼來(lái)計(jì)算給定文本內(nèi)字符“A”的個(gè)數(shù)。分別用迭代和遞歸兩種方式

          • 編寫(xiě)一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個(gè),如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個(gè)”

          • 給定 2 個(gè)包含單詞列表(每行一個(gè))的文件,編程列出交集

          • 打印出一個(gè)字符串的所有排列

          • 將一個(gè)鍵盤(pán)輸入的數(shù)字轉(zhuǎn)化成中文輸出(例如:輸入1234567,輸出:一百二拾三萬(wàn)四千五百六拾七)

          • 在Web應(yīng)用開(kāi)發(fā)過(guò)程中經(jīng)常遇到輸出某種編碼的字符,如從 GBK 到 ISO8859-1等,如何輸出一個(gè)某種編碼的字符串

          日期

          • 計(jì)算兩個(gè)日期之間的差距



            最近熬夜給大家準(zhǔn)備了非常全的一套Java一線大廠面試題。全面覆蓋BATJ等一線互聯(lián)網(wǎng)公司的面試題及解答,由BAT一線互聯(lián)網(wǎng)公司大牛帶你深度剖析面試題背后的原理,不僅授你以魚(yú),更授你以漁,為你面試掃除一切障礙。



            資源,怎么領(lǐng)取?


            掃二維碼,備注:面試題


            一定要備注:面試題,不要急哦,工作忙完后就會(huì)通過(guò)!




            瀏覽 50
            點(diǎn)贊
            評(píng)論
            收藏
            分享

            手機(jī)掃一掃分享

            分享
            舉報(bào)
            評(píng)論
            圖片
            表情
            推薦
            點(diǎn)贊
            評(píng)論
            收藏
            分享

            手機(jī)掃一掃分享

            分享
            舉報(bào)
            <kbd id="afajh"><form id="afajh"></form></kbd>
            <strong id="afajh"><dl id="afajh"></dl></strong>
              <del id="afajh"><form id="afajh"></form></del>
                  1. <th id="afajh"><progress id="afajh"></progress></th>
                    <b id="afajh"><abbr id="afajh"></abbr></b>
                    <th id="afajh"><progress id="afajh"></progress></th>
                    日韩成人AV一区二区 | 中文字幕一区二区无码成人 | 日韩成人一级片 | 人人爱人人摸人人曹 | 色老板www |