成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

近期Java高級(jí)工程師面試總結(jié)

raoyi / 1194人閱讀

摘要:面試總結(jié)最近兩周面試了幾家公司高級(jí)工程師的職位,主要有宜信網(wǎng)信金融阿里高德口袋購(gòu)物。目前有部分公司已經(jīng)面試通過,兩家在等消息。今天趁熱把常見面試內(nèi)容總結(jié)一下。可以用來完成統(tǒng)一命名服務(wù)狀態(tài)同步服務(wù)集群管理分布式應(yīng)用配置項(xiàng)等管理工作。

面試總結(jié)

最近兩周面試了幾家公司Java高級(jí)工程師的職位,主要有宜信、網(wǎng)信金融、阿里高德、口袋購(gòu)物。目前有部分公司已經(jīng)面試通過,兩家在等消息。今天趁熱把常見面試內(nèi)容總結(jié)一下。

Java基礎(chǔ)

Hashtable和HashMap的區(qū)別。
抽象類與接口的區(qū)別。
final關(guān)鍵字的使用和區(qū)別。
異常分類和處理機(jī)制。
JDK版本區(qū)別。
StringBuilder內(nèi)部實(shí)現(xiàn)機(jī)制。
反射機(jī)制的使用。
匿名內(nèi)部類的使用。
泛型的概念和使用。
弱引用和虛引用的概念和使用方式。

開源框架

SpringMVC和Struts2的區(qū)別
Spring IOC和AOP的概念以及實(shí)現(xiàn)方式
Spring事務(wù)的管理
Hibernate與MyBatis的比較
Hibernate延遲加載的機(jī)制

JVM虛擬機(jī)

GC算法有哪些
垃圾回收器有哪些
如何調(diào)優(yōu)JVM

緩存和NoSQL

緩存的使用場(chǎng)景
緩存命中率的計(jì)算
Memcache與Redis的比較
如何實(shí)現(xiàn)Redis的分片
MongoDB的特點(diǎn)

分布式

zookeeper的用途
dubbo的用途以及優(yōu)點(diǎn)
dubbo的實(shí)現(xiàn)原理

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

單向鏈表的逆序排列
雙向鏈表的操作
1億個(gè)整數(shù)的倒序輸出
找出給定字符串中最長(zhǎng)回文(回文:abcdcba,兩端對(duì)稱)

網(wǎng)絡(luò)編程

Get和Post的區(qū)別
Https協(xié)議的實(shí)現(xiàn)
長(zhǎng)連接的管理
Socket的基本方法

數(shù)據(jù)庫

inner join和left join的區(qū)別
復(fù)雜SQL語句
數(shù)據(jù)庫優(yōu)化方式
數(shù)據(jù)庫拆分方式
如何保證不同數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)一致性

安全

什么是XSS攻擊,具體如何實(shí)現(xiàn)?
開放問題:如何保障系統(tǒng)安全?

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

寫出一個(gè)設(shè)計(jì)模式的類圖
設(shè)計(jì)模式的意義是什么
寫個(gè)單例模式的代碼

多線程

如何避免Quartz重復(fù)啟動(dòng)任務(wù)
線程池滿了如何處理額外的請(qǐng)求
同一個(gè)對(duì)象的連個(gè)同步方法能否被兩個(gè)線程同時(shí)調(diào)用

待更

2017年03月04日更新:

距離發(fā)布文章已經(jīng)很久,恰逢求職季,遂整理部分面試問題的答案,不甚完整,僅供參考。

部分答案 Java基礎(chǔ) HashMap和Hashtable的區(qū)別

HashMap是非線程安全的,Hashtable是線程安全的。

HashMap的鍵值都可以為null,Hashtable的鍵值都不可以為null值。

HashMap繼承自AbstractMap類,Hashtable繼承自Dictionary類。

ps : Properties類繼承自Hashtable類。

異常分類和處理機(jī)制

分類:

運(yùn)行時(shí)異常(Runtime Exception)

受檢查異常(Checked Exception)

運(yùn)行時(shí)異常:

必須繼承RuntimeException類,

定義方法時(shí)不必聲明會(huì)拋出運(yùn)行時(shí)異常。

調(diào)用方法時(shí)不必捕獲運(yùn)行時(shí)異常。

受檢查異常:

不繼承自RumtimeException類

定義方法時(shí)需要拋出可能會(huì)拋出的Checked Exception

