国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

面試 | 必須要會的50個React面試題

開發 前端
如果你是一位有抱負的前端程序員并準備面試,那么這篇文章很適合你。本文是你學習和面試 React 所需知識的完美指南。

如果你是一位有抱負的前端程序員并準備面試,那么這篇文章很適合你。本文是你學習和面試 React 所需知識的***指南。

JavaScript 工具緩慢而穩定地在市場中扎根,對 React 的需求呈指數級增長。選擇合適的技術來開發應用或網站變得越來越有挑戰性。其中 React 被認為是增長最快的 Javascript 框架。

截至今天,Github 上約有1,000名貢獻者。 Virtual DOM 和可重用組件等獨特功能吸引了前端開發人員的注意力。盡管它只是 MVC(模型 - 視圖 - 控制器)中“視圖”的庫,但它對 Angular,Meteor,Vue 等全面的框架也構成了強力的挑戰。下圖為流行的 JS 框架的趨勢:

必須要會的50個React面試題

JS 框架的趨勢

React 面試題

以下是面試官最有可能問到的 50 個 React 面試題和答案。為方便你學習,我對它們進行了分類:

  • 基本知識
  • React 組件
  • React Redux
  • React 路由

基本知識

1. 區分Real DOM和Virtual DOM

Real DOM Virtual DOM
1. 更新緩慢。 1. 更新更快。
2. 可以直接更新 HTML。 2. 無法直接更新 HTML。
3. 如果元素更新,則創建新DOM。 3. 如果元素更新,則更新 JSX 。
4. DOM操作代價很高。 4. DOM 操作非常簡單。
5. 消耗的內存較多。 5. 很少的內存消耗。
 

2. 什么是React?

  • React 是 Facebook 在 2011 年開發的前端 JavaScript 庫。
  • 它遵循基于組件的方法,有助于構建可重用的UI組件。
  • 它用于開發復雜和交互式的 Web 和移動 UI。
  • 盡管它僅在 2015 年開源,但有一個很大的支持社區。

3. React有什么特點?

React的主要功能如下:

  1. 它使用虛擬DOM 而不是真正的DOM。
  2. 它可以進行服務器端渲染
  3. 它遵循單向數據流或數據綁定。

4. 列出React的一些主要優點。

React的一些主要優點是:

  1. 它提高了應用的性能
  2. 可以方便地在客戶端和服務器端使用
  3. 由于 JSX,代碼的可讀性很好
  4. React 很容易與 Meteor,Angular 等其他框架集成
  5. 使用React,編寫UI測試用例變得非常容易

5. React有哪些限制?

React的限制如下:

  1. React 只是一個庫,而不是一個完整的框架
  2. 它的庫非常龐大,需要時間來理解
  3. 新手程序員可能很難理解
  4. 編碼變得復雜,因為它使用內聯模板和 JSX

6. 什么是JSX?

