• 奇安信2020暑期前端实习笔试总结


    一、投递信息

    1. 投递时间:2020年3月21日
    2. 岗位:web前端开发工程师—暑期实习
    3. 工作地点:成都
    4. 信息来源:校招优选微信公众号
    5. 回复时间:2020年3月26日
    6. 笔试时间:2020年3月28日
    7. 笔试平台:牛客网

    二、笔试题型

    1. 单选题
    2. 多选题
    3. 2道编程题

    三、回忆起来的题或考点

    1.  行内样式的优先级

      • <p class="a b">hello html</p>

      • p{color: blue;}.a{color: red;}.b{color: yellow;}文本显示的颜色?

    2.  二叉树的中序遍历(太久没看题,把先序和中序搞混了,我对不起数据结构的老师)

    3.  TCP拥塞控制(我看了,但是忘了,心痛!)

      学习文章:https://segmentfault.com/a/1190000018360050

    4. 数组、链表、树、哈希表(最高性能)

    5. switc语法问题(这应该是送分的)
    6. ICMPv6(看过,但没记住)
    7. 行内、块级元素(比较简单)
    8. 不属于数组的方法    splice()、join()、reverse()、sort()  
      • 我寻思这都能用呀。想不明白,有大神看到能指点我一下吗
    9. 堆、栈、进程、线程
    10. 正则表达式(这个单选多选都出了)
    11. let

    编程题

     1.小明有n元钱去买口罩,共有6个品牌,A品牌2个装(2元),B品牌3个装(2元),C品牌1个装(3元),D品牌5个装(1元),E品牌3个装(5元),F品牌3个装(2元),每个牌子只能买一次,请问n元小明最多能买多少个?

       当时的想法:这道题很像背包问题,重量=钱;价值=口罩数量。可是我理解的还不是很透彻,使用for循环,一步步遍历下去,只有60%通过,而且浪费了特别多的时间。

       背包问题:https://segmentfault.com/a/1190000012829866

       这里提供学习链接,大家一块钻研,如果我后面写出来成功的,会贴过来。

       

      2.三角形的每条边上有4个圆,在每个圆内写出1-9,使每条边的和相等。按以下的顺序。

       

       当时的想法:做完第一题就只剩下10来分钟,连思路都没,只能硬着头皮敲。但是后面没输出好像也还是0%

        解题思路:

      • 首先判断输入的内容是否违法,(必须是1-9,且不能重复)
      • 1-9的总和为45,设每一边的和为x,三个顶点为a,b,c;3x=45+a+b+c(一个顶点两条边,所以是重复计算的);由此可得a+b+c为三的倍数;
      • 例:三个角分别为1 4 7 || 2 5 8 ||  3 6 9    
        •   1 4边有5 9 
        •   1 7边有3 8
        •   4 7 边有2 6
       let a =  [1,5,9,4,2,6,7,3,8];
        var nums = [1,2,3,4,5,6,7,8,9];
        function permute(nums,a){
          var result =[];
          let b = JSON.parse(JSON.stringify(a)) ;//防止原数组污染
          b.sort((v1,v2)=>v1-v2);//排序
          //进行1对1的判断输入是否合法
          for(let i=0;i<b.length;i++){
            if(b[i]!==nums[i]){
              console.log("非法");
              return false;
              break;
            }
          }
          //三个顶点是否能被三整除
          if((a[0]+a[3]+a[6])%3==0){
            for(i=0;i<a.length;){
              let p = a[i]+a[i+1]+a[i+2]+(a[i+3]?a[i+3]:a[0])
              result.push(p);
              i += 3;
            }//获得三条边的长
            if(result[0]==result[1]&&result[0]==result[2]){
              return true;
            }else{
              return false;
            }
          }
        }
    console.log(permute(nums,a));

    四、总结

      1、选择题很多一知半解,能排除一两个选项,然后靠运气

        2、选择题问的比较多的是基础知识,计算机网络、数据结构、JavaScript、CSS,是自己知识点不够牢固,题做得也不够。接下来就是每天在基础上花时间,将还给老师的补回来。

        3、这两道编程题其实算简单,但是我通过率第一道只有60%,第二道0%其实不应该,第一次用牛客网笔试不熟悉是一方面,还有自己不会把控时间,慌了神。

        4、接下来就是围绕这两方面,进行巩固基础和刷题进行。给定自己最低目标每天刷一道题。我会把每次笔试或者面试进行总结,慢慢进步吧!!!

     

  • 相关阅读:
    PCI总线原理(二)
    smbus协议
    PCI总线原理(一)
    计算机术语中关于 Assert 和Deassert 词汇意思
    用安全存储器实现FPGA的身份识别及防拷贝
    主板结构
    qt 雅黑字体
    PCIExpress总线简介
    PHY管理接口(MDIO)
    PCI总线原理(三)
  • 原文地址:https://www.cnblogs.com/jfen625/p/12591784.html
Copyright © 2020-2023  润新知