溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

百度Java面試題 前200頁精選(下)

發(fā)布時間:2020-10-09 04:40:02 來源:腳本之家 閱讀:209 作者:tangyouhua 欄目:編程語言

百度“Java面試題”前200頁精選下篇

設(shè)計模式

什么是設(shè)計模式(Design Patterns)?你用過哪種設(shè)計模式?用在什么場合
你知道哪些商業(yè)級設(shè)計模式?
哪些設(shè)計模式可以增加系統(tǒng)的可擴展性

單例模式

除了單例模式,你在生產(chǎn)環(huán)境中還用過什么設(shè)計模式?
寫 Singleton 單例模式
單例模式的雙檢鎖是什么
如何創(chuàng)建線程安全的 Singleton
什么是類的單例模式
寫出三種單例模式實現(xiàn)

適配器模式

  • 適配器模式是什么?什么時候使用
  • 適配器模式和代理模式之前有什么不同
  • 適配器模式和裝飾器模式有什么區(qū)別

什么時候使用享元模式
什么時候使用組合模式
什么時候使用訪問者模式
什么是模板方法模式
請給出1個符合開閉原則的設(shè)計模式的例子

開放問題

用一句話概括 Web 編程的特點
Google是如何在一秒內(nèi)把搜索結(jié)果返回給用戶
哪種依賴注入方式你建議使用,構(gòu)造器注入,還是 Setter方法注入
樹(二叉或其他)形成許多普通數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。請描述一些這樣的數(shù)據(jù)結(jié)構(gòu)以及何時可以使用它們
某一項功能如何設(shè)計
線上系統(tǒng)突然變得異常緩慢,你如何查找問題
什么樣的項目不適合用框架
新浪微博是如何實現(xiàn)把微博推給訂閱者
簡要介紹下從瀏覽器輸入 URL 開始到獲取到請求界面之后 Java Web 應(yīng)用中發(fā)生了什么
請你談?wù)凷SH整合
高并發(fā)下,如何做到安全的修改同一行數(shù)據(jù)
12306網(wǎng)站的訂票系統(tǒng)如何實現(xiàn),如何保證不會票不被超賣
網(wǎng)站性能優(yōu)化如何優(yōu)化的
聊了下曾經(jīng)參與設(shè)計的服務(wù)器架構(gòu)
請思考一個方案,實現(xiàn)分布式環(huán)境下的 countDownLatch
請思考一個方案,設(shè)計一個可以控制緩存總體大小的自動適應(yīng)的本地緩存
在你的職業(yè)生涯中,算得上最困難的技術(shù)挑戰(zhàn)是什么
如何寫一篇設(shè)計文檔,目錄是什么
大寫的O是什么?舉幾個例子
編程中自己都怎么考慮一些設(shè)計原則的,比如開閉原則,以及在工作中的應(yīng)用
解釋一下網(wǎng)絡(luò)應(yīng)用的模式及其特點
設(shè)計一個在線文檔系統(tǒng),文檔可以被編輯,如何防止多人同時對同一份文檔進行編輯更新
說出數(shù)據(jù)連接池的工作機制是什么
怎么獲取一個文件中單詞出現(xiàn)的最高頻率
描述一下你最常用的編程風(fēng)格
如果有機會重新設(shè)計你們的產(chǎn)品,你會怎么做
如何搭建一個高可用系統(tǒng)
如何啟動時不需輸入用戶名與密碼
如何在基于Java的Web項目中實現(xiàn)文件上傳和下載
如何實現(xiàn)一個秒殺系統(tǒng),保證只有幾位用戶能買到某件商品。
如何實現(xiàn)負載均衡,有哪些算法可以實現(xiàn)
如何設(shè)計一個購物車?想想淘寶的購物車如何實現(xiàn)的
如何設(shè)計一套高并發(fā)支付方案,架構(gòu)如何設(shè)計
如何設(shè)計建立和保持 100w 的長連接
如何避免瀏覽器緩存。
如何防止緩存雪崩
如果AB兩個系統(tǒng)互相依賴,如何解除依
如果有人惡意創(chuàng)建非法連接,怎么解決
如果有幾十億的白名單,每天白天需要高并發(fā)查詢,晚上需要更新一次,如何設(shè)計這個功能
如果系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設(shè)計一個數(shù)據(jù)結(jié)構(gòu)來存儲這種超大型數(shù)字以及設(shè)計一種算法來實現(xiàn)超大整數(shù)加法運算)
如果要設(shè)計一個圖形系統(tǒng),請你設(shè)計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現(xiàn)
如果讓你實現(xiàn)一個并發(fā)安全的鏈表,你會怎么做
應(yīng)用服務(wù)器與WEB 服務(wù)器的區(qū)別?應(yīng)用服務(wù)器怎么監(jiān)控性能,各種方式的區(qū)別?你使用過的應(yīng)用服務(wù)器優(yōu)化技術(shù)有哪些
大型網(wǎng)站在架構(gòu)上應(yīng)當(dāng)考慮哪些問題
有沒有處理過線上問題?出現(xiàn)內(nèi)存泄露,CPU利用率標高,應(yīng)用無響應(yīng)時如何處理的
最近看什么書,印象最深刻的是什么
描述下常用的重構(gòu)技巧
你使用什么版本管理工具?分支(Branch)與標簽(Tag)之間的區(qū)別在哪里
你有了解過存在哪些反模式(Anti-Patterns)嗎
你用過的網(wǎng)站前端優(yōu)化的技術(shù)有哪些
如何分析Thread dump
你如何理解AOP中的連接點(Joinpoint)、切點(Pointcut)、增強(Advice)、引介(Introduction)、織入(Weaving)、切面(Aspect)這些概念
你是如何處理內(nèi)存泄露或者棧溢出問題的
你們線上應(yīng)用的 JVM 參數(shù)有哪些
怎么提升系統(tǒng)的QPS和吞吐量

