前端常见问题集锦

【html】
  • 常见的行内元素:a span img input select strong
  • 常见的块级元素:div ul ol li dl dt dd h1 h2 h3 h4 ... p
  • 常见的空元素:br hr meta
  • h5新增标签
  • 如何理解语义化的HTML
    • 1 去掉或样式丢失的时候能让页面呈现清晰的结构
    • 2 屏幕阅读器会完全根据你的标记来“阅读”你的网站
    • 3 搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重
    • 4 便于团队开发和维护
【css】
  • 画一个三角形
  • flex布局
  • position值: relative absolute fixed,定位原点
  • 居中一个元素 适用于任何场景
  • 样式导入时,使用link和@import的区别?
    • 相同点:都是从外部引用css
    • 区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS
    • 区别2: link引用css时,在页面载同时加载;@import需要页面完全载入后加载
    • 3:link是XHTML标签,无兼容性问题;@import 是CSS2.1提出的,低版本的浏览器不支持
    • 4: link支持使用Js控制DOM修改样式;@import不支持
  • 标准盒子模型与低版本的IE盒子模型
  • 元素字体为10px
      font-size: 20px;
      transform: scale(0.5);
      transform-origin: 0 0;
    复制代码
  • css scripts:
    • 其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的background-image, baackground-repeat, background-position 的组合进行背景定位。
  • 列举一两个开发中的兼容性问题以及解决方案

####【JS】

  • 数据类型有哪些
    • 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
    • 引用数据类型:对象(Object)、数组(Array)、函数(Function)。
    • 注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

  • 什么是闭包,为什么要用闭包
    • 闭包就是能够读取其他函数内部变量的函数
    • 由于在js中只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数” 所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁
    • 好处1: 读取函数内部的变量
    • 好处2: 让这些变量的值始终保持子内存中,重用变量又不造成全局污染
  • this | 原型 | import | require
    • this有哪些绑定规则
    • 默认绑定
    • 隐式绑定
    • 显式绑定
    • new绑定
  • new一个对象的时候具体发生了什么
  • 同步异步
  • js对数组的增删改查 | localStorage | cookie
  • get 与post 的区别
  • 原生js怎样阻止冒泡事件
  • ES5 ES6去重
  • var a = 3;a = 3的区别
  •     var a = Object();
        a.value = 1;
        b=a;
        b.value=2;
        console.log(a.value); // 2
    复制代码

####【框架/类库】

  • vue(父子组件通讯、子组件间通讯、slot、常用vue指令、vue缓存、vue-router中有哪些钩子函数、mvvm模式)
  • boostrap(栅格布局) | 响应式开发 | 移动端开发
  • jq
  • 小程序(组件和小程序的生命周期)
  • less/sass
    • 嵌套
    • 控制指令,如@if
    • 混合指令如mixins、如@include
    • 变量、计算、函数
    • 继承
  • node

####【打包工具】

  • webpack
  • gulp
  • Parcel

####【其他】

  • ES6 (promise, let const, let 与 var的区别,箭头函数)

  • 常见浏览器内核

    • Trident (IE)
    • Gecko (FireFox)
    • Presto (Opera7+)
    • Webkit (Safari、chrome)
  • 优化网站的方法:

    • 1 文件合并,减少http请求 ,合并js文件和css文件,css sprites, 图像映射(img map)
    • 2 文件压缩
    • 3 CDN托管
    • 4 使用缓存
    • 5 GZIP压缩你的JS和CSS文件等
  • HTTP状态码200、304、404、500等

    • 200:表示请求成功
    • 201:请求成功并创建了新数据
    • 304: 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
    • 404: 请求的资源未找到或不存在。服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面。
    • 500:服务器内部错误,无法完成请求
  • 从输入url到加载完页面发生了什么

  • 怎么做SEO优化

  • 如何进行项目架构

  • 怎么抽象组件

  • 怎么做模态框组件或模态框插件

  • 模块化编程思想 | 代码优化

  • 工厂函数

  • vue响应式原理

  • 谈谈MVVM

####【项目经验】

  • 如何进行项目架构
  • 怎么抽象组件
  • 怎么做模态框
【代码】
  •   var a = null;
      console.log(typeof a); //object
    复制代码
  •   var a = Object();
      a.value = 1;
      b=a;
      b.value=2;
      console.log(a.value); //2
    复制代码
  •     let c = {a(){ console.log(1) }}
        let d = c
        c.a = function (){console.log(2) }
        d.a() //1
        c.a() //2
    复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值