摘要:進(jìn)階面試問題列表翻譯自,從屬于筆者的入門與工程實踐系列。只是單純的問題列表,可能較水,慎進(jìn)。面向?qū)ο缶幊痰幕纠砟钆c核心設(shè)計思想解釋下多態(tài)性,封裝性,內(nèi)聚以及耦合。新版的中有哪些新特性介紹下的優(yōu)勢與缺陷。
面向?qū)ο缶幊痰幕纠砟钆c核心設(shè)計思想Java 進(jìn)階面試問題列表翻譯自Java developer interview questions: The hard part,從屬于筆者的Java入門與工程實踐系列。最近公司打算招幾個 Java 開發(fā)人員,正巧在 Reddit 上看到了該文,順手翻譯了一波。只是單純的問題列表,可能較水,慎進(jìn)。
解釋下多態(tài)性(polymorphism),封裝性(encapsulation),內(nèi)聚(cohesion)以及耦合(coupling)。
繼承(Inheritance)與聚合(Aggregation)的區(qū)別在哪里。
你是如何理解干凈的代碼(Clean Code)與技術(shù)負(fù)載(Technical Debt)的。
描述下常用的重構(gòu)技巧。
闡述下 SOLID 原則。
其他的譬如 KISS,DRY,YAGNI 等原則又是什么含義。
什么是設(shè)計模式(Design Patterns)?你知道哪些設(shè)計模式?
你有了解過存在哪些反模式(Anti-Patterns)嗎?
你會如何設(shè)計登陸艦/數(shù)學(xué)表達(dá)式計算程序/一條龍?
你知道哪些基本的排序算法,它們的計算復(fù)雜度如何?在給定數(shù)據(jù)的情況下你會傾向于使用哪種算法呢?
嘗試編寫如下代碼:
計算指定數(shù)字的階乘
開發(fā) Fizz Buzz 小游戲
倒轉(zhuǎn)句子中的單詞
回文字符串檢測
枚舉給定字符串的所有排列組合
Java 核心概念equals 與 hashCode 的異同點在哪里?Java 的集合中又是如何使用它們的。
描述下 Java 中集合(Collections),接口(Interfaces),實現(xiàn)(Implementations)的概念。LinkedList 與 ArrayList 的區(qū)別是什么?
基礎(chǔ)類型(Primitives)與封裝類型(Wrappers)的區(qū)別在哪里?
final 與 static 關(guān)鍵字可以用于哪里?它們的作用是什么?
闡述下 Java 中的訪問描述符(Access Modifiers)。
描述下 String,StringBuilder 以及 StringBuffer 區(qū)別。
接口(Interface)與抽象類(Abstract Class)的區(qū)別在哪里。
覆蓋(Overriding)與重載(OverLoading)的區(qū)別在哪里。
異常分為哪幾種類型?以及所謂的handle or declare原則應(yīng)該如何理解?
簡述垃圾回收器的工作原理。
你是如何處理內(nèi)存泄露或者棧溢出問題的?
如何構(gòu)建不可變的類結(jié)構(gòu)?關(guān)鍵點在哪里?
什么是 JIT 編譯?
Java 8 / Java 7 為我們提供了什么新功能?即將到來的 Java 9 又帶來了怎樣的新功能?
Hibernate / 數(shù)據(jù)庫請解釋下 ORM。
簡述下 Hibernate 的優(yōu)劣特性。
Hibernate 與 JPA 區(qū)別在哪?
Hibernate 最新版提供了哪些特性?
什么是懶加載(Lazy Loading)?
什么是 N+1 難題?
介紹一些熟悉的 Hibernate 注釋。
簡介下 Hibernate Session 與 SessionFactory。
Entity Beans 的狀態(tài)有哪些。
Hibernate 中的緩存分為幾層。
Hibernate 中事務(wù)的支持分為幾級?
什么是樂觀鎖(Optimistic Locking)?
簡述下 ACID 原則。
簡述下數(shù)據(jù)庫正則化(Normalizations)。
請介紹下你日常工作中優(yōu)化慢查詢(Slow Query)的策略。
Spring新版的 Spring 中有哪些新特性?
介紹下 Spring 的優(yōu)勢與缺陷。
什么是控制反轉(zhuǎn)(Inversion of Control)與依賴注入(Dependency Injection)?
你用過哪些 Spring 的模塊?
Spring 中是如何使用依賴注入的?
Spring 中提供了幾種自動注入的機(jī)制?
介紹下 Spring MVC。
Spring 中 Scopes 有哪些?
Spring 中 Bean 的生命周期包含哪些步驟?
Spring Bean 與 EJB Bean 的區(qū)別在哪里?
其他主題介紹下切面編程(Aspect Oriented Programming)。
概述下 GET 與 POST 的區(qū)別。
Web Server、Web Container 與 Application Server 的區(qū)別是什么?
簡要介紹下從瀏覽器輸入 URL 開始到獲取到請求界面之后 Java Web 應(yīng)用中發(fā)生了什么。
什么是 N 層架構(gòu)?
微服務(wù)(MicroServices)與巨石型應(yīng)用(Monolithic Applications)之間的區(qū)別在哪里?
你知道哪些商業(yè)級設(shè)計模式?
你是如何測試一個應(yīng)用的?知道哪些測試框架?
你是如何測試單個方法的?
在你的職業(yè)生涯中,算得上最困難的技術(shù)挑戰(zhàn)是什么?
什么是領(lǐng)域驅(qū)動開發(fā)(Domain Driven Development)?
介紹下一些你最愛的 IDE 的常用插件。
除了 IDE 之外,你的日常工作中還會用到哪些工具?
你使用什么版本管理工具?
分支(Branch)與標(biāo)簽(Tag)之間的區(qū)別在哪里?
你常用的持續(xù)集成(Continuous Integration)、靜態(tài)代碼分析(Static Code Analysis)工具有哪些?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/66496.html
摘要:大多數(shù)待遇豐厚的開發(fā)職位都要求開發(fā)者精通多線程技術(shù)并且有豐富的程序開發(fā)調(diào)試優(yōu)化經(jīng)驗,所以線程相關(guān)的問題在面試中經(jīng)常會被提到。將對象編碼為字節(jié)流稱之為序列化,反之將字節(jié)流重建成對象稱之為反序列化。 JVM 內(nèi)存溢出實例 - 實戰(zhàn) JVM(二) 介紹 JVM 內(nèi)存溢出產(chǎn)生情況分析 Java - 注解詳解 詳細(xì)介紹 Java 注解的使用,有利于學(xué)習(xí)編譯時注解 Java 程序員快速上手 Kot...
摘要:好不容易在月號這天中午點左右接到了來自阿里的面試電話。這里會不斷收集和更新基礎(chǔ)相關(guān)的面試題,目前已收集題。面試重難點的和的打包過程多線程機(jī)制機(jī)制系統(tǒng)啟動過程,啟動過程等等掃清面試障礙最新面試經(jīng)驗分享,此為第一篇,開篇。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 各大公司 Java 后端開發(fā)面試題總結(jié) 各大公司 Jav...
摘要:我在前面的文章中也提到了應(yīng)該怎么做自我介紹與項目介紹,詳情可以查看這篇文章備戰(zhàn)春招秋招系列初出茅廬的程序員該如何準(zhǔn)備面試。因此基于事件消息對象驅(qū)動的業(yè)務(wù)架構(gòu)可以是一系列流程。 showImg(https://user-gold-cdn.xitu.io/2018/11/14/16711ac29c2ae52c?w=928&h=531&f=png&s=798562); 一 消息隊列MQ的...
閱讀 2086·2023-04-25 19:15
閱讀 2262·2021-11-23 09:51
閱讀 1270·2021-11-17 09:33
閱讀 2175·2021-08-26 14:15
閱讀 2487·2019-08-30 15:54
閱讀 1585·2019-08-30 15:54
閱讀 2175·2019-08-30 12:50
閱讀 1138·2019-08-29 17:08