专栏首页前端小课堂一些值得思考的前端面试题

一些值得思考的前端面试题

ALL

  1. 在nodejs开发的时候 处理过什么windows和mac的平台兼容性问题
    • 兼容环境变量设置
    • windows不支持 & ,并行执行npm-script用npm-run-all或者concurrently
    • 异步同步化:util.promisify + async/await
    • fs.readFileSync,用fs-extra去代替
    • 拼接路径要用path.join,Unix系是/,Windows是\
    • ……
  2. 设计一个方案,在浏览器中点击一个button,然后能在你的前端项目源码文件中增加一个index.js文件,如何实现?提供思路
  3. 用nodejs,将base64转化成png文件,或者将png文件转化为base64
  4. 如果你用nodejs实现的爬虫服务器的IP被指定网站封了,如何解封?
  5. 请设计一个方案:有a、b、c三个npm插件,它们会经常更新,在前端项目npm run start启动后,要求a、b、c三个npm插件自动更新到最新版本
  6. 大文件转存问题:服务器A有一个1000G的文件, 需要通过服务端B转发到服务端C,但是服务器B内存只有1个g, 怎么去实现这个大文件转存
  7. 如何劫持https的请求,提供思路
  8. 前端如何进行seo优化; 前后端分离的项目如何seo
  9. 简单实现async/await中的async函数
  10. 1000-div问题:一次性插入1000个div。
    • 使用Fragment
    • 向1000个并排的div元素中,插入一个平级的div元素,如何优化插入的性能;先 display: none 然后插入 再 display: block ;赋予key,然后使用virtual-dom,先render,然后diff,最后patch;脱离文档流,用GPU去渲染,开启硬件加速;
  11. 2万小球问题:在浏览器端,用js存储2万个小球的信息,包含小球的大小,位置,颜色等,如何做到对这2万条小球信息进行最优检索和存储
    • 用ArrayBuffer实现极致存储
    • 哈夫曼编码 + 字典查询树实现更优索引
    • 用bit-map实现大数据筛查
    • 用hash索引实现简单快捷的检索
    • 用IndexedDB实现动态存储扩充浏览器端虚拟容量
    • 用iframe的漏洞实现浏览器端localStorage无限存储,实现2千万小球信息存储
  12. http的状态码中,499是什么?如何出现499,如何排查跟解决
    • 499对应的是 “client has closed connection”,客户端请求等待链接已经关闭,这很有可能是因为服务器端处理的时间过长,客户端等得“不耐烦”了。还有一种原因是两次提交post过快就会出现499。 解决方法:1、前端将timeout最大等待时间设置大一些;2、nginx上配置proxy_ignore_client_abort on;
  13. 如何遍历一个dom树
  14. new操作符都做了什么
    • 创建一个空对象,并且 this 变量引用该对象,// lat target = {};
    • 继承了函数的原型。// target.proto = func.prototype;
    • 属性和方法被加入到 this 引用的对象中。并执行了该函数func// func.call(target);
    • 新创建的对象由 this 所引用,并且最后隐式的返回 this 。// 如果func.call(target)返回的res是个对象或者function 就返回它
  15. 请设计一个攻击服务器的策略;伪造虚假npm包 + nodejs版本的payload, nodejs的反序列化攻击
  16. 请写一个正则,去除掉html标签字符串里的所有属性,并保留src和href两种属性。答案
  17. 十万条数据插入数据库,怎么去优化和处理高并发情况下的DB插入。想法
  18. 一个iframe,内嵌了一个A页面,iframe的宽高不停变化,如何让A页面的宽高实时自适应这个iframe的宽高大小。请说出至少3种方法
  19. v8有了解过吗?讲讲了解过v8的那几个模块和部分
  20. 现在有多个spa的项目,有angular的,有vue的和react的,如何将他们合并成一个大统一的spa项目。提示

项目相关

  1. 怎么实现页面性能监控,首屏时间计算等
  2. 怎么实现一个JS错误监控

