美文网首页
前端笔试填空题 | 学习笔记

前端笔试填空题 | 学习笔记

作者: 秦小猫 | 来源:发表于2020-03-28 02:42 被阅读0次

    明天早上快手前端笔试,我前段基本等于0.3入门,所以算是白给了。

    上网查了一下已有的题库,写一下学习的零碎知识点吧。

    第一题:斜杠记法

    有关斜杠记法呢,我理解就是对应的二进制有几个1.

    255.255.240.0中,255代表11111111,8个1,前两个255有16个1.后面的240可以用255-240算,15= 8(千位)+4(百位)+2(十位)+1(个位)。所以240对应二进制位11110000.

    0不算,所以总共加起来是16+4 = 20,选B

    更多有关子网掩码:

    子网掩码是用来决定一个IP的网络号和主机号的。当用斜杠法表示时,/20,代表前20位都是网络号,后12位是主机号。

    https://www.zhihu.com/question/56895036


    第二题:jvm类加载器优先级

    查这个的时候顺便搞懂了,多年不懂的JDK(java development kit),开发套装。。。JRE(java runtime environment),运行环境。下载好的JDK里有一个jre文件夹,里面有bin和lib两个文件夹,jvm姑且在bin里,运行过程中会调用lib里的库,这两个合起来就是JRE。JVM(java virtual machine),用以运行以java写的程序。

    而JVM的类加载子系统,在它运行时首次引用一个类时,会经过加载,链接和初始化这三个过程。

    启动类加载器 (BootStrap class Loader)、扩展类加载器(Extension class Loader)和应用程序类加载器(Application class Loader) 这三种类加载器帮助完成类的加载。

    1. 启动类加载器 – 负责从启动类路径中加载类,无非就是rt.jar。这个加载器会被赋予最高优先级。

    2. 扩展类加载器 – 负责加载ext 目录(jre\lib)内的类.

    3. 应用程序类加载器 – 负责加载应用程序级别类路径,涉及到路径的环境变量等etc.上述的类加载器会遵循委托层次算法(Delegation Hierarchy Algorithm)加载类文件,这个在后面进行讲解。

    https://www.jianshu.com/p/52c38cf2e3d4

    ▷寻找jre目录,寻找jvm.dll,并初始化JVM.

    ▷产生一个Bootstrap ClassLoader;Bootstrap ClassLoader加载器会加载他指定路径下的java核心api,并且生成Extended ClassLoader加载器的实例,然后Extended ClassLoader会加载指定路径下的扩展java api,并将其父设置为Bootstrap ClassLoader。

    ▷Bootstrap ClassLoader生成Application ClassLoader,并将其父Loader设置为Extended ClassLoader。

    ▷最后由AppClass ClassLoader加载classpath目录下定义的类——HelloWorld类。

    以上可以看出该题答案为A,bootstrap加载器最高优先级,之后生成extension加载器,再生成app加载器,最后是user自定义的加载器。


    第三题:二叉树数据结构

    这个数据结构我还没复习到。。。先放在这里,之后再填坑。不过看起来挺简单的?


    第四题:网络协议

    A:常见http状态码

    1XX:通知,信息

        101

    2XX:成功

        200(ok)

    3XX:重定向,需要进一步操作来完成请求

        301( Moved Permanently)资源被永久转移到其他URL

        302(Moved Temporarily)资源被暂时转移到其他URL

    4XX:客户端错误

        400(Bad Request)错误请求,服务器不理解请求的语法

        401(Unauthorized)未授权

        404(Not Found)请求的资源不存在

        409(Conflict)当客户端试图执行一个,会导致资源处于不一致状态的操作时

        410(Gone)曾经资源存在,现在不存在了

    5XX:服务端错误

        500(Internal Server Error)内部服务器错误

        503(Service Unavailable)服务器超时


    笔试归来的我,发现全是算法题,共4道,跟前端基础知识一点边都不沾。

    第一道,输入一组数组,然后输出另一组数组。判断当前数的前面有没有比它大的值,如果有,则该位置输出最靠近它的那个值距它有多少位,如果没有,则输出0。如,[155,160,190,185,177,188],则输出[0,0,0,1,1,3]。(因为前三个数的前面都没有比它大的值,185前面有190,距离它1位,则输出1.而177前面有185,输出1.最后比188大的最近值是190,距离3,则输出3.)

    第二道,判断一组数组中,前n个数中,是否只有一个数大于它。(相同数都视为一个。比如,[1,2,4,4,4,3],对与array[5]成立。因为只有4比它大)。如果成立,输出一个数组表示所有符合条件的数在数组中的位置。如果不成立,输出null。要求:时间复杂度小于等于O(n)

    第三道,筛选手机靓号和排序。靓号定义:1.连续三个以上的相同数,如666 或者 2.连续三个以上的顺序数,如123。大小定义:1.位数越多大于位数越小。2.位数相同时,相同数大于顺序数。3,同时拥有相同数和顺序数时,取一个其中的优先值,如含有444567,则取4567.最后,4,同级之间大小没有区别,如555,666。所以要求稳定排序

    第四道,一个电路板m*n大小,每个单元里有能量储存(二维数组)。现在要把已有的几个元件放入电路板中,元件大小x*y。放入元件的条件为:1,大小合适。2,放入x*y的每个单元里能量相同。如果不同,需要进行释放能量操作。所有释放的能量加起来为该元件的损耗成本。求,损耗成本最小的放置方案。(输出放置每个元件的左上角坐标和损耗成本)

    如,一个4*5的电路板,里面能量如下图,要放置2块2*3的元件,它的最佳方案为(1,3),16和(3,2),10。因为第一块需要把能量都释放为2.则5+7+2+2=16.第二块需要把能量都释放为5,则2+3+5+1=10.

    相关文章

      网友评论

          本文标题:前端笔试填空题 | 学习笔记

          本文链接:https://www.haomeiwen.com/subject/rgkmyhtx.html