9.8日完美世界前端笔试—B卷

前言

  • 限时1.5h,单选21 * 3分 + 不限选择题9 * 3分(注意少选得1分哦)+ 问答题*2(20 + 10分)
  • 我发现不管笔试难或易,总会有人吐槽“XXX公司是不是不想招人啊”,简单的就说刷不了人,难的就说都被刷了…… 哈哈哈
  • 哎,光做笔试真没劲!我倒要看看哪家先进面

选择题

选择题考得很简单,限于HTML、CSS、JS。大部分是css的问题比如box-sizing的值、 有哪些伪元素、flex:auto的属性简写。

问答题

没有编程,这部分应该算是编程题吧,可以用本地IDE。难道又要人工改卷嘛。

1. 写一个方法,求出路口到A到路口B的最短路径

- 题干就是这样的。就是求图的最短路径嘛,但是没有输入输出,也不知道该怎么写。
/* 
  求图的最短路径。
  题目啥都不给,怎么写呀?  
*/

// 假设已给出图的邻接矩阵,各点A、B、C用数字0、1、2……表示。所以找到0-1的最短路径就可以了

// 测试:
let arr = [[2, 3, 5], [3], [0], [0, 1], [1], [0]];
console.log(minRoad(arr));  // [0,3,1]

function minRoad(arr) {
  let start = arr[0], roads = []
  for(let i = 0; i < start.length; ++i) {
    dfs(start[i], arr, [0])
  }
  return roads.sort((a,b) => a.length - b.length)[0]

  function dfs(next, arr, road) {
    // 这种情况下说明有环或者回头路,此路不通
    if(road.includes(next)) {
      return 
    }
    // 这个说明找到路了
    if(next === 1) {
      roads.push([].concat(road, next))
      return 
    }
    // 如果没有找到,就继续往下
    let nextPoint = arr[next];
    for (let i = 0; i < nextPoint.length; ++i) {
      dfs(nextPoint[i], arr, [].concat(road, next));
    }
  }
}


2. 写一个功能,实现页面动态展示本年的剩余天数——“XX年还剩XX天XX时XX分XX秒”

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h2 id="time"></h2>
  <script>
    /* 
      思路是用下一年的1.1日减去现在的时间的毫秒数,再格式化日期。
      动态变化是用setInterval来实现的
    */
      let div = document.getElementById('time');
      setInterval(() => {
        let date = new Date()
      let now = date.getTime();
      let nextYear = date.getFullYear() + 1;
      let end = new Date(`${nextYear}-01-01`).getTime();
      let last = end - now;
        let show = getDate(date.getFullYear(), last);
        div.innerText = show;
      }, 1000);

      // 格式化时间
      function getDate(year, time) {
        let relsecond = Math.floor((time/1000)%60);
        let minute = ((time/1000)/60);
        let relminute = Math.floor(minute%60);
        let hour = minute/60;
        let relhour = Math.floor(hour%24);
        let relday = Math.floor(hour/24);
        return `${year}年还剩${relday}天${relhour}时${relminute}分${relsecond}秒`
      }
  </script>
</body>
</html>





#完美世界##完美世界笔试##前端工程师#
全部评论
今天刚做的笔试和你发的一模一样
点赞 回复 分享
发布于 2022-10-09 15:34 安徽

相关推荐

不愿透露姓名的神秘牛友
07-11 12:31
以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
社会教会你的第一课
点赞 评论 收藏
分享
程序员小白条:太晚了,看别人找到实习了才投的话,自己本身就没啥准备,计划太晚咯,只能吞苦果子
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 14:00
点赞 评论 收藏
分享
评论
3
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务