1. 程式人生 > >京東二面—Java 後臺開發

京東二面—Java 後臺開發

1、3+5*2+(1+4) 如何求值?

面試官其實是考 四則運算表示式求值,是棧的一種應用方式。
棧的應用—四則運算表示式求值

2、抽象類和介面的區別?若抽象類支援多繼承,介面還有存在的意義麼?

3、面向物件的思想是什麼?

4、你對Java 語言的看法?

5、單CPU情況下,單執行緒與多執行緒的效率對比?

如果多執行緒的程序是 CPU 密集型的,那多執行緒並不能有多少效率上的提升,相反還可能會因為執行緒的頻繁切換,導致效率下降,推薦使用多程序;如果是 IO 密集型,多執行緒程序可以利用 IO 阻塞等待時的空閒時間執行其他執行緒,提升效率。所以我們根據實驗對比不同場景的效率。

6、Spring 預設的 bean 是單例還是多例?

Bean預設的是單例的。

如果不想單例需要如下配置:

引數 singleton 就是配置這個bean是否是單例的,如果不寫,就是預設值true。

spring Bean生命週期

1.Bean的作用域可以通過Bean標籤的scope屬性進行設定,Bean的作用域包括:
預設情況下scope=”singleton”,那麼該Bean是單例,任何人獲取該Bean例項的都為同一個例項;
scope=”prototype”,任何一個例項都是新的例項;
scope=”request”,在WEB應用程式中,每一個例項的作用域都為request範圍;
scope=”session”,在WEB應用程式中,每一個例項的作用域都為session範圍;

注意:在預設情況下,Bean例項在被Spring容器初始化的時候,就會被例項化,預設呼叫無引數的構造方法。在其它情況下,Bean將會在獲取例項的時候才會被例項化。

2.Bean可以通過指定屬性init-method指定初始化後執行的方法,以及通過指定屬性destroy-method銷燬時執行的方法。

語法:

7、執行緒的排程演算法有哪些?

1)先來先服務排程演算法(FCFS) 每次排程都是從後備作業佇列中選擇一個或多個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源、建立程序,然後放入就緒佇列。
2)短作業(程序)優先排程演算法(SPF) 短作業優先(SJF)的排程演算法是從後備佇列中選擇一個或若干個估計執行時間最短的作業,將它們調入記憶體執行。缺點:長作業的執行得不到保證
3)優先權排程演算法(HPF)

當把該演算法用於作業排程時,系統將從後備佇列中選擇若干個優先權最高的作業裝入記憶體。當用於程序排程時,該演算法是把處理機分配給就緒佇列中優先權最高的程序,這時,又可進一步把該演算法分成如下兩種。 可以分為:1.非搶佔式優先權演算法 2.搶佔式優先權排程演算法
5)時間片輪轉法(RR) 在早期的時間片輪轉法中,系統將所有的就緒程序按先來先服務的原則排成一個佇列,每次排程時,把CPU分配給隊首程序,並令其執行一個時間片。時間片的大小從幾ms到幾百ms。當執行的時間片用完時,由一個計時器發出時鐘中斷請求,排程程式便據此訊號來停止該程序的執行,並將它送往就緒佇列的末尾;然後,再把處理機分配給就緒佇列中新的隊首程序,同時也讓它執行一個時間片。這樣就可以保證就緒佇列中的所有程序在一給定的時間內均能獲得一時間片的處理機執行時間。換言之,系統能在給定的時間內響應所有使用者的請求。
6)多級反饋佇列排程演算法 它是目前被公認的一種較好的程序排程演算法。 (1) 應設定多個就緒佇列,併為各個佇列賦予不同的優先順序。第一個佇列的優先順序最高,第二個佇列次之,其餘各佇列的優先權逐個降低。該演算法賦予各個佇列中程序執行時間片的大小也各不相同,在優先權愈高的佇列中,為每個程序所規定的執行時間片就愈小。例如,第二個佇列的時間片要比第一個佇列的時間片長一倍,……,第i+1個佇列的時間片要比第i個佇列的時間片長一倍。 (2) 當一個新程序進入記憶體後,首先將它放入第一佇列的末尾,按FCFS原則排隊等待排程。當輪到該程序執行時,如它能在該時間片內完成,便可準備撤離系統;如果它在一個時間片結束時尚未完成,排程程式便將該程序轉入第二佇列的末尾,再同樣地按FCFS原則等待排程執行;如果它在第二佇列中執行一個時間片後仍未完成,再依次將它放入第三佇列,……,如此下去,當一個長作業(程序)從第一佇列依次降到第n佇列後,在第n 佇列便採取按時間片輪轉的方式執行。 (3) 僅當第一佇列空閒時,排程程式才排程第二佇列中的程序執行;僅當第1~(i-1)佇列均空時,才會排程第i佇列中的程序執行。如果處理機正在第i佇列中為某程序服務時,又有新程序進入優先權較高的佇列(第1~(i-1)中的任何一個佇列),則此時新程序將搶佔正在執行程序的處理機,即由排程程式把正在執行的程序放回到第i佇列的末尾,把處理機分配給新到的高優先權程序。

