京東一面記錄
公司: 京東(北京)
一面時(shí)間:2022-2-14 下午2:30-4:30
時(shí)長(zhǎng):1hour左右
你了解的js的數(shù)組的方法,聊一聊?
- forEach
- map
- filter
- reduce
- indexOf
- include
- includes
- find
- findIndex
- pop
- push
- shift
- unshift
- splice
- slice
- every
- some
- isArray
- concat
- from
- reverse
- sort
splice方法的參數(shù)解釋一下?
點(diǎn)擊ul中的li時(shí)如何獲取到這個(gè)li,然后彈出li里面的內(nèi)容?
event.target 和 event.currentTarget 的區(qū)別?
event.currentTarget 獲取到的是發(fā)起事件的標(biāo)簽元素
event.target 獲取的是觸發(fā)事件的標(biāo)簽元素
遍歷children直接給children綁定事件有什么不好的地方?
代碼輸出結(jié)果?原因?
var a = 10
function b() {
a = 100
}
b()
console.log(a)
代碼輸出結(jié)果?原因?
var a = 10
function b() {
var a = 100
return
function a() {}
}
b()
console.log(a)
var和let的區(qū)別?
什么是塊級(jí)作用域?
大括號(hào)包裹的就是塊級(jí)作用域
代碼輸出結(jié)果?原因?
const name = 'name'
const obj = {
name: 'obj',
a: () => {
console.log(this.name)
}
}
obj.a.call(name)
箭頭函數(shù)是干嘛的?
代碼輸出結(jié)果?原因?
let arr = []
for(let i = 0; i < 10; i++) {
arr.push((finish) => {
console.log(i)
return function() {
finish()
}
})
}
const func = arr.reduce((pre, cur) => cur(pre))
func()
什么是程序(用計(jì)算機(jī)的術(shù)語(yǔ)回答)?
程序是指令集合
代碼輸出結(jié)果?原因?
const obj = {
a: '1'
}
obj.a??obj.a
代碼輸出結(jié)果?原因?
console.log(2.1 << 1)
數(shù)字轉(zhuǎn)千分制字符串
function format_with_regex(number) {
//write code
}
//方法一
const format_with_regex = (number) => {
let str = number + '', res = ''
for(let i = 0; i < str.length; i++) {
res += str[i]
if((str.length - i - 1) % 3 === 0 && (str.length - 1) !== i) {
res += ','
}
}
return res
}
//方法二:正則表達(dá)式
const format_with_regex = (number) => {
let num = String(number)
return !num.includes('.')
?
num.replace(/\d{1,3}(?=(\d{3})+$)/g, (match) => match + ',')
:
num.replace(/\d{1,3}(?=(\d{3})+(\.))/g, (match) => match + ',')
}
useMemo和useCallBack的區(qū)別?
在哪些地方會(huì)寫hook?寫hook的規(guī)范?在任何地方都能使用hook嗎?
自定義hook(用use開頭),函數(shù)組件hook
正向代理和反向代理?
- 正向代理:客戶端部署代理服務(wù)器,客戶端發(fā)送請(qǐng)求給代理服務(wù)器,代理服務(wù)器發(fā)送給目標(biāo)服務(wù)器,目標(biāo)服務(wù)器返回給代理服務(wù)器,代理服務(wù)器轉(zhuǎn)發(fā)給客戶端。(服務(wù)端并不清楚誰(shuí)發(fā)給了我)
- 反向代理:服務(wù)端部署代理服務(wù)器,代理服務(wù)器負(fù)責(zé)接收請(qǐng)求和相應(yīng)業(yè)務(wù)。(客戶端不清楚發(fā)給了誰(shuí))
什么是跨域?
端口,協(xié)議,域名不同就是跨域
如何解決跨域?
- cros
- jsonp
jsonp如何獲取到后端的數(shù)據(jù)的?
一面的問題比較基礎(chǔ),準(zhǔn)備二面了,面試官不糾結(jié)你是否答對(duì),而是看你思維的思考過程是怎么樣,答錯(cuò)了也沒關(guān)系,但是要把思考說出來