調(diào)用方法時(shí)需要捕獲Checked Exception或者繼續(xù)向上拋出。

邏輯上:

運(yùn)行時(shí)異常:一般不需要或者不知道如何處理此類異常;

受檢驗(yàn)異常:一般需要知道如何處理可能發(fā)生的異常情況。

StringBuilder內(nèi)部實(shí)現(xiàn)機(jī)制

StringBuilder內(nèi)部有一個(gè)字符數(shù)組,代碼如下

char[] value;   //字符數(shù)組
int count;      //字符串長(zhǎng)度

每一次append操作都是將新的字符串加入到可變長(zhǎng)的字符數(shù)組中,長(zhǎng)度計(jì)算方式與ArrayList類似。調(diào)用toString()方法時(shí),new一個(gè)String對(duì)象即可。

public String toString() {
        return new String(value, 0, count);// Create a copy, don"t share the array
}

ps: StringBuffer是線程安全的,StringBuilder是非線程安全的。

匿名內(nèi)部類的使用

匿名內(nèi)部類是沒有名字的類,只在某一處被使用,不會(huì)被多處調(diào)用,一般是某個(gè)父類或接口的特定實(shí)現(xiàn)。

強(qiáng)引用、軟引用、弱引用和虛引用

強(qiáng)引用: 一般的引用都是強(qiáng)引用,即使OutOfMemory也不會(huì)回收這部分被把持的引用內(nèi)存。

軟引用(SoftReference): 如果內(nèi)存空間足夠,垃圾回收器就不會(huì)回收它;如果內(nèi)存空間不足了,就會(huì)回收這些對(duì)象的內(nèi)存。只要垃圾回收器沒有回收它,該對(duì)象就可以被使用。++軟引用可以用來實(shí)現(xiàn)內(nèi)存敏感的高速緩存。++

弱引用(WeakReference):弱引用的對(duì)象擁有更短暫的生命周期。當(dāng)垃圾回收期發(fā)現(xiàn)只有若引用的對(duì)象,不論內(nèi)存空間足夠與否,都會(huì)回收它。

虛引用():虛引用不會(huì)決定對(duì)象的生命周期,如果一個(gè)對(duì)象僅持有一個(gè)虛引用,那么它隨時(shí)可能被回收。++虛引用主要用來跟蹤對(duì)象被垃圾回收器回收的活動(dòng)。++

更多關(guān)于『強(qiáng)、軟、弱和虛引用』參考文章:http://zhangjunhd.blog.51cto....

開源框架 SpringMVC和Struts2的區(qū)別

SpringMVC的方法級(jí)別的攔截,Struts2是類級(jí)別的攔截;

SpringMVC是基于Servlet實(shí)現(xiàn)Controller,Struts2是基于Filter實(shí)現(xiàn);

SpringMVC性能和安全性高于Struts2;

SpringMVC更加組件化和流程化,易于擴(kuò)展,比如返回JSON通過設(shè)置@ResponseBody即可;

Struts2更加無耦合,比較純粹,但是需要更多的自行開發(fā)的代碼以支持更多功能。

Spring事務(wù)的管理 分類:聲明式事務(wù)、編程式事務(wù)

聲明式事務(wù):通過統(tǒng)一配置實(shí)現(xiàn)事務(wù)的統(tǒng)一管理,一般配置TransactionMananger以及相關(guān)屬性即可。

編程式事務(wù)(注解方式):在需要事務(wù)的方法上配置相關(guān)的注解(包括事務(wù)類型、回滾策略等)

事務(wù)類型:

PROPAGATION_REQUIRED

PROPAGATION_SUPPORTS

PROPAGATION_MANDATORY

PROPAGATION_REQUIRES_NEW

PROPAGATION_NOT_SUPPORTED

PROPAGATION_NEVER

PROPAGATION_NESTED

事務(wù)隔離級(jí)別

ISOLATION_DEFAULT

ISOLATION_READ_UNCOMMITTED

ISOLATION_READ_COMMITTED

ISOLATION_REPEATABLE_READ

ISOLATION_SERIALIZABLE

Hibernate與MyBatis的比較

Hibernate完全實(shí)現(xiàn)對(duì)象關(guān)系映射(ORM),MyBatis實(shí)現(xiàn)的是SQL Mapping

