北京尚学堂吧 关注:1,002贴子:8,955

整理的前端面试题,基本涵盖了所有的前端会问到的题目类型

只看楼主收藏回复



1楼2021-11-23 14:46回复
    先说一下,主要有哪些前端内容的面试题,如果你有需要,就往下看,没有就划走


    2楼2021-11-23 14:47
    收起回复
      1.BOM&DOM 2.html&css 3.JS 4.HTTP 5.hhtp&http缓存 6.https
      7.Git 8.webpack 9.计算机基础 10.跨域 11.数据结构与算法 12.性能优化
      13.Ajax 14.Angular 15.ES6 16.Glup_Grunt 17.JQuery 18.React 19.vue


      3楼2021-11-23 14:47
      收起回复
        BOM&DOM部分
        1.BOM事件?
        2.常见BOM事件?
        3.BOM事件处理程序?
        4.BOM对象方法?
        5.BOM对象
        6.DOM?
        7.DOM节点
        8.DOM获取节点
        9.DOM创建节点与插入节点
        10.DOM0级和DOM2级有什么区别
        11.textContent、innerText、innnerHTML、value的区别
        12.关于dom的api有什么
        13.什么叫Dom事件流?
        14.如何让事件先冒泡后捕获
        15.说一下事件代理


        4楼2021-11-23 14:47
        收起回复
          HTML&CSS部分
          1. 如何理解CSS盒子模型
          2.BFC
          3.标签语义化
          4.meta标签
          5.css与javascript引入设置
          6.HTML的块级元素,行内元素,行内块元素有哪些,区别是什么
          7.CSS3有哪些新特性
          8.实现元素隐藏
          9.如何实现元素水平居中
          10.如何实现元素垂直居中
          11.Position
          12.定位元素水平垂直居中
          13.清除浮动
          14.css选择器有哪些,选择器的优先级
          15.各种布局优缺点
          16.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容 问题?如何区分 HTML 和 HTML5?
          17. CSS3新增伪类举例
          18.解释盒模型宽高值得计算方式,边界塌陷,负值作用,box-sizing概念?
          19.如何实现浏览器内多个标签页之间的通信?
          20.解释下浮动和它的工作原理?清除浮动的方法


          5楼2021-11-23 14:47
          收起回复
            JavaScript部分
            1.什么是闭包
            2.闭包的用途
            3.闭包的缺点
            4.闭包实用场景
            5. JS 有哪些数据类型?
            6.基本数据类型和引用数据类型有什么区别?
            7.判断数据类型的方法有哪些?
            8.浅拷贝与深拷贝有何区别?如何实现?
            9. let、const的区别是什么?
            10. 什么是执行上下文和执行栈?
            11.什么是作用域和作用域链?
            12.作用域和执行上下文的区别是什么?
            13.this指向的各种情况都有什么?
            14.如何改变this指针的指向?
            15.如何理解同步和异步?
            16.JS是如何实现异步的?
            17.什么是AJAX?如何实现?
            18.实现异步的方式有哪些?
            19.怎么理解Promise对象?
            20.怎么理解宏任务,微任务???
            21.实现继承的方法有哪些???
            22.require/import之间的区别?
            23.原型和原型链
            24.事件委托
            25.解释一下变量的提升
            26. 如何理解高阶函数
            27.如何区分声明函数和表达式函数
            28.解释原型继承是如何工作的


            6楼2021-11-23 14:48
            收起回复
              HTTP部分
              1.什么是域名发散和域名收敛?
              2.为什么浏览器要做并发限制呢?
              3.什么是 DDOS 攻击
              4.DDOS 攻击方式
              5.如何应对 DDOS 攻击
              6.http请求过程
              7.DNS 域名如何解析的?
              8.TCP三次握手
              9.为什么要三次握手?
              10.为什么HTTP协议要基于TCP来实现?
              11.什么是面相连接协议?面向无链接协议又是什么?
              12.说到三次握手,那在说下四次挥手吧?
              13.为什么要四次挥手
              14.为什么建立连接是三次握手,关闭连接确是四次挥手呢?
              15.如果已经建立了连接,但是客户端突然出现故障了怎么办?
              16.http请求方式有哪些?
              17.常用的请求状态码?
              18.TCP和UDP的区别以及应用场景
              19.GET和POST的区别
              20.cookies机制和session机制的区别
              21.HTTP、状态码
              22.Internet采用哪种网络协议?该协议的主要层次结构?
              23.IP地址的编码分为哪俩部分?
              24.TCP/IP通信建立的过程怎样,端口有什么作用?
              25.IP组播有那些好处?


              7楼2021-11-23 14:48
              收起回复
                HTTP2&HTTP缓存
                1.http/2项目设定目标
                2.http/2特性
                3.什么是缓存?又有什么用?
                4.你知道有哪些缓存方式吗?
                5.缓存位置
                6.http缓存怎样生效的?
                7.HTTP2的伪头字段
                8.HTTP 2:服务器推送
                9.队首阻塞问题
                10.Transport头域
                11.时效缓存(强制缓存)
                12.非时效缓存(对比缓存,用的是标识)
                13.两种缓存标识
                14.Service Worker
                15.memory cache
                16.disk cache


                8楼2021-11-23 14:48
                收起回复
                  https部分
                  1.https的访问过程
                  2.https的优缺点?
                  3.https如何进行性能优化?
                  4.http和https
                  5.HTTPS为什么是安全的?
                  6.HTTPS相对于HTTP的缺陷?
                  7.为什么需要证书?
                  8.怎么防止的篡改?


                  9楼2021-11-23 14:48
                  收起回复
                    Git部分
                    1.列举工作中常用的几个git命令?
                    2. 提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?
                    3. 如果本次提交误操作,如何撤销?
                    4. 如果我想修改提交的历史信息,应该用什么命令?
                    5. 你使用过git stash命令吗?你一般什么情况下会使用它?
                    6. 如何查看分支提交的历史记录?查看某个文件的历史记录呢?
                    7. 能不能说一下gitfetch和git pull命令之间的区别?
                    8. 使用过git merge和git rebase吗?它们之间有什么区别?
                    9. 能说一下git系统中HEAD、工作树和索引之间的区别吗?
                    10. 之前项目中是使用的GitFlow工作流程吗?它有什么好处?
                    11. 使用过git cherry-pick,有什么作用?
                    12. git跟其他版本控制器有啥区别?
                    13.我们在本地工程常会修改一些配置文件,这些文件不需要被提交,而我们又不 想每次执行git status时都让这些文件显示出来,我们该如何操作?
                    14. 如何把本地仓库的内容推向一个空的远程仓库?
                    15.如在 Git 恢复先前的提交?
                    16.什么是“git cherry-pick”?


                    10楼2021-11-23 14:48
                    收起回复
                      webpack部分
                      1.webpack与grunt、gulp的不同?
                      2.与webpack类似的工具还有哪些?谈谈你为什么最终选择(或放弃)使用webpack?
                      3.有哪些常见的Loader?他们是解决什么问题的?
                      4.有哪些常见的Plugin?他们是解决什么问题的?
                      5.Loader和Plugin的不同?
                      6.webpack的构建流程是什么?从读取配置到输出文件这个过程尽量说全
                      7.是否写过Loader和Plugin?描述一下编写loader或plugin的思路?
                      8.webpack的热更新是如何做到的?说明其原理?
                      9.如何利用webpack来优化前端性能?(提高性能和体验)
                      10.如何提高webpack的构建速度?
                      11.怎么配置单页应用?怎么配置多页应用?
                      12.npm打包时需要注意哪些?如何利用webpack来更好的构建?
                      13.如何在vue项目中实现按需加载?
                      14.webpack是解决什么问题而生的?
                      15.如何配置多入口文件?
                      16.webpack中的模块解析规则
                      17.webpack中的模块解析规则具体实现
                      18.什么是模块热替换


                      11楼2021-11-23 14:49
                      收起回复
                        计算机基础部分
                        1.CPU基础
                        2.CPU与主存
                        3.程序等同数据
                        4.指令系统
                        5.指令寄存器与程序计数器
                        6.指令如何执行
                        7.控制器
                        8.直接存储器存取
                        9.什么是程序局部性?为什么会有程序的空间局部性?
                        10.为了实现重定位,需要哪些硬件?
                        11.在交互式系统中,非剥夺是不是一个好的策略?为什么?
                        12.谈一谈计算机网络和分布式计算机系统的区别
                        13.为什么要引入多道程序技术?
                        14.处理器如何读并解释存储在内存中的指令
                        15.总线
                        16.I/O设备
                        17.主存
                        18.处理器
                        19.计算机如何访问信息
                        20.什么是操作数指示符
                        21.如何传送数据
                        22.栈数据如何压入和弹出
                        23.如何进行算数和逻辑操作
                        24.什么是“加载有效地址”
                        25.什么是一元和二元操作


                        12楼2021-11-23 14:49
                        收起回复
                          跨域部分
                          1.什么是跨域
                          2.同源策略
                          3.为什么有同源策略
                          4.跨域的解决方案
                          5.jsonp原理
                          6.常见的跨域场景
                          7.postMessage跨域
                          8.资源共享跨域(CORS)
                          9.nginx代理跨域
                          10.nodejs中间件代理跨域
                          11.webscoket协议跨域


                          13楼2021-11-23 14:49
                          收起回复
                            数据结构与算法
                            1. 什么是复杂度分析 ?
                            2. 为什么要进行复杂度分析 ?
                            3. 如何进行复杂度分析 ?
                            4.常用的时间复杂度分析
                            5.时间复杂度分类
                            6.时间复杂度消耗时间排序
                            7.空间复杂度分析
                            8.如何掌握好复杂度分析方法 ?
                            9.判断一段字符串是否为回文?
                            10.数组去重


                            14楼2021-11-23 14:49
                            收起回复
                              性能优化部分
                              1.性能优化的几个方面?
                              2.如何进行首屏优化
                              3.什么情况会造成内存泄漏?
                              4.异步加载?
                              5.加载方式区别?
                              6.浏览器缓存?
                              7.预加载?
                              8.预渲染?
                              9.CDN?
                              10.DNS 预解析?
                              11.节流?
                              12.防抖?
                              13.懒执行?
                              14.懒加载?
                              15.图片优化?
                              16.图片加载优化?
                              17.js css 顺序对前端优化影响?
                              18.重排重绘为什么会影响渲染,如何避免?
                              19.何时缓存在memory,合适缓存在dist?
                              20.CSS选择符优化


                              15楼2021-11-23 14:50
                              收起回复