精华内容
下载资源
问答
  • 前端笔试
    2022-05-06 15:29:14
    1. 这次参与字节的笔试感觉字节毫无准备,也不知怎么准备,总体而言,自我感觉好糟,单选和不定项都不太懂,因为还没背八股文,另外两道编程题,还好这两道没有要求规定只能使用某种语言。所以我最终都是用C++解决的,对于C++较熟悉,本来打算用JS进行实现,但是发现不会用ACM模式,虽然有实例可以参考,但是对于输入也不太懂,所以接下来还是得刷一下如何在ACM模式下运行JS。ACM模式下JS有两种模式,不同模式对于输入和输出都是不太一样的。
    2. 下面是我对此次字节前端笔试的一点记录,可以回忆一下自己哪些不会,以及预防在面试过程中会再次问到相关知识(虽然不知到能否通过笔试www)。
    3. 此次的笔试一共分三种题型:单选(10道),不定项选(5道),编程题(2道)
    4. 单选(下面只是记住了题目的大概)
      (1)http和https的相关
      (2)POST和GET有关
      (3)visibility:hidden和display:none的有关
      (4)下列中自结束标签的是
      (5)下面中结果为false的是:
      		A. []==0;
            B. ''==0;
            C. 'true'==new function(){
                return new String('true');
            }
            D. 'true'==new function(){return String('false');}
    

    (6)下面哪些选项的排序算法具有稳定性(选项是什么就不记得了)
    这里写一下哪些排序算法是稳定哪些是不稳定的:
    稳定算法:冒泡排序、插入排序、归并排序、基数排序
    不稳定算法 :选择排序、快速排序、希尔排序、堆排序

    因为先做单选和不定项选择最后才做编程题,而且只有该题型提交后才可以选择其他题型,所有最后做完两道编程题后前面的基本不太记得了。
    编程题:(两道编程题都比较简单)
    第一道:打怪兽有关的
    大概意思就是用户击杀一次怪兽可以获得增益buff,增益持续时间为duration,如果还没到达增益时间结束时间时又再一次击杀怪兽时,则duration清除,进行重新保存这次获取到的增益buff所能持续的时间,最终需要求得的是buff能持续的总时间,其中timeSeries[]用于存储用户在第几秒击杀怪兽,duration[]用于存储击杀后buff对应能持续的时间
    输入要求:第一行输入N,表示timeSerie[]和duration[]数组的长度,两者长度是一样的;
    第二行输入N个数字,每个数据用空格分隔,表示用户第几秒击杀怪兽(已根据先后顺序排好了)
    第三行输入N个数字,每个数据用空行分隔,表示每次击杀后对应的增益buff能持续的时间
    测试用例:

    输入用例:
    2
    2 4
    3 4
    结果输出:
    6	// 第2秒到第4秒一共两秒,虽然第2秒产生的增益可以持续3秒,但是第4秒击杀后则会重新按照新的增益持续时间进行计算,所以 6 = 2+4
    
    测试用例2:
    输入:
    3
    1 3 6
    2 2 3
    输出:
    7
    

    第二道:有效集合
    有效集合指的是一组整型数据中存在任意一个数是其他数据的前缀。
    大概意思就是第一行输入整数N,表示测试示例的组数
    接着循环输入N组数据,每组数据第一行输入T表示该组数据用例包括多少个整数,随后T行表示T个整数
    要求是判断每组数据是否为有效集合
    有效集合则输入YES,否则为无效,输入NO
    测试例子:(下面例子是自己想的)

    测试用例输入:
    3
    4
    1223
    234564
    34567987654
    122345678765
    2
    12
    1222234
    1
    34
    结果输出:
    "YES"//因为1223是12345678765的前缀
    "NO"
    "NO"
    
    更多相关内容
  • 前端笔试题整理(附答案)2021 pdf.pdf
  • web前端笔试试题(答案).pdf
  • 2021年前端笔试题-面试真题及答案.pdf
  • 2022前端笔试题 - javascript.pdf
  • 2021前端笔试-历年真题及答案.pdf
  • 前端笔试试题.docx
  • 深圳市天地同舟科技有限责任公司--前端笔试题 新.docx
  • web前端笔试题(含答案).doc
  • 前端笔试题2022V2(1).md

    2022-06-27 13:24:22
    前端笔试题2022V2(1).md
  • 京东2019校园招聘 前端笔试题.pdf
  • 前端笔试题分享 前端面试pdf.pdf
  • 前端笔试

    千次阅读 2022-04-19 23:52:58
    最近在面试,碰到一些有意思的笔试题,将它记录下来分享给大家也在面试前端的小伙伴们。 1. for(var i=0;i<3;i++){ setTimeout(()=>console.log(i),1); } 输出:3 这道题主要考察的是 setTimeout函数的用法...

    最近在面试,碰到一些有意思的笔试题,将它记录下来分享给大家也在面试前端的小伙伴们。
    1.

    for(var i=0;i<3;i++){
        setTimeout(()=>console.log(i),1);
    }
    

    输出:3 3 3
    在这里插入图片描述
    这道题主要考察的是 setTimeout函数的用法,setTimeout只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即结束。

    2.看下列代码,输出什么?解释原因。

    var a=new Object();
    a.value=1;
    b=a;
    b.value=2;
    alert(a.value)
    

    输出2,因为变量b和a指向同一个对象的引用。这道题是考察的浅拷贝,b和a指向的同一块内存。

    3.用js递归的方式写1到100的求和?

    function Add(num,start){
       num+=start
       start++
       if(start>100){
         console.log(num)
         return num;
       }else{
        Add(num,start)
     }
    }
    Add(0,1)
    
    展开全文
  • 小米前端笔试

    2022-07-24 23:19:34
    小米前端笔试

    1.

    <!DOCTYPE>位于html文件的第一行,在HTML标签之前,他不是HTML标签,且没有结束标签,同时对大小写不敏感

    2. 

     shift( )是从头部删除元素

    unshift()是从头部添加元素 ,可以传入数组形式

    3.

     关于window.location

     注意区分host和hostname  ,前者包括主机域名和端口号,后者仅仅包括主机名

    4.相对定位和绝对定位的区别

    绝对定位absolute是相对于最近的已定位的祖先元素,绝对定位的元素脱离文档流,因此不占有位置(如果没有最近的定位祖先元素,则是相对于body)

    相对定位relative是相对于它在文档中的初始位置(即不设置position时的位置),然后通过设置垂直或水平偏移,让这个元素“相对于”它的原始起点进行移动

    固定定位fixed脱离了标准流,不占有位置,并且始终相对于body

    有一点要注意, 在使用相对定位时,就算元素被偏移了,它仍然占据着它没偏移前的空间。

    另外,

    当元素设置position: absolute、float: left、float: right中任意一个时,都会让元素以display: inline-block的方式显示(特点是:可以设置宽高,默认宽度不占满父元素)。这时,即使故意设置display: inline、display: block都是无效的。

    position: relative不会隐式改变display的类型。

     

    5.

    for循环里的push只是把4个一摸一样的function先存储到数组callbacks里

    另外,var i在循环后仍然存在

    当循环完成后,i=4,遍历calback里的函数,会打印4个4

    6.

     

    7. 

     宏任务和微任务

    宏任务:setTimeOut、setInterval、DOM事件、AJAX请求

    微任务:Promise、async/await

    执行顺序:同步 > 微任务 > DOM渲染 > 宏任务

    console.log(1);   ///同步
    
    setTimeout(() => {
        console.log(2, 'setTimeOut');    ///宏任务
    }, 0)
    
    Promise.resolve().then(() => {
        console.log(3, 'Promise');   ///微任务
    })
    
    console.log(4);   ///同步

    结果:

     

    8.

    ①src标签的内容是可以跨域的

    ②asyn、await、Promise

    ③async和await是Promise的语法糖,await可以让异步操作以同步的方式执行

    ④script标签的async属性可以异步加载,避免等待。

    标记为 async 的脚本并不保证按照指定它们的先后顺序执行

    //标记为 async 的脚本并不保证按照指定它们的先后顺序执行
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>script 标签</title>
      <script async type="text/javascript" src="./js/01.js"></script>
      <script async type="text/javascript" src="./js/02.js"></script>
    </head>
    
    <body>
      <!-- content -->
    </body>
    
    </html>

    在以上代码中,可能由于 01.js 下载时间比较长,由于两个 <script> 标签都是异步执行,互不干扰,因此 02.js 可能就会先于 01.js 执行。因此,确保两者之间互不依赖非常重要。指定 async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改 DOM

             

    展开全文
  • 2021年前端笔试题汇总 PDF.pdf
  • 2022前端笔试面试题

    千次阅读 2022-04-06 14:43:23
    还有很多 参考博客:前端异步(async)解决方案(所有方案)_前端纸飞机的博客-CSDN博客_async 6.讲讲你知道的设计模式 (吐槽:后来学了Java才知道面试官问的是啥) 知识点: 1. 什么是设计模式? Design pattern,是...

    目录

    以下为笔试题部分:

    1.CSS盒子模型的构成是__,__,__,__.

    2.二叉树的中序遍历顺序是badce,后续遍历顺序是bdeca,问前序遍历的顺序。

    3.flex布局的父级元素中有哪些常用属性。

    4.box-sizing:____;表示怪异盒模型(IE盒模型)

    5.js中的原始数据类型有哪些?

    6.一道关于辨析var和let和const的选择题:

    7. slice和splice区别:

    8.css选择器优先级

    9.原型链最终指向NULL。

    10.浏览器触发回流时,一定会触发重绘;但重绘不一定触发回流。

    11. visibility:hidden 和 display:none区别

    12. 哪些是html中的行内元素:dl p link span select

    13. 哪些是Html中语义化标签: footer strong section aside.

    14.箭头函数和普通函数的区别。

    15.清除浮动的几种方式

    16.盒子模型为什么会发生外边距塌陷

     以下为字节跳动二面部分:

    1. HTTP1.0和HTTP1.1的区别

    2.什么是七层网络模型,具体有哪些层

    3.讲讲DNS域名解析流程

    4.域名服务器层级结构,根域名服务器有几个,顶级域名服务器的域名有哪些

    7. 题目一道:将扁平数据机构转json树

    8.小程序和Html5的区别

    9.从输入Url到访问到页面的具体流程

    以下为笔试题部分:

    1.CSS盒子模型的构成是__,__,__,__.

    答:margin border padding content

    2.二叉树的中序遍历顺序是badce,后续遍历顺序是bdeca,问前序遍历的顺序。

    答:abcde

    知识点:二叉树前序遍历顺序:当前->左节点->右节点;中序遍历顺序:左节点->当前->右节点;

    后序遍历顺序:左节点->右节点->当前;

    3.flex布局的父级元素中有哪些常用属性。

    答:

    flex-direction: 设置主轴的方向

    justify-content: 设置主轴上的子元素对齐方式

    flex-wrap: 设置子元素是否换行

    align-content: 设置侧轴上的子元素的排列方式(多行)

    align-items:  设置侧轴上的子元素排列方式 (单行)

    flex-flow: 复合属性, 相当于同时设置了 flex-direction 和 flex-wrap
     

    4.box-sizing:____;表示怪异盒模型(IE盒模型)

    答:border-box。

    知识点:

    当设置为box-sizing:content-box时,将采用标准模式解析计算,也是默认模式;在标准模式下(W3C标准),一个块的总宽度= width + margin(左右) + padding(左右) + border(左右)

    当设置为box-sizing:border-box时,将采用怪异模式解析计算;在怪异模式下( IE标准),一个块的总宽度= width + margin(左右)(即width已经包含了padding和border值)

    5.js中的原始数据类型有哪些?

    答:Undefined,Null,Boolean,Number、String。

    知识点:

    js中的数据类型分为:

    原始数据类型(基础数据类型): Undefined,Null,Boolean,Number、String

    和引用数据类型:对象、数组、函数。

    其中,原始数据类型存储在栈中,引用存储在堆中;

    原始数据类型按值传递数据,数据是不可变的(immutable),只有对象是可变的(mutable). 有时我们会尝试“改变”字符串的内容,但在JS中,任何看似对string值的"修改"操作,实际都是创建新的string值。任何方法都无法改变一个基本类型的值。而引用类型是按照引用传递数据的。

    6.一道关于辨析var和let和const的选择题:

    A let和const有块级作用域,var没有。

    B var存在变量提升,其他没有。

    C var是全局变量,其他不是。

    D let和const存在暂存死区,var没有。

    答:A对,B对,C var不一定定义全局变量,D对

    知识点:

    1.块级作用域:一对{},变量在离开定义的块级代码后立即被回收。

    2.var声明的变量可以重复声明,没有块的概念,可以跨块访问,不能跨函数访问,当出现相同的变量名时,后者会覆盖前者。let,const有块级作用域,并且不可重复声明

    3. let和const 定义的变量,只能在块作用域中访问,不能跨函数访问,不允许重复声明

    4.let 和 var 的不同是,在变量声明之前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined
    5. var有变量提升,let和const声明的变量没有变量提升

    7. slice和splice区别:

    slice不会更改原数组,splice会。

    8.css选择器优先级

    !important > 行内样式 > ID选择器 > 类选择器 > 元素 > 通配符* > 继承 > 浏览器默认属性

    9.原型链最终指向NULL。

    对。

    10.浏览器触发回流时,一定会触发重绘;但重绘不一定触发回流。

    对。

    知识点:

    什么是重绘和回流以及如何避免回流_windy-boy的博客-CSDN博客_重绘回流

    1.重绘: 当页面中元素样式的改变并不影响它在文档流中的位置时,也就是说布局没有发生改变时(比如只是改变元素的颜色)。
    2.回流:当渲染树(Render Tree)中的部分(或全部)元素的尺寸、结构、显示隐藏等发生改变时,浏览器重新渲染的过程称为回流。 简而言之,任何会改变元素几何信息(元素的位置和尺寸大小)的操作,都会触发回流。 回流是影响浏览器性能的关键因素。
    比如:
    (1)添加或者删除可见的 DOM 元素(不可见元素不会触发回流);
    (2)元素尺寸或位置发生改变
    (3)元素内容变化,比如文字数量或图片大小
    (4)浏览器窗口大小发生改变
    (5)CSS伪类的激活(例如::hover,从而改变了元素的布局的)

    11. visibility:hidden 和 display:none区别

    1.display:none是彻底消失,不在文档流中占位,浏览器也不会解析该元素;

    2.visibility:hidden是视觉上消失了,可以理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素;
     

    12. 哪些是html中的行内元素:dl p link span select

    select和span是行内,dl p是块级,link是void元素。

    13. 哪些是Html中语义化标签: footer strong section aside.

    以上都是。

    14.箭头函数和普通函数的区别。

    1.形式上:

    普通函数: function(){}

    箭头函数: ()=>{}

    2. 当箭头函数的参数只有一个时,不需要为参数加();函数只有一个表达式时,不需要加{};箭头函数会自动返回箭头后面的处理结果(可以去掉return)。

    eg.  

    function(item){
        return item+=1;
    }
    相当于
    item=>item+=1;

    3.箭头函数是匿名的。

    4.箭头函数没有构造函数,不能用new,不会自动生成__proto__属性

    5.箭头函数没有arguments。

    6.

    15.清除浮动的几种方式

    1.额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐)

    2.父级添加overflow属性(父元素添加overflow:hidden)(不推荐)

    3.clearfix:after

    clearfix{
        *zoom:1;
    }
    .clearfix:after{
        content:'clear';
        display:block;
        height:0;
        clear:both;
        overflow:hidden;
        visibility:hidden;
    }
    

    16.盒子模型为什么会发生外边距塌陷

    以下为字节跳动二面部分:

    1. HTTP1.0和HTTP1.1的区别

    1.新增了请求方法:如PUT,DELETE

    2.HTTP1.1支持长连接

    3.HTTP1.1则引入了更多的缓存控制策略

    4.HTTP1.1中新增了24个错误状态响应码

    5.HTTP1.1的请求消息和响应消息都支持host域,且请求消息中如果没有host域会报告一个错误(400 Bad Request)

    6.HTTP1.1更节约带宽

    参考博客:HTTP1.0和HTTP1.1和HTTP2.0的区别_艾伦lee的博客-CSDN博客_http1.1

    2.什么是七层网络模型,具体有哪些层

    物理层->数据链路层->网络层->传输层->会话层->表示层->应用层

    知识点:

    平时学校里教的一般是五层网络模型:物理层->数据链路层->网络层->传输层->应用层

    补充一下多出来的两层的作用:

    会话层

    • 会话层建立、管理和终止表示层与实体之间的通信会话;
    • 建立一个连接(自动的手机信息、自动的网络寻址);

    表示层:

    • 表示层,供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;
    • 可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信;

    3.讲讲DNS域名解析流程

    1.检查浏览器缓存中是否缓存过该域名对应的IP地址

    2.本机系统是否缓存过IP

    3.向本地DNS服务器发起域名解析的请求

    4.本地DNS服务器向根DNS服务器发起解析请求

    5.根DNS服务器返回顶级DNS服务器地址给本地DNS服务器

    6.本地DNS服务器向顶级DNS服务器发起解析请求

    7.顶级DNS服务器返回NameServer服务器地址

    8.本地DNS服务器向NameServer服务器发起解析请求

    9.NameServer服务器返回正确的DNS解析结果

     参考博客:DNS域名详细解析过程(最全面,看这一篇就够)_bangshao1989的博客-CSDN博客_dns解析过程

    4.域名服务器层级结构,根域名服务器有几个,顶级域名服务器的域名有哪些

    (基于3的回答,面试官深入提问了相关问题)

    根域名服务器>顶级域名服务器>权限域名服务器>本地域名服务器,

    全球共13个,

    .com、.cn、.org、.edu

     参考博客:DNS(域名解析协议)详解_honeyRJ的博客-CSDN博客_dns

    5.如何解决异步问题

    1. 使用回调函数(存在回调地狱问题)

    2用Promise

    3. async await

    ...还有很多

    参考博客:前端异步(async)解决方案(所有方案)_前端纸飞机的博客-CSDN博客_async

    6.讲讲你知道的设计模式

    (吐槽:后来学了Java才知道面试官问的是啥)

    知识点:

    1. 什么是设计模式?

            Design pattern,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

    2.有哪些设计模式?

            共23种。

    单例模式:某个类只能有一个实例,提供一个全局的访问点。

    简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。

    工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。

    抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。

    建造者模式、原型模式、、适配器模式、组合模式、装饰模式、代理模式、亨元(蝇量)模式、外观模式、桥接模式、模板模式、解释器模式、策略模式、状态模式、观察者模式、备忘录模式、中介者模式、命令模式、访问者模式、责任链模式、迭代器模式

    参考博客:23种设计模式总结_和代码去流浪的博客-CSDN博客_设计模式

    7. 题目一道:将扁平数据机构转json树

    8.小程序和Html5的区别

    9.从输入Url到访问到页面的具体流程

    (未完待续···持续填坑中)

    (以上题目均为博主面试真实血泪记录···)

    展开全文
  • JS前端笔试题分析

    2020-11-29 13:04:51
    本文实例分析了JS前端笔试题。分享给大家供大家参考,具体如下: 1.如何根据逗号分隔的字符串创建数组呢?请为下面的字符串创建一个数组,并访问第三个元素:”cats,dogs,birds,horses” 知识点:数组和字符串的转换...
  • 自己整理的一些前端面试笔试题pdf.pdf
  • 2022恒生电子前端笔试

    千次阅读 2022-03-31 20:10:56
    5道前端题(不定项选择题) 3道填空题 两道编码题 个人觉得问得有点偏,计算机基础比js,css这些考得比重大很多 有些题没记全,脑子不是印刷机,当经验看看吧 非编程题: 选择题: 1.关系数据库有哪几种? 学习时间...
  • 快手主站前端笔试1

    2022-08-03 17:40:11
    实现 Array.prototype.reduce实现 Promise.all快手二面说一下网络七层模型Http、smtp、websocket、tcp、ip 分
  • 京东前端笔试

    2021-03-02 13:36:09
    前端笔试题 1,简述面向对象开发思想 将每一块的功能抽象为一个对象或者类,具体开发中关注每一个对象的功能实现 2,列举常见设计模式 单例模式 工厂模式 3,说一说对MVC的理解,试举例说明 Model view controller 4...
  • 一、选出出现最多次数的字母,并输出它和出现次数 <script> let a = "aaabbbbbcccdddeeeeefff"; let obj = {}; let char; for (let i = 0; i < a.length; i++) { char = a.charAt(i);... } else {
  • 2021前端笔试

    千次阅读 多人点赞 2021-03-03 21:50:27
    前端笔试
  • 题目1-下列说法正确的是()多选 A: requestAnimationFrame(foo) 确保使浏览器在下一次重绘之前调用 foo 方法 B: 在 addEventListener 的处理方法中使用 e.preventDefault() 可以阻止事件冒泡 ...
  • 【ONES 校招前端笔试+一面】

    千次阅读 2022-04-18 23:39:04
    笔试 整体难度不大 选择题三道 JS 异步 React 防止组件重复渲染的方法(shouldComponentUpdate、PureComponent、React.memo) 还有一道忘了 编程,类似于力扣的删除链表中的重复节点 问答五道 React 高阶函数...
  • 2021最新前端笔试题汇总.pdf
  • web前端笔试题_试题 1

    2022-08-08 20:37:21
    web前端笔试题_试题 1
  • 这里将收集我做过的所有的前端面试...前端笔试面试题部分 1.md CSS部分 CSS 2.md HTML部分 HTML 3.md FEX 面试题 General 4.md 前端面试常见问题 General 5.md 前端面试HTML 相关问题 HTML 6.md 前端面试CSS ...
  • 前端笔试bilibili总结

    2020-11-21 20:38:46
    啦啦啦啦
  • 【牛客网-前端笔试题】——Javascript专项练习

    千次阅读 多人点赞 2022-09-01 11:27:29
    个人主页: 小卢要刷力扣题 ‍♂️ 作者简介: 大三学生,准备找工作的人儿 推荐一款找工作神器网站: 《牛客网》 |笔试题库|面试经验|实习招聘内推| ⛪ 系列专栏: 《前端面试题》 希望大家多多支持一起进步呀!...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,519
精华内容 9,007
关键字:

前端笔试

友情链接: 頻率響應FFT圖.zip