MyBatis可以進(jìn)行更為細(xì)致的SQL優(yōu)化,可以減少查詢字段。比Hibernate容易掌握,Hibernate門檻較高。

Hibernate的DAO層開發(fā)比MyBatis簡(jiǎn)單,Mybatis需要維護(hù)SQL和結(jié)果映射。

Hibernate對(duì)對(duì)象的維護(hù)和緩存要比MyBatis好,對(duì)增刪改查的對(duì)象的維護(hù)要方便。

Hibernate數(shù)據(jù)庫移植性很好,MyBatis的數(shù)據(jù)庫移植性不好,不同的數(shù)據(jù)庫需要寫不同SQL。

Hibernate有更好的二級(jí)緩存機(jī)制,可以使用第三方緩存。MyBatis本身提供的緩存機(jī)制不佳。

JVM虛擬機(jī) GC算法有哪些

引用計(jì)數(shù)

復(fù)制

標(biāo)記-清除

標(biāo)記-壓縮

分代(新生代、老年代、永久代)

垃圾回收器有哪些

串行回收器:新生代串行回收器、老年代串行回收器

并行回收器:新生代ParNew回收器、新生代ParallelGC回收器、老年代ParallelGC回收器

CMS回收器:(Concurrent Mark Sweep、并發(fā)標(biāo)記清除)

G1回收器(1.7以后代替CMS回收器)

如何調(diào)優(yōu)JVM

標(biāo)準(zhǔn)參數(shù):

-client -server模式

-Xmn、-Xms、-Xmx

監(jiān)控:jps、jstat、jinfo、jmap、jhat、jstack

Java 中堆和棧有什么區(qū)別?

JVM 中堆和棧屬于不同的內(nèi)存區(qū)域,使用目的也不同。

棧常用于保存方法幀和局部變量,而對(duì)象總是在堆上分配。

棧通常都比堆小,也不會(huì)在多個(gè)線程之間共享,而堆被整個(gè) JVM 的所有線程共享。

緩存和NoSQL 緩存命中率的計(jì)算

命中緩存次數(shù)/(命中緩存次數(shù)+未命中緩存次數(shù)) = 命中率

Memcache與Redis的區(qū)別

memcache把數(shù)據(jù)存在內(nèi)存之中,斷電后會(huì)掛掉;Redis部分?jǐn)?shù)據(jù)持久化在硬盤上,斷電不會(huì)丟失。

memcache存的是key-value對(duì),redis支持更多的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型

memcache可以使用一致性hash做分布式,redis可以做主從同步

redis單線程,只使用1個(gè)cpu

如何實(shí)現(xiàn)Redis的分片

使用一致性哈希對(duì)數(shù)據(jù)進(jìn)行映射

實(shí)現(xiàn)方式:客戶端分片(每個(gè)客戶端對(duì)應(yīng)一個(gè)分片)、代理協(xié)助分片、查詢路由分片;

使用redis集群,如codis(豌豆莢,依賴zookeeper);

分布式 zookeeper的用途

zookeeper作為分布式應(yīng)用協(xié)調(diào)系統(tǒng),已經(jīng)用到很多分布式項(xiàng)目中。
可以用來完成統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項(xiàng)等管理工作。

zookeeper的主要操作分一下幾種:

創(chuàng)建節(jié)點(diǎn)

讀取節(jié)點(diǎn)數(shù)據(jù)

更新節(jié)點(diǎn)數(shù)據(jù)

刪除節(jié)點(diǎn)

監(jiān)控節(jié)點(diǎn)變化

應(yīng)用場(chǎng)景:

統(tǒng)一命名服務(wù),使用create自動(dòng)創(chuàng)建節(jié)點(diǎn)編號(hào);

配置管理,多個(gè)節(jié)點(diǎn)的共享配置,當(dāng)配置發(fā)生變化時(shí),可利用zookeeper讓使用這些配置的節(jié)點(diǎn)獲得通知,進(jìn)行重新加載等操作。如dubbo服務(wù)。

集群管理:集群選舉主節(jié)點(diǎn),資源定位。

共享鎖

負(fù)載均衡

應(yīng)用項(xiàng)目:
dubbo服務(wù)集群、redis集群、Hadoop集群等

dubbo的用途以及優(yōu)點(diǎn)

Dubbo是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。

數(shù)據(jù)結(jié)構(gòu)和算法 將單項(xiàng)鏈表逆序排列