JSX 是J avaScript XML 的簡寫。是 React 使用的一種文件,它利用 JavaScript 的表現力和類似 HTML 的模板語法。這使得 HTML 文件非常容易理解。此文件能使應用非常可靠,并能夠提高其性能。下面是JSX的一個例子:

  1. render(){ 
  2.     return(         
  3.         <div> 
  4.             <h1> Hello World from Edureka!!</h1> 
  5.         </div> 
  6.     ); 

7. 你了解 Virtual DOM 嗎?解釋一下它的工作原理。

Virtual DOM 是一個輕量級的 JavaScript 對象,它最初只是 real DOM 的副本。它是一個節點樹,它將元素、它們的屬性和內容作為對象及其屬性。 React 的渲染函數從 React 組件中創建一個節點樹。然后它響應數據模型中的變化來更新該樹,該變化是由用戶或系統完成的各種動作引起的。

Virtual DOM 工作過程有三個簡單的步驟。

      1.每當底層數據發生改變時,整個 UI 都將在 Virtual DOM 描述中重新渲染。 

      2.然后計算之前 DOM 表示與新表示的之間的差異。 

      3.完成計算后,將只用實際更改的內容更新 real DOM。 

8. 為什么瀏覽器無法讀取JSX?

瀏覽器只能處理 JavaScript 對象,而不能讀取常規 JavaScript 對象中的 JSX。所以為了使瀏覽器能夠讀取 JSX,首先,需要用像 Babel 這樣的 JSX 轉換器將 JSX 文件轉換為 JavaScript 對象,然后再將其傳給瀏覽器。

9. 與 ES5 相比,React 的 ES6 語法有何不同?

以下語法是 ES5 與 ES6 中的區別:

1.require 與 import

  1. // ES5 
  2. var React = require('react'); 
  3.   
  4. // ES6 
  5. import React from 'react'

2.export 與 exports

  1. // ES5 
  2. module.exports = Component; 
  3.   
  4. // ES6 
  5. export default Component; 

3.component 和 function

  1. // ES5 
  2. var MyComponent = React.createClass({ 
  3.     render: function() { 
  4.         return 
  5.             <h3>Hello Edureka!</h3>; 
  6.     } 
  7. }); 
  8.   
  9. // ES6 
  10. class MyComponent extends React.Component { 
  11.     render() { 
  12.         return 
  13.             <h3>Hello Edureka!</h3>; 
  14.     } 

4.props

  1. // ES5 
  2. var App = React.createClass({ 
  3.     propTypes: { name: React.PropTypes.string }, 
  4.     render: function() { 
  5.         return 
  6.             <h3>Hello, {this.props.name}!</h3>; 
  7.     } 
  8. }); 
  9.  
  10. // ES6 
  11. class App extends React.Component { 
  12.     render() { 
  13.         return 
  14.             <h3>Hello, {this.props.name}!</h3>; 
  15.     } 

5.state

  1. // ES5 
  2. var App = React.createClass({ 
  3.     getInitialState: function() { 
  4.         return { name'world' }; 
  5.     }, 
  6.     render: function() { 
  7.         return 
  8.             <h3>Hello, {this.state.name}!</h3>; 
  9.     } 
  10. }); 
  11.  
  12. // ES6 
  13. class App extends React.Component { 
  14.     constructor() { 
  15.         super(); 
  16.         this.state = { name'world' }; 
  17.     } 
  18.     render() { 
  19.         return 
  20.             <h3>Hello, {this.state.name}!</h3>; 
  21.     } 

10. React與Angular有何不同?

主題 React Angular
1. 體系結構 只有 MVC 中的 View 完整的 MVC
2. 渲染 可以進行服務器端渲染 客戶端渲染
3. DOM 使用 virtual DOM 使用 real DOM
4. 數據綁定 單向數據綁定 雙向數據綁定
5. 調試 編譯時調試 運行時調試
6. 作者 Facebook Google

React 組件

11. 你怎樣理解“在React中,一切都是組件”這句話。

組件是 React 應用 UI 的構建塊。這些組件將整個 UI 分成小的獨立并可重用的部分。每個組件彼此獨立,而不會影響 UI 的其余部分。

12. 怎樣解釋 React 中 render() 的目的。

每個React組件強制要求必須有一個 render()。它返回一個 React 元素,是原生 DOM 組件的表示。如果需要渲染多個 HTML 元素,則必須將它們組合在一個封閉標記內,例如 <form><group><div> 等。此函數必須保持純凈,即必須每次調用時都返回相同的結果。

13. 如何將兩個或多個組件嵌入到一個組件中?

可以通過以下方式將組件嵌入到一個組件中: 

  1. class MyComponent extends React.Component{ 
  2.     render(){ 
  3.         return(           
  4.             <div> 
  5.                 <h1>Hello</h1> 
  6.                 <Header/> 
  7.             </div> 
  8.         ); 
  9.     } 
  10. class Header extends React.Component{ 
  11.     render(){ 
  12.         return 
  13.             <h1>Header Component</h1>    
  14.    }; 
  15. ReactDOM.render( 
  16.     <MyComponent/>, document.getElementById('content'
  17. ); 

14. 什么是 Props?

Props 是 React 中屬性的簡寫。它們是只讀組件,必須保持純,即不可變。它們總是在整個應用中從父組件傳遞到子組件。子組件永遠不能將 prop 送回父組件。這有助于維護單向數據流,通常用于呈現動態生成的數據。

15. React中的狀態是什么?它是如何使用的?

狀態是 React 組件的核心,是數據的來源,必須盡可能簡單。基本上狀態是確定組件呈現和行為的對象。與props 不同,它們是可變的,并創建動態和交互式組件。可以通過 this.state() 訪問它們。

16. 區分狀態和 props

條件 State Props
1. 從父組件中接收初始值 Yes Yes
2. 父組件可以改變值 No Yes
3. 在組件中設置默認值 Yes Yes
4. 在組件的內部變化 Yes No
5. 設置子組件的初始值 Yes Yes
6. 在子組件的內部更改 No Yes

17. 如何更新組件的狀態?

可以用 this.setState()更新組件的狀態。

  1. class MyComponent extends React.Component { 
  2.     constructor() { 
  3.         super(); 
  4.         this.state = { 
  5.             name'Maxx'
  6.             id: '101' 
  7.         } 
  8.     } 
  9.     render() 
  10.         { 
  11.             setTimeout(()=>{this.setState({name:'Jaeha', id:'222'})},2000) 
  12.             return (               
  13.                 <div> 
  14.                     <h1>Hello {this.state.name}</h1> 
  15.                     <h2>Your Id is {this.state.id}</h2> 
  16.                 </div> 
  17.             ); 
  18.         } 
  19.     } 
  20. ReactDOM.render( 
  21.     <MyComponent/>, document.getElementById('content'
  22. ); 

18. React 中的箭頭函數是什么?怎么用?

箭頭函數(=>)是用于編寫函數表達式的簡短語法。這些函數允許正確綁定組件的上下文,因為在 ES6 中默認下不能使用自動綁定。使用高階函數時,箭頭函數非常有用。

  1. //General way 
  2. render() {     
  3.     return
  4.         <MyInput onChange = {this.handleChange.bind(this) } /> 
  5.     ); 
  6. //With Arrow Function 
  7. render() {   
  8.     return
  9.         <MyInput onChange = { (e)=>this.handleOnChange(e) } /> 
  10.     ); 

19. 區分有狀態和無狀態組件。

有狀態組件 無狀態組件
1. 在內存中存儲有關組件狀態變化的信息 1. 計算組件的內部的狀態
2. 有權改變狀態 2. 無權改變狀態
3. 包含過去、現在和未來可能的狀態變化情況 3. 不包含過去,現在和未來可能發生的狀態變化情況
4. 接受無狀態組件狀態變化要求的通知,然后將 props 發送給他們。 4.從有狀態組件接收 props 并將其視為回調函數。

20. React組件生命周期的階段是什么?

React 組件的生命周期有三個不同的階段:

  1. 初始渲染階段:這是組件即將開始其生命之旅并進入 DOM 的階段。
  2. 更新階段:一旦組件被添加到 DOM,它只有在 prop 或狀態發生變化時才可能更新和重新渲染。這些只發生在這個階段。
  3. 卸載階段:這是組件生命周期的***階段,組件被銷毀并從 DOM 中刪除。

21. 詳細解釋 React 組件的生命周期方法。

一些最重要的生命周期方法是:

  1. componentWillMount() – 在渲染之前執行,在客戶端和服務器端都會執行。
  2. componentDidMount() – 僅在***次渲染后在客戶端執行。
  3. componentWillReceiveProps() – 當從父類接收到 props 并且在調用另一個渲染器之前調用。
  4. shouldComponentUpdate() – 根據特定條件返回 true 或 false。如果你希望更新組件,請返回true 否則返回 false。默認情況下,它返回 false。
  5. componentWillUpdate() – 在 DOM 中進行渲染之前調用。
  6. componentDidUpdate() – 在渲染發生后立即調用。
  7. componentWillUnmount() – 從 DOM 卸載組件后調用。用于清理內存空間。

22. React中的事件是什么?

在 React 中,事件是對鼠標懸停、鼠標單擊、按鍵等特定操作的觸發反應。處理這些事件類似于處理 DOM 元素中的事件。但是有一些語法差異,如:

  1. 用駝峰命名法對事件命名而不是僅使用小寫字母。
  2. 事件作為函數而不是字符串傳遞。

事件參數重包含一組特定于事件的屬性。每個事件類型都包含自己的屬性和行為,只能通過其事件處理程序訪問。

23. 如何在React中創建一個事件?

  1. class Display extends React.Component({     
  2.     show(evt) { 
  3.         // code    
  4.     },    
  5.     render() {       
  6.         // Render the div with an onClick prop (value is a function)         
  7.         return (             
  8.             <div onClick={this.show}>Click Me!</div> 
  9.         );     
  10.     } 
  11. }); 

24. React中的合成事件是什么?

合成事件是圍繞瀏覽器原生事件充當跨瀏覽器包裝器的對象。它們將不同瀏覽器的行為合并為一個 API。這樣做是為了確保事件在不同瀏覽器中顯示一致的屬性。

25. 你對 React 的 refs 有什么了解?

Refs 是 React 中引用的簡寫。它是一個有助于存儲對特定的 React 元素或組件的引用的屬性,它將由組件渲染配置函數返回。用于對 render() 返回的特定元素或組件的引用。當需要進行 DOM 測量或向組件添加方法時,它們會派上用場。

  1. class ReferenceDemo extends React.Component{ 
  2.      display() { 
  3.          const name = this.inputDemo.value; 
  4.          document.getElementById('disp').innerHTML = name
  5.      } 
  6. render() { 
  7.     return(         
  8.           <div> 
  9.             Name: <input type="text" ref={input => this.inputDemo = input} /> 
  10.             <button name="Click" onClick={this.display}>Click</button>             
  11.             <h2>Hello <span id="disp"></span> !!!</h2> 
  12.           </div> 
  13.     ); 
  14.    } 
  15.  } 

26. 列出一些應該使用 Refs 的情況。

以下是應該使用 refs 的情況:

  • 需要管理焦點、選擇文本或媒體播放時
  • 觸發式動畫
  • 與第三方 DOM 庫集成

27. 如何模塊化 React 中的代碼?

可以使用 export 和 import 屬性來模塊化代碼。它們有助于在不同的文件中單獨編寫組件。

  1. //ChildComponent.jsx 
  2. export default class ChildComponent extends React.Component { 
  3.     render() { 
  4.         return(            
  5.               <div> 
  6.                   <h1>This is a child component</h1> 
  7.               </div> 
  8.         ); 
  9.     } 
  10.   
  11. //ParentComponent.jsx 
  12. import ChildComponent from './childcomponent.js'
  13. class ParentComponent extends React.Component {     
  14.     render() {         
  15.         return(            
  16.              <div>                
  17.                 <App />           
  18.              </div>        
  19.         );   
  20.     } 

28. 如何在 React 中創建表單

React 表單類似于 HTML 表單。但是在 React 中,狀態包含在組件的 state 屬性中,并且只能通過 setState() 更新。因此元素不能直接更新它們的狀態,它們的提交是由 JavaScript 函數處理的。此函數可以完全訪問用戶輸入到表單的數據。

  1. handleSubmit(event) { 
  2.     alert('A name was submitted: ' + this.state.value); 
  3.     event.preventDefault(); 
  4.   
  5. render() { 
  6.     return (         
  7.         <form onSubmit={this.handleSubmit}> 
  8.             <label> 
  9.                 Name
  10.                 <input type="text" value={this.state.value} onChange={this.handleSubmit} /> 
  11.             </label> 
  12.             <input type="submit" value="Submit" /> 
  13.         </form> 
  14.     ); 

29. 你對受控組件和非受控組件了解多少?

受控組件 非受控組件
1. 沒有維持自己的狀態 1. 保持著自己的狀態
2.數據由父組件控制 2.數據由 DOM 控制
3. 通過 props 獲取當前值,然后通過回調通知更改 3. Refs 用于獲取其當前值

30. 什么是高階組件(HOC)?

高階組件是重用組件邏輯的高級方法,是一種源于 React 的組件模式。 HOC 是自定義組件,在它之內包含另一個組件。它們可以接受子組件提供的任何動態,但不會修改或復制其輸入組件中的任何行為。你可以認為 HOC 是“純(Pure)”組件。

31. 你能用HOC做什么?

HOC可用于許多任務,例如:

  • 代碼重用,邏輯和引導抽象
  • 渲染劫持
  • 狀態抽象和控制
  • Props 控制

32. 什么是純組件?

純(Pure) 組件是可以編寫的最簡單、最快的組件。它們可以替換任何只有 render() 的組件。這些組件增強了代碼的簡單性和應用的性能。

33. React 中 key 的重要性是什么?

key 用于識別唯一的 Virtual DOM 元素及其驅動 UI 的相應數據。它們通過回收 DOM 中當前所有的元素來幫助 React 優化渲染。這些 key 必須是唯一的數字或字符串,React 只是重新排序元素而不是重新渲染它們。這可以提高應用程序的性能。

React Redux

34. MVC框架的主要問題是什么?

以下是MVC框架的一些主要問題:

  • 對 DOM 操作的代價非常高
  • 程序運行緩慢且效率低下
  • 內存浪費嚴重
  • 由于循環依賴性,組件模型需要圍繞 models 和 views 進行創建

35. 解釋一下 Flux

Flux 是一種強制單向數據流的架構模式。它控制派生數據,并使用具有所有數據權限的中心 store 實現多個組件之間的通信。整個應用中的數據更新必須只能在此處進行。 Flux 為應用提供穩定性并減少運行時的錯誤。

36. 什么是Redux?

Redux 是當今最熱門的前端開發庫之一。它是 JavaScript 程序的可預測狀態容器,用于整個應用的狀態管理。使用 Redux 開發的應用易于測試,可以在不同環境中運行,并顯示一致的行為。

37. Redux遵循的三個原則是什么?

  1. 單一事實來源:整個應用的狀態存儲在單個 store 中的對象/狀態樹里。單一狀態樹可以更容易地跟蹤隨時間的變化,并調試或檢查應用程序。
  2. 狀態是只讀的:改變狀態的唯一方法是去觸發一個動作。動作是描述變化的普通 JS 對象。就像 state 是數據的最小表示一樣,該操作是對數據更改的最小表示。
  3. 使用純函數進行更改:為了指定狀態樹如何通過操作進行轉換,你需要純函數。純函數是那些返回值僅取決于其參數值的函數。

38. 你對“單一事實來源”有什么理解?

Redux 使用 “Store” 將程序的整個狀態存儲在同一個地方。因此所有組件的狀態都存儲在 Store 中,并且它們從 Store 本身接收更新。單一狀態樹可以更容易地跟蹤隨時間的變化,并調試或檢查程序。

39. 列出 Redux 的組件。

Redux 由以下組件組成:

  1. Action – 這是一個用來描述發生了什么事情的對象。
  2. Reducer – 這是一個確定狀態將如何變化的地方。
  3. Store – 整個程序的狀態/對象樹保存在Store中。
  4. View – 只顯示 Store 提供的數據。

40. 數據如何通過 Redux 流動?

41. 如何在 Redux 中定義 Action?

React 中的 Action 必須具有 type 屬性,該屬性指示正在執行的 ACTION 的類型。必須將它們定義為字符串常量,并且還可以向其添加更多的屬性。在 Redux 中,action 被名為 Action Creators 的函數所創建。以下是 Action 和Action Creator 的示例:

  1. function addTodo(text) { 
  2.        return { 
  3.                 type: ADD_TODO,     
  4.                  text 
  5.     } 

42. 解釋 Reducer 的作用。

Reducers 是純函數,它規定應用程序的狀態怎樣因響應 ACTION 而改變。Reducers 通過接受先前的狀態和 action 來工作,然后它返回一個新的狀態。它根據操作的類型確定需要執行哪種更新,然后返回新的值。如果不需要完成任務,它會返回原來的狀態。

43. Store 在 Redux 中的意義是什么?

Store 是一個 JavaScript 對象,它可以保存程序的狀態,并提供一些方法來訪問狀態、調度操作和注冊偵聽器。應用程序的整個狀態/對象樹保存在單一存儲中。因此,Redux 非常簡單且是可預測的。我們可以將中間件傳遞到 store 來處理數據,并記錄改變存儲狀態的各種操作。所有操作都通過 reducer 返回一個新狀態。

44. Redux與Flux有何不同?

Flux Redux
1. Store 包含狀態和更改邏輯 1. Store 和更改邏輯是分開的
2. 有多個 Store 2. 只有一個 Store
3. 所有 Store 都互不影響且是平級的 3. 帶有分層 reducer 的單一 Store
4. 有單一調度器 4. 沒有調度器的概念
5. React 組件訂閱 store 5. 容器組件是有聯系的
6. 狀態是可變的 6. 狀態是不可改變的
 

45. Redux 有哪些優點?

Redux 的優點如下:

  • 結果的可預測性 - 由于總是存在一個真實來源,即 store ,因此不存在如何將當前狀態與動作和應用的其他部分同步的問題。
  • 可維護性 - 代碼變得更容易維護,具有可預測的結果和嚴格的結構。
  • 服務器端渲染 - 你只需將服務器上創建的 store 傳到客戶端即可。這對初始渲染非常有用,并且可以優化應用性能,從而提供更好的用戶體驗。
  • 開發人員工具 - 從操作到狀態更改,開發人員可以實時跟蹤應用中發生的所有事情。
  • 社區和生態系統 - Redux 背后有一個巨大的社區,這使得它更加迷人。一個由才華橫溢的人組成的大型社區為庫的改進做出了貢獻,并開發了各種應用。
  • 易于測試 - Redux 的代碼主要是小巧、純粹和獨立的功能。這使代碼可測試且獨立。
  • 組織 - Redux 準確地說明了代碼的組織方式,這使得代碼在團隊使用時更加一致和簡單。

React 路由

46. 什么是React 路由?

React 路由是一個構建在 React 之上的強大的路由庫,它有助于向應用程序添加新的屏幕和流。這使 URL 與網頁上顯示的數據保持同步。它負責維護標準化的結構和行為,并用于開發單頁 Web 應用。 React 路由有一個簡單的API。

47. 為什么React Router v4中使用 switch 關鍵字 ?

雖然 <div> 用于封裝 Router 中的多個路由,當你想要僅顯示要在多個定義的路線中呈現的單個路線時,可以使用 “switch” 關鍵字。使用時,<switch> 標記會按順序將已定義的 URL 與已定義的路由進行匹配。找到***個匹配項后,它將渲染指定的路徑。從而繞過其它路線。

48. 為什么需要 React 中的路由?

Router 用于定義多個路由,當用戶定義特定的 URL 時,如果此 URL 與 Router 內定義的任何 “路由” 的路徑匹配,則用戶將重定向到該特定路由。所以基本上我們需要在自己的應用中添加一個 Router 庫,允許創建多個路由,每個路由都會向我們提供一個獨特的視圖

  1. <switch> 
  2.     <route exact path=’/’ component={Home}/> 
  3.     <route path=’/posts/:id’ component={Newpost}/> 
  4.     <route path=’/posts’   component={Post}/> 
  5. </switch> 

49. 列出 React Router 的優點。

幾個優點是:

  1. 就像 React 基于組件一樣,在 React Router v4 中,API 是 'All About Components'。可以將 Router 可視化為單個根組件(<BrowserRouter>),其中我們將特定的子路由(<route>)包起來。
  2. 無需手動設置歷史值:在 React Router v4 中,我們要做的就是將路由包裝在 <BrowserRouter> 組件中。
  3. 包是分開的:共有三個包,分別用于 Web、Native 和 Core。這使我們應用更加緊湊。基于類似的編碼風格很容易進行切換。

50. React Router與常規路由有何不同?

主題 常規路由 React 路由
參與的頁面 每個視圖對應一個新文件 只涉及單個HTML頁面
URL 更改 HTTP 請求被發送到服務器并且接收相應的 HTML 頁面 僅更改歷史記錄屬性
體驗 用戶實際在每個視圖的不同頁面切換 用戶認為自己正在不同的頁面間切換

希望這套 React 面試題和答案能幫你準備面試。祝一切順利! 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2022-09-05 17:49:53

Java線程池

2019-02-18 13:36:03

Redis數據庫面試

2023-09-21 14:55:24

Web 開發TypeScript

2018-02-25 16:35:32

前端CSS面試題

2020-06-04 14:40:40

面試題Vue前端

2020-10-15 08:53:26

數據庫面試題

2014-09-19 11:17:48

面試題

2014-12-02 10:02:30

2011-03-24 13:27:37

SQL

2023-11-13 07:37:36

JS面試題線程

2022-08-22 18:57:29

React前端面試

2021-06-02 12:12:46

DevOps面試Linux

2024-05-11 08:33:45

JavaJVM虛擬機

2015-08-27 09:27:34

JavaScript面試題

2015-09-02 09:32:56

java線程面試

2025-02-26 07:58:41

2017-08-29 14:12:16

Java面試題

2019-07-31 09:06:35

Java跳槽那些事兒文章

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題
點贊
收藏

51CTO技術棧公眾號

日韩一区二区三区av| 欧美私人啪啪vps| 国产粉嫩一区二区三区在线观看| 热久久最新地址| 亚洲一区二区久久久久久| 久久激情视频免费观看| 欧美高清性hdvideosex| 一区二区三区视频在线看| 国精产品一区一区三区mba桃花 | 中文在线资源在线| 久久久免费视频网站| 日韩一区二区电影在线观看| 91精品视频在线| 久久中文字幕在线| 亚洲免费人成在线视频观看| 69堂亚洲精品首页| 在线亚洲人成电影网站色www| 欧美日韩国产在线看| 亚洲女性喷水在线观看一区| 国产精品色哟哟| 国产欧美精品一区二区三区四区 | 日韩网站在线观看| 亚洲无亚洲人成网站77777| 亚洲福利视频久久| 精品在线小视频| 日韩精品高清在线| 国产丝袜高跟一区| 神马国产精品影院av| 欧美国产日韩二区| 热门国产精品亚洲第一区在线| 欧美性视频在线| 国产精品网址在线| 不卡视频一区二区三区| 精品乱码一区| 亚欧精品在线| 欧美另类videosbestsex日本| 无码人妻精品一区二区三区在线| 亚洲一区在线不卡| 2022国产精品| 一本色道婷婷久久欧美| 国产偷人视频免费| eeuss在线播放| 黄色在线观看网| 国产h片在线观看| 亚洲资源在线| 日韩大片在线播放| 欧美aⅴ一区二区三区视频| 丁香天五香天堂综合| 亚洲第一成年网| 亚洲第一区中文99精品| 色综合久综合久久综合久鬼88| 日韩免费观看网站| 欧美日韩一区二区视频在线观看| 国产精品专区在线| 91精品在线影院| 日日摸日日碰夜夜爽无码| 传媒在线观看| 一个人看的www视频在线免费观看| 日本高清久久| 亚洲国产精品第一区二区三区| 成人免费观看男女羞羞视频| 欧美性猛交xxxx免费看| 亚洲国产毛片完整版| 日韩av免费在线播放| 亚洲国产日韩美| julia京香一区二区三区| **欧美日韩在线观看| 精品国产成人| 国产精品一区三区| 欧美视频一区二区在线观看| 91精品国产网站| www.国产亚洲| 精品自拍一区| 色狮一区二区三区四区视频| 91伊人久久大香线蕉| 欧美一级欧美一级在线播放| 国产欧美婷婷中文| 婷婷丁香激情网| 777午夜精品电影免费看| 国产免费成人| 天涯成人国产亚洲精品一区av| 久久综合亚洲社区| 中文字幕免费在线不卡| 精品51国产黑色丝袜高跟鞋| 日韩精品免费一区二区三区| 欧美国产精品专区| 欧美成人免费大片| 男人添女人下部高潮视频在观看| 美女尤物在线视频| 日韩午夜一区| 欧洲精品在线观看| 18成人免费观看网站下载| 一二三在线视频社区| 精品国产成人| 亚洲国产一区二区三区青草影视| 久久最新资源网| 日本精品免费在线观看| 不卡亚洲精品| 成人免费看视频| 久久精品最新地址| 婷婷丁香激情网| 天堂99x99es久久精品免费| 亚洲视频精选在线| 成人在线国产精品| 川上优的av在线一区二区| 亚洲福利国产| 日韩精品中文字幕在线不卡尤物| 欧美日韩精品久久| 成人性生交大片免费看网站| 日日夜夜精品视频天天综合网| 亚洲白拍色综合图区| 在线看无码的免费网站| 爱情电影网av一区二区| 欧美国产成人在线| 国产999精品视频| 男人的天堂在线免费视频| 久久免费国产| www.日韩.com| 久草在线新视觉| 免播放器亚洲| 色爱精品视频一区| 国产一级视频| 美女一区二区三区| 91国产精品电影| yiren22亚洲综合伊人22| 99视频一区| 不卡av电影院| av天在线观看| 91亚洲精品一区二区乱码| 成人疯狂猛交xxx| 欧美调教sm| 亚洲午夜激情网站| 亚洲欧洲日韩综合二区| 91在线一区| 欧美成人精品1314www| 男人的天堂www| 亚洲国产国产亚洲一二三| 久久国产精品久久久| 亚洲成人观看| 欧美激情一区二区三区全黄| 久久国产主播精品| 希岛爱理av免费一区二区| 日韩一区二区三区视频在线观看| 亚欧美在线观看| 久久爱www久久做| 97久草视频| 卡通动漫精品一区二区三区| 欧美精品一区二区不卡| 性感美女激情视频在线观看| 国产成人精品网址| 久久人人97超碰人人澡爱香蕉| 日韩中出av| 日韩在线视频线视频免费网站| 免费看美女视频在线网站| 五月婷婷久久综合| 91av中文字幕| 只有精品亚洲| 亚洲性av在线| 超碰高清在线| 欧美一区二区在线免费播放| 最新av番号| 亚洲精品第1页| 一区二区三区视频网| 久久精品人人爽人人爽| 日本肉体xxxx裸体xxx免费| 久久精品视频一区二区三区| 久久av高潮av| 不卡av电影在线播放| 日韩欧美不卡在线| 国产99久久久精品| 男人添女荫道口图片| 成人h精品动漫一区二区三区| 久久综合亚洲精品| 国产伦理精品不卡| 五月天激情图片| 99国产精品国产精品久久| 国产69精品久久久久999小说| 蜜臀91精品一区二区三区| 亚洲第一导航| 国产乱子轮精品视频| 无码人妻aⅴ一区二区三区日本| 青青青爽久久午夜综合久久午夜 | 成人爽a毛片免费啪啪| 夜夜嗨av一区二区三区四区 | 精品国产污污免费网站入口 | 亚洲精品国产美女| 日韩电影大全网站| 日韩一区av在线| 日韩最新av| 国产成人黄色av| 亚洲一区二区三区| 日韩av不卡在线播放| 99re这里都是精品| 成人av网页| 欧美日韩视频在线第一区| 成人自拍av| 国产精品久久久久久影视| 奶水喷射视频一区| 国产精品97在线| 亚洲3atv精品一区二区三区|