相關推薦

京東Java 後臺開發

1、3+5*2+(1+4) 如何求值? 面試官其實是考 四則運算表示式求值,是棧的一種應用方式。 棧的應用—四則運算表示式求值 2、抽象類和介面的區別?若抽象類支援多繼承,介面還有存在的意義麼? 3、面向物件的思想是什麼? 4、你對

美團經,Java後臺開發

如期而至的美團二面面經。。如果有後續會有工作人員聯絡你???是涼了的意思嗎??自我介紹聊專案專案裡面用到了Redis,Redis裡面的列表是怎麼實現的?Redis底層的set是怎麼實現的?最多能放多少資料?Redis持久化策略?兩種策略有什麼區別?應用場景?和MySQL有什麼

入我新美大的Java後臺開發試題總結

情況 查詢優化 做什麽 工作 我認 人的 方便 xpl 別人   靜兒最近在總結一些面試題,那是因為做什麽事情都要認真。面試也一樣,靜兒作為新美大金融部門的面試官,負責任的告訴大家,下面的問題回答不上來,面試是過不了的。不過以下絕不是原題,你會發現自己實力不過硬,最終肯定是

Java後臺開發試題總結

情況 swap sql 行數 his 本地方法棧 特性 jndi buffer 1>如何定位線上服務OOM問題  2>JVM的GC ROOTS存在於那些地方 3>mysql innodb怎樣做查詢優化 4>java cas的概念 Java服務OO

廣州玄武科技Java後臺開發

10月19號在廣工大學城宣講會做的現場筆試,20號中午就收到了簡訊說22號早上9點去面試。今天早上6號線轉3號線,總共6個站的路程遇上週一上班高峰期擠地鐵擠了1個多鍾。到了之後又等了半個小時才開始面試,沒想到去面試的路艱難,面試也這麼艱難啊。如下: 1.自我介紹一下。 2.說一下你知道的

2017 暑期實習校園招聘(Java後臺開發方向)經分享

分享一下我這兩個月裡找暑期實習過程中記錄總結的面試經驗吧,希望能對大家有所幫助。本人研二,電子科學與技術專業,本科電子資訊科學與技術專業,有三個多月的java開發實習經驗,暑期實習投遞的是Java研發工

美團、滴滴實習生經(滴滴offer,Java後臺開發崗)

筆者是大三本科生,一直以來在考研和參加工作兩個想法之間徘徊,最終在今年3月份下定決心參加工作,之後參加了春招,投的全部是java後臺開發崗實習生。 在春招過程中投了不少公司,有京東、頭條、網易、美團、滴滴,前三家都掛在了筆試環節,美團順利通過筆試,參

網易考拉海購Java後臺開發實習-經(已拿offer)

一面(23min) 自我介紹 專案中最自豪的部分 也沒什麼太自豪的,就是在移動端開發的時候不存在cookie和session,然後用redis存了一下驗證碼感覺還不錯。 講一講ArrayList和LinkedList ArrayList底層實現是陣列,並

攜程Java後臺開發

