Seasons123 / blog-FE

web前端相关issue is my blog :lollipop:
2 stars 0 forks source link

2018Baidu fe #74

Closed Seasons123 closed 6 years ago

Seasons123 commented 6 years ago

1.系统设计题:实现一个完整的promise,封装成组件,提供API,并给出demo 2.问答题:jsonp和cors 跨域时,服务器端能否解析到cookie 3.编程题(一共两个,时间来不及,只做了一个): (1)web前端js实现倒计时效果 (2)2018xiecheng:对输入的数组元素(包括数字和字母)进行去重后输出 这个js是好做的,不过赛码上js运行在Google V8 引擎,有专门的语法,就只好选择用java了 4.选择: 最后5个是linux的 堆排序,问一个序列进行堆排序后某个元素的移动次数 冒泡排序最坏情况下的比较次数 希尔排序、冒泡排序、堆排序、插入排序,哪一个排序的平均速度最快 构造哈弗曼树进行哈弗曼编码

Seasons123 commented 6 years ago

web前端js实现倒计时效果。在js里面要求有两个函数:render(date),second(second)。其中要求second函数输入值是需要倒计时的时间date,返回值是json格式的天、时、分、秒.。 额外要求:不足两位的前面补零。当倒计时达到0时隐藏整个div

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    .hide{
        display: none;
    }
</style>
<script>
  var overDate =1.004 ;//设置要倒计时的tian
  EndTimeMsg = overDate * 60 *60 * 24*60;
  function second(EndTimeMsg) {
      d = Math.floor(EndTimeMsg /60 / 60 /60/ 24);
      h = Math.floor((EndTimeMsg-d* 60 * 60 *24*60)/ 60 / 60);
      m = Math.floor((EndTimeMsg -d* 60 * 60 *24*60- h * 60 * 60) / 60);
      s = Math.floor((EndTimeMsg -d* 60 * 60 *24*60- h * 60 * 60 - m * 60));

      t = {"day":d,
          "hour":h,
          "min":m,
          "second":s
      };
      return t;
    }

    function render() {
        second(EndTimeMsg);

        var jsCountdown= document.getElementById('jsCountdown');
        jsCountdown.childNodes.item(1).innerHTML = t.day;
        jsCountdown.childNodes.item(3).innerHTML = t.hour;
        jsCountdown.childNodes.item(5).innerHTML= t.min;
        jsCountdown.childNodes.item(7).innerHTML= t.second;
        EndTimeMsg--;

    }

    setInterval("render()", 1000);

</script>
<body>
<div id="jsCountdown">
    <span>01天</span>
    <span>02:</span>
    <span>03:</span>
    <span>04</span>
</div>
</body>
</html>

这个还没来得及实现额外要求。当时这个题又犯了一个低级错误: t = {"day":d, "hour":h, "min":m, "second":s }; 这个地方传值的时候竟然都传成了d。。