2023年前端面試經歷6 京東無線

2021-08-18 16:21:54 字數 3573 閱讀 8462

京東的機會其實挺多也挺不錯的,京東總部在亦莊,實在無法考慮。每天來回的時間最少也得三個多小時。後來發現在京東在北辰還有辦公地點,離家很近,坐地鐵去不能更方便。於是也參加了兩次面試。

第乙個是京東的無線團隊,這個有點特殊,這個團隊是京東在上海的團隊,但是這個團隊需要在北京招聘研發人員留守,所以人在北京,每天業務溝通都要通過**會議或者其他通訊工具,實在是有些彆扭

這次面試比較水,現場面試的姑娘和**面試的小伙應該是沒有溝通好,**面試問的比較多,反而是現場面試其實沒有聊什麼乾貨。

面試無疾而終,後面乙個京東的另外的團隊面試結果不錯,留在以後說。

11號晚上去五棵松看球的時候,京東的**就來了,現場太吵,改在了第二天。沒想到他是想**面試,**面試了差不多40分鐘,回來凍的手都抖了

沒過一會,就接到**通知我**初試過了,約了下周一上午的二面。很奇怪,他們的固話和手機都是上海的運營商。

不過不靠譜的是,周一上午我一道早跑到他們在北辰的公司,打**聯絡面試官,告訴我她有事情沒辦法面試,她就是給忘了。她可能不知道在北京跑一趟面試又要請假,有多浪費時間和精力。

這種事情總能讓我不快,也能從側面打消我的緊張感。其實無所謂了,反正這一周就這四個面試,面完就得了。

第二天去了面試,這個姑娘實在是有點敷衍,明顯對我不感興趣,覺得我的實際經驗太少,專案上感覺也沒什麼好問的。對於我來說,面試沒有什麼收穫,太水了,還不如**面試的時間長。

她們這是為了京東上海團隊在北京的分支招人,奇奇怪怪的組織架構,不去就算了,只是工作位置實在不錯,離家很近。

**面試部分

繼承的方式

使用建構函式建立例項

使用原型鏈 prototype

拷貝如何使用原型鏈實現繼承

1let p = function(){};

2let c = function(){};

3 4c.prototype = new p();

5c.prototype.constructor = c

上面的方法可以繼承原型鏈上的屬性和方法

1let p = function(){};

2let c = function();

上面的方法可以繼承函式本身的屬性和方法

undefined 和 null 的區別

1、undefined表示「缺少值」,就是此處有應該有值但是未定義,null表示「沒有值」, 就是此處不應該有值;

2、轉換為數字是,undefined 是 nan, null 是 0

3、typeof結果不同

1typeof undefined; // 『undefined』

2typeof null; // 『object』

詳見這裡。

js基本資料型別

5種基本資料型別:

boolean

number

string

undefined

null

1種複雜資料型別:

-object

- function

- array

- object

- date

閉包的用途

讀取函式內部的變數

讓這些變數的值始終保持在記憶體中。

一道閉包理解題

1var name = 「the window」;  

2var object = ;    

8 }  

9};  

10alert(object.getnamefunc()());

一道作用域的理解題

1var name = 「the window」;

2 3var object2 =

10 }

11};

12 13alert(object2.getnamefunc.func());

14 15var test = object2.getnamefunc.func;

16alert(test());

17 18var test2 = object2.getnamefunc;

19alert(test2.func())

js中的假值

false

null

undefined

nan注意,只包含空格的字串」 」 、空物件{}、空陣列都是true

關於 float 屬性

float定義了元素向哪個方向浮動,佔據一定空間,其餘內容圍繞該元素排列

關於 clear 屬性

規定元素的哪一側不允許出現其他浮動元素

如果宣告為左邊或右邊清除,會使元素的上外邊框邊界剛好在該邊上浮動元素的下外邊距邊界之下。

react 優化

適當拆分元件

使用 css3 動畫

pure render decorator

pure component

immutable.js

無狀態元件

箭頭函式和普通函式的區別

箭頭函式的 this 就是定義時所在的物件,而不是使用時所在的物件

箭頭函式不能用作建構函式,

箭頭函式不能使用 arguments 物件,該物件不存在,但可以使用 rest 物件

arguments 是乙個類陣列物件,而 rest 物件是真正的陣列

對應的一道思考題:

1var a = 100;

2 3function foo() , 100)

7} 8foo.call();

11 12function bar() , 100)

16}

17bar.call()

題目中,settimeout 中的普通函式的 this 是呼叫時確定的,該函式的呼叫者是 window,所以 foo函式在 call 時,foo 函式的 this 指向 , 但匿名函式的 this 還是指向 window

而箭頭函式是沒有自己的 this 的,它的 this 是沿作用域向上尋找,找到父作用域的 this 當做自己的 this 使用,所以 bar 在 call 的時候,bar 的 this 指向該物件,箭頭函式的 this 也指向該物件

react 生命週期

建立:getdefaultprops

getinitalstate

componentwillmount

render

componentdidmount

更新componentwillreceiveprops

shouldcomponentupdate

componentwillupdate

render

componentdidupdate

componentwillunmount

面試部分

對 spa 單頁面應用的理解

spa 的無重新整理跳轉借助 ajax,瀏覽記錄的前進和後退依靠瀏覽器的 history 機制,借助 hash 推動介面動態載入

spa 的優點:

使用者體驗好,內容的改變只需要區域性載入,不需要載入整個頁面

基於上面一點,對伺服器壓力減小

spa 的缺點:

不利於 seo,因為 html 內容少

初始化載入過程慢

頁面複雜度和邏輯複雜度提高

2023年前端面試相關

目錄 實現三個按鈕進行切換時,修改按鈕樣式 關於 二叉樹中序深度遍歷和回溯演算法 vue中為什麼要使用commit去提交mutation來修改state的狀態 只講解第三個 關於 與 的區別相信大家都很清楚啦,這理解不再贅述,今天我們來看下 的結果。這是樓主碰到過得乙個面試題,恩,華麗麗的答錯了 f...

2023年前端面試題

時間過的也蠻快,今年迎來了第一次面試前端,其實我很緊張,第一次面試,下面是面試題,希望對今年找工作的你有所幫助。1 空間複雜度和時間複雜度 空間複雜度 s n o f n 時間複雜度 1,log2n,n,n 2,n 3,logn 2 2 http協議的狀態碼及其表達的意思 狀態碼 1xx 提示資訊,...

2023年前端面試題總結

首先是問答題 什麼是標籤語義化?使標籤有自己的含義。語義化標籤主要有以下幾點好處 1.在沒有css樣式表時也可以展示出很好的頁面結構。2.有利於seo 搜尋引擎優化 3.方便其他裝置 閱讀器等 按語 析渲染頁面。4.合理的語義化標籤有利於 的維護。在html中,i em標籤的區別?b strong標...