前言攜程是我面試的第一個網際網路公司,投遞的崗位是後臺開發實習生,總共面了三面,止步於人才庫。中間兜兜轉轉,複雜的心理活動,不足與外人道也。唯有面試的技術部分與大家共享。宣講會完了之後有個手寫程式碼的筆試,大致內容:1已知有一顆二叉排序樹,向樹裡面插入節點,如果該節點已存在(

【分享】Java後臺開發精選知識圖譜

僅支持 jqgrid lai content 結果集 完全 異常處理 分布式服務 list 地址 引言: 學習一個新的技術時,其實不在於跟著某個教程敲出了幾行、幾百行代碼,這樣你最多只能知其然而不知其所以然,進步緩慢且深度有限,最重要的是一開始就對整個學習路線有宏觀、簡潔的

Java後臺開發Servlet學習(序)

  今天總算是寫完了一個簡單的servlet程式,能夠結合MySQL對傳入的資訊作出反饋,所以才有了“勇氣”來寫這篇部落格,不過時間也不太早了,頭髮要緊,今天先寫一些自己的感受、經歷,明天再來總結吧。   1.學習後臺的契機   團隊專案是做一個短視訊APP,由於我之前用QT做過簡單的Socket通訊,在

Java後臺開發Servlet學習(一)

一、Servlet介紹   開始接觸一個新的東西,首先要知道它是幹什麼的吧。Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。我自己的理解就是對客戶端或者瀏覽器傳送的

Java後臺開發學習進階路線

Java後臺開發學習進階路線   轉自:https://blog.csdn.net/wjlgdut/article/details/72867256 這一部分其實也算是今天的重點,這一部分用來回答很多群裡的朋友所問過的問題,那就是LZ你是如何學習Java的,能不能給點建議? 今天LZ

java後臺開發例子--使用Maven建立springmvc的web專案

java後臺開發例子–使用Maven建立springmvc的web專案 文章目錄 java後臺開發例子--使用Maven建立springmvc的web專案 1.測試 2.詳細配置 2.1建立工程結構: 2.2

java後臺開發SpringMVC例子--圖片上傳下載

java後臺開發SpringMVC例子–圖片上傳下載 文章目錄 java後臺開發SpringMVC例子--圖片上傳下載 1.配置 2.測試 環境: win7;jdk1.8

2018秋招之路總結-java後臺開發

      這篇文章我將大體分為兩個部分,第一部分為秋招心得感想之類的。第二部分為我總結的乾貨。       我是一個普通一本計算機專業的一名大四學生,在大一大二時不清楚自己的方向,只是保證自己學校的科目不掛科,但是也沒有學的很深,就這樣一直到了大三下半年時的3、4月份。找

Java後臺開發學習(3)——MongoDB

之前只學過sql,第一次使用非關係型資料庫。以前對於關係型資料庫與非關係型資料庫的概念很模糊,通過這次的學習對這兩者有了一個清晰的概念。 主鍵 在MongoDB中,主鍵名叫"_id",如果在生成資料的時候,使用者不主動為其分配一個主鍵的話,MongoDB會自動生成一個隨機分配的值。 第一條資料是我一開始忘了

java後臺開發免費的物件儲存Bmob

對於很多開發者來說,特別是學生黨來說,找一個不要錢的物件儲存再好不過了,下面給大家推薦bmob給大家,官方網站https://www.bmob.cn/,他提供儲存少量是免費的,對於開發者來說足夠了 一、首先是匯入 <dependencies> <depend

java後臺開發之路總結

=========第一部分學習重點=================================== Java基礎:               [長期學習] 包括HTML/CSS/JS(前端頁面)    [會寫出簡單的頁面即可] Servlet/JSP(J2EE)   

京東4(Java研發):事務隔離+樂觀鎖+HashMap+秒殺設計+微服務

一面(基礎面:約五十分鐘) 自我介紹,主要講講做了什麼和擅長什麼 springmvc和spring-boot區別 @Autowired的實現原理 Bean的預設作用範圍是什麼?其他的作用範圍? 索引是什麼概念有什麼作用?MySQL裡主要有哪些索引結構?雜湊索引和B+樹索引比較? Java執行緒