当前位置: 首页 > 面试经验 >

4399 8.18日前端笔试

优质
小牛编辑
82浏览
2023-03-28

4399 8.18日前端笔试

前言:

  1. 4399的前端笔试挺简单的,题目也比较中规中矩,本次考察了“计算机网络、JS、dom”等知识
  2. 题型是“单选X10 + 简答X3 + 编程题X3 + 论述题X4”
  3. 4399用的是自己的考试系统,开考前系统崩了一下,很快就好了。他的编程题不能用本地IDE,前端的没必要用,我估计其他的也一样,因为它都没有通过率的概念,直接说“本系统不支持核心代码模式,但若是题目要求用核心代码模式,就写上好了,不用运行……”。

单选 + 简答:

  1. 这一块考察了有“网络协议的三要素、CSS盒子模型、hash路由和history的区别、还有大量的JS的作用域、原型链、异步编程”
  2. 简答就是写出代码的运行结果,并分析原因
  3. 举个例子:下面代码依次输出:"undefined、1、3"。函数作用域中,定义了变量a,因为变量提升,而赋值不会提升,所以第一次输出undefined;a = 2 时局部的a变为2了;window.a还是全局的a即输出1;再往下执行“a = 3”,a值为3了,所以输出3
    var a = 1;
        (function(){
          console.log(a);
          a = 2;
          console.log(window.a);
          var a = 3;
          console.log(a);
        })()
我之前对这类题目很不感冒,谁会把代码写成这样呢?这样写在实践中真的有啥好处嘛?但是这类题目的价值应该在:
  1. 通过练习加强对JS概念的理解,光是概念上说“变量提升、原型链”,不举个实际的例子就很难掌握
  2. 通过这些奇怪的写法,告诉JS我们可能有的坑,从而督促一部分人不要这样写;要是真有人这样写了要能读懂
  3. 有些当下我觉得没价值的东西,是因为我还没遇到对应的场景。举个例子,我学了Object.defineProperty()以后在实际开发中很少会用到,很快就忘记了。但是当我去了解Vue的响应式原理的时候,就派上用场了。所以,vue源码是很好的学习JS的工具;也不要贸然觉得一个知识点没有价值;为所学的东西寻找应用场景,不然很容易忘记。

编程题:

前端这个考察难度很低,我看后端考察得还正常一点。
  1. 实现功能:将input里输入的整数实时修改成千分位的形式如 1000 变为 1,000。(思路:获取dom,监听输入事件,将值改为千分位,再赋值为value
    // 验证可行    
    <input id="input" type="text">
      <script>
         let inp = document.getElementById('input')
         inp.addEventListener('input', change)
         function change(e) {
          let num = inp.value;
          let res = num.replace(/\,/g,'').split('');
          // 给数字添加逗号
          let arr = [], index = 3;
          for(let i = res.length - 1; i >= 0; i--) {
            arr.unshift(res[i]);
            index--;
            if(index === 0 && i > 0) {
              arr.unshift(',')
              index = 3
            }
          }
          inp.value = arr.join('')
        }

  2. 找出两个数组中的所有相同的元素
  3. 找出字符串中第一个不重复的字符的下标

论述题:

还是很有生活的,就说一个吧。“你有很重要的事情要跟你的领导汇报,但他事情太多了,你要怎么办呢?”   我看QQ群里有个人说:“让领导加班来听我汇报”,哈哈。
#4399笔试##前端##你的秋招进展怎么样了#
 类似资料: