首页 > 百度二面
头像
小米程序猿
编辑于 2021-04-21 09:24
+ 关注

百度二面

//就这些了呜呜呜
最后一题是个什么,答得也不好。

Function.prototype.mybind = function(context){
if(typeof this !== 'function'){
throw new TypeError('Error')
}
let _this = this
let arg = [...arguments].slice(1)
return function f(){
if(this instanceof f){
return new _this(...arg,...arguments)
}

else{
return _this.apply(context,arg.concat(...arguments))
}
}


const id = '120106198810200518'

function getAge(id) {
var length = id.length;
if(!id){
return 0
}

else{
if(length != 18){
return 0
}

var year = '',month='',day=''
if(length == 18){
year = id.substr(6,4)
month = id.substr(10,2)
day = id.substr(12,2)

var date = Date.now()
var curYear = date.getFullYear()
var curMonth = date.getMonth()+1
var curDay = date.getDay()
var age = Number(curYear)-Number(year)
if(curMonth<month || (curMonth == month && day <curDay){
age --

}

return age

}

}


// 返回年龄
}



//评测题目: 3-日志上报
/*
现在有一个基于 http 的前端日志采集系统,为了优化性能,我们需要把较密集的单次上报日志的行为,
改成合并掉 100ms 时间窗口内的单次上报为批量上报。

假设现有的单次上报的函数如下,请改写此函数的实现,不能使用任何库:
const uploadLog = (logStr) => {
fetch('https://log.xxx.com', {
method: 'POST',
body: JSON.stringify([logStr])
});
}


注意:
1.没有日志上报调用时,不发生 http 请求。
2.无论日志上报调用有多频繁,http 请求间隔"不小于" 100ms

*/
var str = '1';
function delay(delay){
let pre =   Date.now()
let arr=[]
return function(str){
let now = Date.now() // 10

arr=[str,...arr]
if(now - pre >= delay){
upload(arr)
pre = now) // 12
arr =[]
}
}
}
// delay(string,delay)
// delay(string1,delay)
let fn = delay(100)
setInterval(()=>{
str += '231'
fn(str)
}  , 10)





















更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