知識面

解釋什么是 MESI 協(xié)議(緩存一致性)
談?wù)?reactor 模型
Java 9 帶來了怎樣的新功能
Java 與 C++ 對比,C++ 或 Java 中的異常處理機制的簡單原理和應(yīng)用
簡單講講 Tomcat 結(jié)構(gòu),以及其類加載器流程
虛擬內(nèi)存是什么
闡述下 SOLID 原則
請簡要講一下你對測試驅(qū)動開發(fā)(TDD)的認識
CDN實現(xiàn)原理
Maven 和 ANT 有什么區(qū)別
UML中有哪些常用的圖

Linux

  • Linux 下 IO 模型有幾種,各自的含義是什么。
  • Linux 系統(tǒng)下你關(guān)注過哪些內(nèi)核參數(shù),說說你知道的
  • Linux 下用一行命令查看文件的最后五行
  • 平時用到哪些 Linux 命令
  • 用一行命令輸出正在運行的 Java 進程
  • 使用什么命令來確定是否有 Tomcat 實例運行在機器上

什么是 N+1 難題
什么是 paxos 算法
什么是 restful,講講你理解的 restful
什么是 zab 協(xié)議
什么是領(lǐng)域模型(domain model)?貧血模型(anaemic domain model) 和充血模型(rich domain model)有什么區(qū)別
什么是領(lǐng)域驅(qū)動開發(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)工具有哪些
簡述下數(shù)據(jù)庫正則化(Normalizations)
KISS,DRY,YAGNI 等原則是什么含義
分布式事務(wù)的原理,優(yōu)缺點,如何使用分布式事務(wù)?
布式集群下如何做到唯一序列號

網(wǎng)絡(luò)

  • HTTPS 的加密方式是什么,講講整個加密解密流程
  • HTTPS和HTTP的區(qū)別
  • HTTP連接池實現(xiàn)原理
  • HTTP集群方案
  • Nginx、lighttpd、Apache三大主流 Web服務(wù)器的區(qū)別

是否看過框架的一些代碼
持久層設(shè)計要考慮的問題有哪些?你用過的持久層框架有哪些
數(shù)值提升是什么
你能解釋一下里氏替換原則嗎
你是如何測試一個應(yīng)用的?知道哪些測試框架
傳輸層常見編程協(xié)議有哪些?并說出各自的特點

編程題

計算加班費

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

計算1000月薪,加班9小時的加班費
計算2500月薪,加班11小時的加班費
計算1000月薪,加班15小時的加班費

賣東西

一家商場有紅蘋果和青蘋果出售。(紅蘋果5元/個,青蘋果4元/個)。

模擬一個進貨。紅蘋果跟青蘋果各進200個。
模擬一個出售。紅蘋果跟青蘋果各買出10個。每賣出一個蘋果需要進行統(tǒng)計。

提示:一個蘋果是一個單獨的實體。

日期提取

有這樣一個時間字符串:2008-8-8 20:08:08 , 請編寫能夠匹配它的正則表達式,并編寫Java代碼將日期后面的時分秒提取出來,即:20:08:08

線程

