題解 前端面試題分析之美團

2021-10-11 09:29:39 字數 1572 閱讀 6708

簡答題

1. 問:以下變數i,s,a在堆上還是棧中?最後執行a.i的值是多少?

class a 

static void test()

}

2. 請按順序寫出列印結果,並說明原因。
var name = 'global';

var obj = .bind(window)

};var bar = new obj.foo();

settimeout(function() , 0);

console.log(bar.name);

var bar3 = bar2 = bar;

bar2.name = 'foo2';

console.log(bar3.name);

3. 問:請寫出如下**執行後產生的結果,並給出解釋,說明結果是如何得出的。
settimeout(() => console.log('a'));

promise.resolve().then(

() => console.log('b』);

).then(

() => promise.resolve('c').then(

(data) =>

)).then(data => console.log(data));

4.請寫出下面es6**編譯後所生成的es5**
class person 

greet () `);

}greetdelay (time) `);

}, time);

}}

5.形如1, 1, 2, 3, 5, 8, 13, 21, 34, 55的數列,後一位是前面兩位相加(斐波那契數列),寫出函式要求找到第 n 位是多少,如:fib(3) => 3 , fib(5) => 8, 要求時間複雜度為o(n)
if(n == 0 || n == 1) cout << 1 << endl;

else

cout << b << endl;

fib(0)=fib(1)=1;後面的數就是前兩個數相加之和,相當於b是輸入值的輸出,而通過交換可以讓a的值變化為第n-1給結果來進行輸出;還有乙個關鍵點就是要給這兩個變數什麼型別,會不會存在放不下溢位問題。

6.**實現金錢轉換,假設現有100元的商品,而代金券有50元、30元、20元、5元四種,則最佳優惠是兩張50元面額的代金券;而如果現有65元的商品,則最佳優惠是兩張30元代金券以及一張5元代金券。for(int p=0;pcoins[q+1])}}

int *f=new int[cash+1];

for(int i=0;i<=cash;++i)

f[0]=0;

for(int j=0;j<=cash;++j)

}for(int i=m-1;i>=0;i--){

for(int j=n-1;j>=0;j--){

if(i+1這個題考察的是二維陣列,首先是要先把給的陣列存到二維陣列中,然後沒走一步都要進行判斷,向下向右那個值小,走值小的那個部分(但還是要進行預先判斷),每走一步就把所走的路程存到陣列中,然後通過對陣列的內容相加來顯示輸出最短距離。

前端面試題

sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...

前端面試題

行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...

前端面試題

朋友碰到的筆試題,在此記錄一下,並且記下碰到的有難點但是自己沒注意的到的面試題!function isnumber x else sum 2,3 5 sum 2 3 5 請寫出sum函式的具體實現。function sum a,c return a c 該題考查的是乙個以前沒接觸過的東西,叫做柯里化...