年底好多小夥伴找新工作,為了面試可謂是殫精竭慮啊,但還是免不了被面試官說的一臉懵逼。哈哈哈... 今天總結點經典面試題目,有些是es6,有些是es5。
不要吐槽我 -.-
1.記憶化斐波那契函式(memoization)q1:陣列 [1, 1, 2, 3, 5, 8, 13, ....]
請你完成 fibonacci 函式,接受 n 作為引數,可以獲取數列中第 n 個數.
a1:
const fibonacci = ((memo = [0, 1]) =>
return result
} return fib
})()
2.解析字串q2:完成乙個 extractstr 函式,可以把乙個字串中所有的 : 到 . 的子串解析出來並且存放到乙個陣列當中
a2:
const extractstr = (str) =>
3.safegetq3:請你完成乙個 safeget 函式,可以安全的獲取無限多層次的資料,一旦資料不存在不會報錯,會返回 undefined
a3:
const safeget = (o, path) => catch (e)
}
4.判斷兩個矩形是否重疊q4:請你完成乙個函式 isoverlap 可以接受兩個矩形作為引數,判斷這兩個矩形在頁面上是否重疊
a4:
// 原理:
const isoverlap = (rect1, rect2) =>
const r1 =
const l2 =
const r2 =
if (
l1.x > r2.x ||
l2.x > r1.x ||
l1.y > r2.y ||
l2.y > r1.y
) return
false
return
true
}
5.spacifyq5:請你給字串都新增上原型方法 spacify,可以讓乙個字串的每個字母都多出乙個空格的間隔
a5:
string.prototype.spacify = function
()
6.按下標插入q6:有兩個陣列,arr1=['item1', 'item2', 'item3', 'item4', 'item5'],arr2 = [,]
請你完成 injectsections 函式,最後結果是:['section1', 'item1', 'item2', 'section2', 'item3', 'item4', 'item5']
a6:
//研究了好一段時間 - -
const injectsections = (items, sections) => ) => [index, content]))
/* 新建乙個陣列,然後往裡面 push 原來陣列的資料 */
return items.reduce((ret, item, index) => , )
}
一些經典的面試題
1 sizeof和strlen有哪些區別?1.sizeof操作符的結果型別是size t,它在標頭檔案中typedef為unsigned int型別。該型別保證能容納實現所建立的最大物件的位元組大小。2.sizeof是算符,strlen是函式。3.sizeof可以用型別做引數,strlen只能用ch...
Oracle的一些經典SQL面試題
例項1 測試資料 create table nba team varchar2 20 year number 4 sql select from nba team year 活塞 1990 公牛 1991 公牛 1992 公牛 1993 火箭 1994 火箭 1995 公牛 1996 公牛 1997...
一些面試題
q 您在什麼情況下會用到虛方法?它與介面有什麼不同?a 當在繼承類中想重寫某一方法時會用到虛方法 虛方法是類的成員函式,介面相當於抽象類.q override與過載有什麼區別?a override 就是覆蓋的意思,覆蓋父類的同名方法,而過載則是通過參數列來呼叫方法.q 值型別與引用型別有什麼區別?a...