HTTP

  1. Http请求中的keep-alive有了解吗?
  2. http的状态码中,499是什么?如何出现499,如何排查跟解决
  3. http三次握手四次挥手,可以优化吗?
  4. 什么是断点续传?怎么实现?
  5. http 2.0 有什么特点,相比于 1.1 多了哪些优化?
  6. http中的对称加密和非对称加密
  7. 浏览器缓存机制
  8. 浏览器建立长连接
  9. http状态码206

代码实现

  1. 手写代码,简单实现call
  2. 手写代码,简单实现apply
  3. 手写代码,简单实现bind
  4. 简单手写实现promise、promise.all
  5. 实现一个Lazyman
  6. 用JS代码求出页面上一个元素的最终的background-color,不考虑IE浏览器,不考虑元素float情况。
  7. 实现一个 axios 的 timeout 方法
  8. 实现一个 render 方法进行模板字符串替换
  9. 实现一个new,说一说new执行了哪些操作
  10. 发布订阅模式
  11. 实现一个简单的Vue

HTML & CSS

  1. bootstrap是怎么实现grid系统
  2. BFC:清除浮动、margin重叠
  3. 两列等高布局的实现

源码相关

  1. Jquery的源代码怎么进行Object的深复制

Vue

  1. vue 中的一个 tick 是什么,node 中的 tick 呢
  2. vue 自定义指令
  3. vue 编译后是什么,runtime 的作用
  4. keep-alive

打包相关

  1. webpack常见使用
  2. fis、webpack等打包插件的原理
  3. webpack一些常用的使用功能:提取公共部分、代码分割和按需加载、treeShaking、webpack-dev-server等的一些使用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从0到1发布一个npm包

    最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC、WAP甚至是APP中都需要使用,但是对于业务的PC、WAP、APP往往是不同的业务、不同的代...

    Tiffany_c4df
  • FIS 插件机制

    当我们使用 FIS 插件的时候,有没有想过自己也开发一个基于 FIS 的插件,参与 FIS 打包编译的整个流程;那么问题就来了:

    Tiffany_c4df
  • 【转】Mobx React  最佳实践

    在这一篇文章里,将展示一些使用了mobx的React的最佳实践方式,并按照一条一条的规则来展示。在你遇到问题的时候,可以依照着这些规则来解决。 这篇文章要求你对...

    Tiffany_c4df
  • Nodejs创建http客户端及代理服务器

    nodejs除了可以通过http模块创建服务器,还能创建客户端,类似于浏览器那样很轻松的去向别的服务器发送请求并获取响应数据。

    前端_AWhile
  • SQL 扩展事件

        在本篇,我通过使用新建“Session ”对话框来创建新的扩展事件会话。定义一个自己的扩展事件,动作和谓词,并且发布一个以收集事件数据为目的的会话。 首...

    用户1217611
  • 原生HTTP服务器

    let server = http.createServer((req, res) => {

    用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户
  • 为什么建议你常阅读源码?

    自身智力一般,技术迭代又非常快,为不至于总处于入门水平,给自己定位是后端,进一步定位现阶段是 web后台开发。

    谢伟
  • python笔记42-http请求命令行工具(httpie)

    通常我们需要快速的测试某个接口通不通,一般linux上用curl去发http请求,但是这个命令行工具语法有点复杂了,不够直观。 python有一个给人类使用的r...

    上海-悠悠
  • 2020年开春最新面试!今日头条安卓面试题及答案 (已拿到 offer)

    面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。

    Android扫地僧
  • 如何实现一个会讲笑话的Python程序?

    笑话从哪里来?自己写肯定是不现实的。在这个“云”的时代,各种云都有,自然是不缺开放API的(大部分都是免费的)。随意一搜,果然被我找到一个接口:易源_笑话大全h...

    小小科

扫码关注云+社区

领取腾讯云代金券