將單向鏈表逆序輸出,方法有三種:

遍歷鏈表,將每個(gè)節(jié)點(diǎn)的內(nèi)容存入一個(gè)數(shù)組中,然后逆序輸出數(shù)組(最簡(jiǎn)單的做法)

使用棧來逆序輸出

直接將鏈表(指針)逆序然后輸出

單向鏈表詳細(xì)信息參考文章:http://blog.csdn.net/jianyuer...

海量數(shù)據(jù)操作

十道面試題與十個(gè)海量數(shù)據(jù)處理方法總結(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/65686.html

相關(guān)文章

  • 程序語言

    摘要:一面應(yīng)該還問了其他內(nèi)容,但是兩次面試多線程面試問題和答案采訪中,我們通常會(huì)遇到兩個(gè)主題采集問題和多線程面試問題。多線程是關(guān)于并發(fā)和線程的。我們正在共享重要的多線程面試問題和答案。。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 【碼農(nóng)每日一題】Java 內(nèi)部類(Part 2)相關(guān)面試題 關(guān)注一下嘛,又不讓你背鍋!問:Ja...

    mtunique 評(píng)論0 收藏0
  • 程序語言

    摘要:一面應(yīng)該還問了其他內(nèi)容,但是兩次面試多線程面試問題和答案采訪中,我們通常會(huì)遇到兩個(gè)主題采集問題和多線程面試問題。多線程是關(guān)于并發(fā)和線程的。我們正在共享重要的多線程面試問題和答案。。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 【碼農(nóng)每日一題】Java 內(nèi)部類(Part 2)相關(guān)面試題 關(guān)注一下嘛,又不讓你背鍋!問:Ja...

    stefan 評(píng)論0 收藏0
  • 這一次,讓我們完全掌握Java多線程(2/10)

    摘要:多線程不僅是后端開發(fā)面試中非常熱門的一個(gè)問題,也是各種高級(jí)工具框架與分布式的核心基石。有興趣的讀者可以參考本系列的第一篇文章來了解一下并發(fā)相關(guān)的基本概念當(dāng)我們?cè)谡f并發(fā)多線程,說的是什么。 多線程不僅是Java后端開發(fā)面試中非常熱門的一個(gè)問題,也是各種高級(jí)工具、框架與分布式的核心基石。但是這個(gè)領(lǐng)域相關(guān)的知識(shí)點(diǎn)涉及到了線程調(diào)度、線程同步,甚至在一些關(guān)鍵點(diǎn)上還涉及到了硬件原語、操作系統(tǒng)等更底...

    zgbgx 評(píng)論0 收藏0
  • 一個(gè)兩年Java面試總結(jié)

    摘要:數(shù)據(jù)結(jié)構(gòu)和算法樹快速排序,堆排序,插入排序其實(shí)八大排序算法都應(yīng)該了解一致性算法,一致性算法的應(yīng)用的內(nèi)存結(jié)構(gòu)。如何存儲(chǔ)一個(gè)的。八大排序算法一定要手敲一遍快排,堆排尤其重要。面試是一個(gè)雙向選擇的過程,不要抱著畏懼的心態(tài)去面試,不利于自己的發(fā)揮。 前言 16年畢業(yè)到現(xiàn)在也近兩年了,最近面試了阿里集團(tuán)(菜鳥網(wǎng)絡(luò),螞蟻金服),網(wǎng)易,滴滴,點(diǎn)我達(dá),最終收到點(diǎn)我達(dá),網(wǎng)易o(hù)ffer,螞蟻金服二面掛掉,...

    anRui 評(píng)論0 收藏0
  • 近期前端面試中經(jīng)常碰到的問題總結(jié)

    摘要:手寫深拷貝這個(gè)問題也是被問到了不止一遍,就連美團(tuán)也問到了。個(gè)人能力有限,沒能挺到美團(tuán)的最后一輪面試,不過面試的幾家公司也是涉及到了各行各業(yè),這篇文章只是對(duì)即將面試的前端小伙伴們一個(gè)參考,最后效果還是要看個(gè)人努力的。 最近想著去市場(chǎng)中試試水,看看自己的幾斤幾兩。哈哈,然后大概遇到了這么幾類問題吧。寫出來和大家分享一下。 原生類 1.原型及原型鏈的問題 這個(gè)問題面試的公司都有問。其實(shí)這...

    shadowbook 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

raoyi

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<