面试知识点

  1. 前端存储
  2. 缓存策略 http://www.cnblogs.com/vajoy/p/5341664.html
  3. 异步编程方案
  4. 负载均衡
  5. 性能优化
  6. throttle和debounce的实现
  7. 图片预加载
  8. 前端路由的实现
  9. webscoket(见之前的文章)
  10. ?webpack-dev-server热加载更新的原理
  11. 箭头函数的this
  12. (算法)寻找最大的k个数
  13. js模块化
  14. 常见兼容性
  15. url长度为什么受限制
  16. xhr 的过程
  17. 组件通信
  18. web前端安全
  19. 闭包的应用场景
    深入闭包
  20. http2

    http/1.x客户端需要多个连接才能实现并发和缩短延迟;http1.x不会压缩请求和响应标头,从而导致不必要的网络流量;http1.x不支持有效的资源优先级,致使底层tcp连接的利用率低下
    http2通过支持标头字段压缩和在同一连接上进行多个并发交换,让应用更有效地利用网络资源,减少感知的延迟时间;还允许为请求设置优先级,让更重要的请求更快速地完成,从而进一步提升性能;可以使用更少的tcp连接
    http2更快、更稳定、更简单
    http2所有性能增强的核心在于新的二进制分帧层

  21. https的特点

  22. substr、substring、slice的区别
  23. cooke和storage
  24. restful???
  25. git创建分支的 命令
  26. bom和dom的区别
  27. margin-collapse
  28. 伪元素的用法
  29. js中proto和prototype的区别和关系?
  30. indexDB
    • 用于客户端存储大量结构化数据,使用索引来实现对该数据的高性能搜索
    • webstorage 对于存储少量数据很有用,但对于存储大量的结构化数据就不好用
  31. call、apply、bind
  32. 实现继承的方式
  33. 设计模式
  34. web语义化
    根据内容的结构化,选择合适的标签,便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器更好的解析
  35. 逐步输出1-10
  36. vue双向绑定的实现
  37. 跨域的方法
  38. http和https的区别
  39. xss与CSRF

    xss:跨站脚本攻击;CSRF:跨站请求伪造

    1. xss一般是代码注入,影响用户的正常体验。对于这种攻击要注意对用户的输入进行转义
    2. CSRF:冒充用户之手。伪造请求,冒充用户在站内的正常操作,危害比xss大得多。其中一种手段是XSS,但却不止一种,img的src属性中也能发送请求。被伪造的请求可以是任何来源,而非一定是站内。对于这种攻击,所以我们唯有一条路可行,就是过滤请求的处理者。其中一种有效的手段就是‘请求令牌’。
    3. 请求令牌:首先服务器端要以某种策略生成随机字符串,作为令牌(token),保存在 Session 里。然后在发出请求的页面,把该令牌以隐藏域一类的形式,与其他信息一并发出。在接收请求的页面,把接收到的信息中的令牌与 Session 中的令牌比较,只有一致的时候才处理请求,否则返回 HTTP 403 拒绝请求或者要求用户重新登录验证身份
  40. 记住我的登录状态

    用户选择记住登录状态的时候,将sessionID、用户名以及加密后的密码都存在cookie中。下次再登录的时候,直接发送sessionID给服务器,就能找到服务器上对应的session,从而直接登录;顺便记住用户名和密码是因为,服务器上的session会定期清除,清除之后,即使客户端发送sessionId给服务器,服务器也找不到对应的登录信息,此时就需要重新发送用户名和密码进行登录。

  41. vue2.0中的diff算法

  42. react中的diff 算法
  43. 虚拟dom
  44. 排序算法
  45. 懒加载和预加载
  46. 优化首屏加载时间
  47. 三次握手和四次挥手
  48. DNS递归查询和迭代查询的区别
    递归查询,dns服务器一直向下请求,直到获得最终的ip地址才 返回
    迭代查询,每次请求都会返回一个结果,如果返回的不是目的ip地址,则继续发送请求向返回的服务器地址查询
  49. js获取屏幕宽度和高度
  50. jq如何实现选择器
  51. pc端和移动端开发的区别
  52. 300ms延迟的解决办法
  53. 各数据类型所占字节数
  54. sizeof计算大小的方法
  55. MVVM是为了解决什么问题

    MVVM的出现主要是为了解决在开发过程中Controller越来越庞大的问题,变得难以维护,所以MVVM把数据加工的任务从Controller中解放了出来,使得Controller只需要专注于数据调配的工作,ViewModel则去负责数据加工并通过通知机制让View响应ViewModel的改变。

  56. spa的优缺点

  57. MVC、MVP、MVVM的区别
  58. BOM和DOM
  59. http的请求方法
  60. 单向数据流和双向数据流的优缺点
  61. cors跨域请求
    access-control-allow-origin

  62. post跨域

  63. 继承的实现方式
  64. http报文格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值