精华内容
下载资源
问答
  • Web前端面试,Web前端开发面试题,开课吧Web前端问题1:common.js和es6中模块引入的区别?解析:CommonJS 是一种模块规范,最初被应用于 Nodejs,成为 Nodejs 的模块规范。运行在浏览器端的JavaScript 由于也缺少类似...
    580d7512e2d386a8e2000472c23a4eeb.png

    Web前端面试,Web前端开发面试题,开课吧Web前端

    问题1:common.js和es6中模块引入的区别?

    解析:CommonJS 是一种模块规范,最初被应用于 Nodejs,成为 Nodejs 的模块规范。运行在浏览器端的JavaScript 由于也缺少类似的规范,在 ES6 出来之前,前端也实现了一套相同的模块规范 (例如: AMD),用来对前端模块进行管理。自 ES6 起,引入了一套新的 ES6 Module 规范,在语言标准的层面上实现了模块功能,而且实现得相当简单,有望成为浏览器和服务器通用的模块解决方案。但目前浏览器对 ES6 Module 兼容还不太好,我们平时在 Webpack 中使用的 export 和 import,会经过 Babel 转换为CommonJS 规范。在使用上的差别主要有:

    CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用

    CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。

    CommonJs 是单个值导出,ES6 Module可以导出多个

    CommonJs 是动态语法可以写在判断里,ES6 Module 静态语法只能写在顶层

    CommonJs 的 this 是当前模块,ES6 Module的 this 是 undefined

    问题2:解释下为什么接下来这段代码不是IIFE(立即调用的函数表达式)?

    function foo(){//code... }()

    解析:以function关键字开头的语句会被解析为函数声明,而函数声明是不允许直接运行的。只有当解析器把这句话解析为函数表达式,才能够直接运行,怎么办呢?以运算符开头就可以了。

    (function foo(){// code.. })()

    问题三:

    (function(){
    var x = y = 1;
    })();
    console.log(y);
    console.log(x);
    以上代码运行结果为
    A: 1, 1
    B: error, error
    C: 1, error
    D: other解析:变量提升和隐式定义全局变量的题,也是一个JavaScript经典的坑… 还是那句话,在作用域内,变量定义和函数定义会先行提升,所以里面就变成了: (function(){ var x; y = 1; x = 1; })(); 这点会问了,为什么不是var x, y;,这就是坑的地方…这里只会定义第一个变量x,而y则会通过不使用var的方式直接使用,于是乎就隐式定义了一个全局变量y 所以,y是全局作用域下,而x则是在函数内部,结果就为1, error,选C

    以上就是酷仔今天整理提供的Web前端开发面试题,希望为Web前端同学提供了有用的面试素材,以后酷仔每日均会提供Python及Web相关的习题。

    特殊说明:以上资料由开课吧提供!

    展开全文
  • nodeJs面试题

    2019-11-30 01:53:28
    简介:nodejs是后端和Web应用程序中最流行和新兴的技术。您可以使用nodejs使用模板创建前端,并为服务器信息创建微服务。在这里,我汇总了在访谈问题中可能会问到的nodejs流行问题– 什么是Node.js Node.js是一...

    简介:nodejs是后端和Web应用程序中最流行和新兴的技术。您可以使用nodejs使用模板创建前端,并为服务器信息创建微服务。在这里,我汇总了在访谈问题中可能会问到的nodejs流行问题–

     

    什么是Node.js

    Node.js是一个开放源代码,跨平台的JavaScript运行时环境,它提供了在服务器端执行JavaScript代码的环境。
    Node.js使用事件驱动且无阻塞的I / O模型来创建实时应用程序。

     

    Node.js是单线程的吗

    什么是事件循环

    Event Lopp是一种以同步方式运行运行异步操作的机制。Node.js使用libuv库,该库管理一个称为libuv线程池的特殊线程池。

    • Node JS Web服务器接收异步请求并将其放入“事件队列”。
    • Even Loop检查是否将任何客户端请求放置在事件队列中,如果是,则在不需要任何阻塞IO操作的情况下处理它们。
    • 如果IF有一些I / O操作,则从内部线程池中检查线程的可用性,并在那里为该请求分配一个。
    • 线程负责处理和准备响应,并将其发送回事件循环。
      然后,事件循环将响应发送到相应的客户端。

    module.export与常规导出之间的区别

    除非您在模块中重新分配导出,否则export和module.exports相同。

    解释Babel和Webpack?

    babel用于将JS代码转换为给定的预设.Babel是将新JS代码转换为旧代码的JS转换程序。诸如es2015,es2016,es2017之类的预设,以便Babel将它们编译为ES5。

    Webpack是一个模块化的构建工具,包含两个部分,一个是加载器,另一个是插件。
    该webpack用于编译JavaScript模块。您可以通过其CLI或API访问webpack界面。

     

    什么是JWT?

    JWT代表json Web令牌,它用于安全地进行两方之间的通信。您可以生成具有用户特定信息的jwt令牌。当客户端再次返回服务器时,您可以再次验证令牌。

     

    什么是事件驱动架构

    事件驱动编程是一种编程范例,其中程序的流程由事件决定,例如用户操作(鼠标单击,按键按下),传感器输出或来自其他程序/线程的消息(根据维基百科)。

     

    如何配置线程池?

    您可以配置集群模块来设置线程池。可以使用UV_THREADPOOL_SIZE环境变量来设置线程池。

     

    ORM及其好处

    对象关系映射(ORM)是对象和关系数据库系统之间的映射过程。ORM帮助最小化和优化SQL查询,它具有预定义的方法来执行常见的sql操作。

     

    需求和导入之间的区别

    es6使用import导入模块,而普通js使用require导入模块。

     

    什么是Promise?

    Promise帮助表示Node.js中的异步调用函数。该对象具有拒绝和完成的回调动作。

     

    什么是Nodemon?

    nodemon是一个软件包,可在检测到目录中的文件更改时帮助自动重新启动节点应用程序。

     

    什么是PM2?

    PM2是带有内置负载平衡器的Node.js应用程序的高级流程管理器。它使您可以使应用程序永远保持活动状态,无需停机即可重新加载它们,并简化常见的系统管理任务。

     

    如何避免Node.js中的内存泄漏

    我们可以使用垃圾收集器方法来避免nodejs应用程序中的内存泄漏。V8引擎具有一个垃圾收集器,主要运行Mark和Sweep算法。

     

    Nodejs中的Helmet 是什么

    Helmet 可通过设置各种HTTP标头来帮助您保护Express应用程序。

     

    什么是Body Parser?

     

    这是一个nodejs中间件,用于解析请求主体的json数据。主体分析器提取传入请求流的整个主体部分并将其公开req.body

     

    什么是集群和用途?

    集群模块允许您利用计算机的所有内核。每个进程独立工作,因此您不能在子进程之间使用共享状态。

     

    什么是中间件

    中间件是Express js路由层在调用用户定义的处理程序之前调用的功能。中间件功能具有对请求和响应对象的完全访问权限,并且可以对其进行修改。

     

    如何管理环境变量

    .env在您应用的根目录中创建文件并添加变量。我们可以在整个应用中访问这些变量。

    展开全文
  • 什么是nodejs?我们在哪里使用它 ... 为什么要使用node js Node是一个基于Chrome JavaScript运行时...作为web前端开发人员需要了解一门后台语言 对于前端开发人员nodejs 更容易上手 nodejs有哪些特点 RESTf..
    1. 什么是nodejs?我们在哪里使用它

    Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

    1. 为什么要使用node js

    Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用

    作为web前端开发人员需要了解一门后台语言

    对于前端开发人员nodejs 更容易上手

    1. nodejs有哪些特点

    RESTful API

    单线程

    非阻塞IO

    V8虚拟机

    事件驱动

    1. 什么是回调函数 ​ 回调函数,就是放在另外一个函数(如 parent)的参数列表中,作为参数传递给这个 parent,然后在 parent 函数体的某个位置执行,Node.js 异步编程的直接体现就是回调

    2. NPM的作用是什么

    node的包管理工具

    1. 什么是事件循环

    Node.js 在主线程里维护了一个事件队列,当接到请求后,就将该请求作为一个事件放入这个队列中,然后继续接收其他请求

    1. 什么是错误优先的回调函数

    NodeJS 通常使用回调模式,如果在执行期间发生错误,会把错误作为回调的第一个参数传递到回调函数中

    1. node模块分几类

    内置模块 自定义模块 第三方模块

    1. npm 下载模块的命令是什么

    npm install 模块名 --save

    1. npm 本地下载和全局下载的区别是什么

    --save -g 一个是功能模块 一个是工具

    1. *http请求消息的格式是什么 ​ 请求行 请求头 空行 请求数据

    2. http响应消息的格式是什么

    响应行 响应头 空行 响应正文

    1. url包含哪几部分

    协议 域名 路径 参数

    1. get和post传输数据的区别是什么

    传输数据的方式不一样 一个在请求头 post在请求体

    get 传输量小 post传输量大

    1. http工作原理

      1、客户端连接到Web服务器 2、发送HTTP请求

      3、服务器接受请求并返回HTTP响应

      4、释放连接TCP连接

      5、客户端浏览器解析HTML内容

    2. http状态码有哪些

      1xx:指示信息--表示请求已接收,继续处理

      2xx:成功--表示请求已被成功接收、理解、接受

      3xx:重定向--要完成请求必须进行更进一步的操作

      4xx:客户端错误--请求有语法错误或请求无法实现

      5xx:服务器端错误--服务器未能实现合法的请求

    3. 说一下对端口的理解

    通过“IP地址+端口号”来区分不同的服务的

    1. 什么是域名

      域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)

    2. 说一下对ip的理解

    IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议

    IP地址是用来识别网络上的设备,IP地址是由网络地址与主机地址两部分所组成

    1. express生成器创建项目的命令是什么

    express -e 项目名称

    1. 模板引擎的作用是什么

    界面和数据的分离 模板复用

    1. ejs模板 如何渲染一个列表

      <% for(var i=0;i<list.length;i++){ %>

      <li>

      <%= list[i]. %>

      </li>

    <% } %>

    1. mongoose操作mongoDB数据库,连接数据库的步骤

      1. 引入第三方模块mongoose

      2. 连接数据库:mongoose.connect(‘数据库的地址’)

      3. 设置集合规则:new mongoose.Schema()

      4. 创建集合:mongoose.model(‘集合名’, 集合规则)

    2. 向mongoDB数据库中导入数据的命令

      mongoimport -d 数据库名 -c 集合名 --file 要导入的文件

    3. mongoose操作mongoDB数据库,查找数据库中年龄大于20小于40的文档+

      集合.find({ age: { $gt: 20, $lt: 40 } })

    4. mongoose操作mongoDB数据库,删除多条文档 集合.deleteMany( ‘条件’)

    5. 什么是同源策略

      同源策略 是由NetScape提出的一个著名的安全 策略,它是浏览器最核心也最基本的安全功能

      所谓的同源,指的是协议,域名,端口相同。浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的资源 4

    6. 什么是跨域

      跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制

    7. 跨域解决方案,最少说出三种

      **Jsonp, CORS, 代理,反向代理,哈希处理跨域,a链接处理跨域**

    8. jsonp的原理

      1. script的src属性不受同源策略的限制

      2. 将不同源的服务器端请求地址写在 script 标签的 src 属性中

         

    展开全文
  • web前端笔试面试题整理

    千次阅读 2018-03-08 17:07:09
    常见的设计模式:单利模式,简单的工厂模式,观察者模式 适配器模式 代理模式 桥接模式 外观模式 访问者模式 中介者模式4.nodejs 的核心模块:http url queryString file system path global5.re...

    1.position的属性值: relative absolut fixed static  (sticky page center浏览器暂时不支持)

    3.常见的设计模式:单利模式,简单的工厂模式,观察者模式 适配器模式  代理模式 桥接模式 外观模式 访问者模式 中介者模式

    4.nodejs 的核心模块:http url queryString file system path global

    5.react组件的主要方法(react 的生命周期)

    组件的生命周期可分为三个状态:

    Mounting:已插入真实 DOM

    Updating:正在被重新渲染

    Unmounting:已移出真实 DOM

    生命周期的方法有:

    componentWillMount 在渲染前调用,在客户端也在服务端。

    componentDidMount : 在第一次渲染后调用,只在客户端。

    componentWillReceiveProps 在组件接收到一个新的prop时被调用。

    shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。

    componentWillUpdate在组件接收到新的props或者state但还没有render时被调用。

    componentDidUpdate 在组件完成更新后立即调用。

    componentWillUnmount在组件从 DOM 中移除的时候立刻被调用。

    var App = React.createClass({
      displayName: 'App',
      componentWillMount: function(){
        // 初始化期,组件加载前调用
      },
      componentWillUpdate: function(){
        // 存在期,组件状态改变后重新渲染前调用
      },
      render: function () {
        // 初始化期或存在期调用
        return (
          <h1>itbilu.com</h1>
        )
      },
      componentWillUnmount: function (){
        // 销毁&清理期调用
      }
    });

    6.http协议中设置前端缓存的属性列举3个 

    Cache-Control、Expires、Last-Modified、If-Modified-Since

    7.简叙事件委托:事件委托是 不需要给每个子元素都绑定监听器只需要给父元素绑定一个监听器,当触发子元素时 事件会冒泡到父元素上,监听器就会被激发。事件委托的好处是:减少内存的占用,只需要一个父元素的处理程序即可。无需从删除的元素中解绑处理程序。 

    8.简述javaScript中的this;

    this的指向受其所在函数被调用的方式所决定。

    1).当函数是使用new关键字被创建是,this 指向的是这个全新对象;

    2).当函数作为一个对象方法被调用时,这时this指向的是这个对象  例如 obj.method();this 指向 obj;

    3).当使用 apply,call,bind 时 this 指向的是所传递进来的参数;

    4).在箭头函数中this 指向的是函数被创建时的上下文。

    5).不符合以上情况的 this 指向的是 全局对象 window。

    eg:

     var name="perter";
     var persion={
      name:"jack",
      getName:function(){
          return this.name();
     }
    };
    var name1=persion.getName; name1();//'perter'
    var name2=persion.getName();//'jack'
    


     

    展开全文
  • web前端面试题

    2019-10-07 01:46:31
    前端开发面试知识点大纲:  HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应  JavaScript: 数据类型、面向对象、...
  • Web前端面试题集锦

    2018-03-16 14:17:00
    前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。 JavaScript: 数据类型、面向对象、...
  • web前端面试题:

    2016-04-26 11:26:00
    前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应 JavaScript: 数据类型、面向对象...
  • 好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题。 跨域解决方案 1. 通过jsonp跨域 2. 跨域资源共享(CORS) 3. nodejs中间件代理跨域 4. nginx反向代理中设置...
  • 前端开发面试知识点大纲:HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。JavaScript: 数据类型、面向对象、继承、闭包、...
  • 1.JS运行在浏览器端,用于用户的交互效果,NodeJS运行在服务器端,用于服务器的操作,例如,Web服务器创建,数据库的操作,文件的操作等 2.JS运行在浏览器端,存在多个JS解释器,存在兼容性的问题,而NodeJS只有V8...
  • web前端面试题大全

    2016-02-17 18:48:22
    JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、重构、
  • 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 综合  HTTP、安全、正则、优化、
  • 前端开发面试题.html

    2018-03-30 12:08:05
    非常全面的前端开发面试题: HTML&CSS;: 对Web标准的理解(结构、表现、行为)、浏览器内核、渲染原理、依赖管理、兼容性、CSS语法、层次关系,常用属性、布局、选择器、权重、盒模型、 Hack、CSS预处理器、CSS3...
  • 前端面试题整理

    2018-09-26 17:59:52
    返回主页 Web前端/移动端-随笔 热爱程序编码、JavaEE...【原】2017年-Web前端面试题(HTML → Nodejs) 出自作者小矮人Web前端,博文地址:http://www.cnblogs.com/itlkNote/ 文中有少许重复问题! 第一阶段...
  • 前端常见面试题

    2017-07-31 17:33:00
    JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、...
  • 前端面试题汇总.rar

    2020-03-09 18:34:59
    前端面试题:HTML、CSS、JS基础、Jquery、HTML5 CSS3、移动web开发、Ajax、JS高级、流行框架、移动app开发、NodeJs前端概括性问题。
  • 前端面试题

    2018-09-03 11:55:00
    前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端 JavaScript: 数据类型、面向对象、继承、...
  • 前端面试题大全

    2018-03-07 22:10:00
    前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。 JavaScript: 数据类型、面向对象、...
  • 前端面试题总结

    2019-03-21 17:51:30
    最全前端面试问题及答案总结 HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。 JavaScript: 数据类型、面向对象、继承...
  • 对于游戏来说,写一遍游戏逻辑代码,前端后端通用 缺点: nodejs更新很快,可能会出现版本兼容 nodejs还不算成熟,还没有大制作 nodejs不像其他的服务器,对于不同的链接,不支持进程和线程操作 ...
  • 前端面试题(copy)

    千次阅读 2015-06-25 13:22:00
    前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应。 JavaScript: 数据类型、面向对象、...
  • 2019年前端面试题汇总

    2019-11-09 14:38:29
    JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、重...
  • 一、前端开发面试对各方面的考察 1、HTML&CSS 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应2、JavaScript 数据类型、面向...

空空如也

空空如也

1 2 3
收藏数 49
精华内容 19
热门标签
关键字:

web前端nodejs面试题