8設(shè)計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程序。
用Java寫一個多線程程序,如寫四個線程,二個加1,二個對一個變量減一,輸出
wait-notify 寫一段代碼來解決生產(chǎn)者-消費者問題

數(shù)字

判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)
用最有效率的方法算出2乘以17等于多少
有 1 億個數(shù)字,其中有 2 個是重復(fù)的,快速找到它,時間和空間要最優(yōu)
2 億個隨機生成的無序整數(shù),找出中間大小的值
10 億個數(shù)字里里面找最小的 10 個
1到1億的自然數(shù),求所有數(shù)的拆分后的數(shù)字之和,如286 拆分成2、8、6,如1到11拆分后的數(shù)字之和 => 1 + … + 9 + 1 + 0 + 1 + 1
一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為 “完數(shù) “。例如6=1+2+3.編程 找出1000以內(nèi)的所有完數(shù)
一個數(shù)組中所有的元素都出現(xiàn)了三次,只有一個元素出現(xiàn)了一次找到這個元素
一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時,共經(jīng)過多少米?第10次反彈多高?
求100-1000內(nèi)質(zhì)數(shù)的和
求1到100的和的平均數(shù)
求s=a+a+aaa+aaaa+aa…a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。 求出1到100的和

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

  • 顯示放組里的數(shù)
  • 找出第[5]個數(shù)
  • 刪除第[9]個數(shù),再顯示刪除后的第[9]個

有 3n+1 個數(shù)字,其中 3n 個中是重復(fù)的,只有 1 個是不重復(fù)的,怎么找出來。
有一組數(shù)1.1.2.3.5.8.13.21.34。寫出程序隨便輸入一個數(shù)就能給出和前一組數(shù)字同規(guī)律的頭5個數(shù)
計算指定數(shù)字的階乘
開發(fā) Fizz Buzz
給定一個包含 N 個整數(shù)的數(shù)組,找出丟失的整數(shù)
一個排好序的數(shù)組,找出兩數(shù)之和為m的所有組合
將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。
打印出所有的 “水仙花數(shù) “,所謂 “水仙花數(shù) “是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個 “水仙花數(shù) “,因為153=1的三次方+5的三次方+3的三次方
原地交換兩個變量的值
找出4字節(jié)整數(shù)的中位數(shù)
找到整數(shù)的平方根
實現(xiàn)斐波那契

網(wǎng)絡(luò)

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

反射

反射機制提供了什么功能?
反射是如何實現(xiàn)的
哪里用到反射機制
反射中 Class.forName 和 ClassLoader 區(qū)別
反射創(chuàng)建類實例的三種方式是什么
如何通過反射調(diào)用對象的方法
如何通過反射獲取和設(shè)置對象私有字段的值
反射機制的優(yōu)缺點

數(shù)據(jù)庫

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

算法

50個人圍坐一圈,當(dāng)數(shù)到三或者三的倍數(shù)出圈,問剩下的人是誰,原來的位置是多少
實現(xiàn)一個電梯模擬器用
寫一個冒泡排序
寫一個折半查找
隨機產(chǎn)生20個不能重復(fù)的字符并排序
寫一個函數(shù),傳入 2 個有序的整數(shù)數(shù)組,返回一個有序的整數(shù)數(shù)組
寫一段代碼在遍歷 ArrayList 時移除一個元素
古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第四個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少
約瑟芬環(huán)游戲

正則

請編寫一段匹配IP地址的正則表達式
寫出一個正則表達式來判斷一個字符串是否是一個數(shù)字

字符串

寫一個方法,入一個文件名和一個字符串,統(tǒng)計這個字符串在這個文件中出現(xiàn)的次數(shù)。
寫一個程序找出所有字符串的組合,并檢查它們是否是回文串
寫一個字符串反轉(zhuǎn)函數(shù),輸入abcde轉(zhuǎn)換成edcba代碼
小游戲,倒轉(zhuǎn)句子中的單詞
將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串
請寫一段代碼來計算給定文本內(nèi)字符“A”的個數(shù)。分別用迭代和遞歸兩種方式
編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個”
給定 2 個包含單詞列表(每行一個)的文件,編程列出交集
打印出一個字符串的所有排列
將一個鍵盤輸入的數(shù)字轉(zhuǎn)化成中文輸出(例如:輸入1234567,輸出:一百二拾三萬四千五百六拾七)
在Web應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如從 GBK 到 ISO8859-1等,如何輸出一個某種編碼的字符串

日期

計算兩個日期之間的差距

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI