web前端开发技术,前端开发应该如何准备面试

博客探讨了JWT(JSON Web Token)的普遍使用及其潜在问题。作者强调理解新技术的核心价值,例如JWT解决身份验证问题,而非状态保持。文中指出盲目使用JWT可能导致问题,如在需要状态保持的场景下使用。JWT适用于无状态、高并发场景,如邮箱验证。文章提醒开发者应根据项目需求选择合适的技术,并提供面试技巧和真题分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实我更想聊标题的前半部分,后半部分只是拉出来做典型的。

简历上写上一句,“热衷于学习新技术”,孬管是不是真的,至少加分项是可以有的。

再看看标题,我是来搞笑的?

学习与使用,两回事
学习侧重于新技术的HOW、WHAT、Where(其实实际过程中很多时候后两个是忽略的)
使用侧重于。。。。。填坑!
开始我们的主题

标题写的,为什么?

在我看来
除非你是真的知道新技术到底解决了怎样的问题
除非你很清楚新技术有什么优点和缺点
或者至少你要知道新技术是用于什么场景的
你再用新技术也不迟,否则,就慢慢填坑!
否则,就是为了时髦买了条带洞的内裤却发现洞的位置不对还得再买一条正常的内裤!

JWT,拉出来当典型

为了避免被喷成筛子,三连划重点

JWT本身没有错!
JWT本身没有错!
JWT本身没有错!

无状态没有错!
无状态没有错!
无状态没有错!

我们聊的JWT对标的是 Session ,不是 Cookie
我们聊的JWT对标的是 Session ,不是 Cookie
我们聊的JWT对标的是 Session ,不是 Cookie

错的是什么?是盲目使用
在座各位有多少人能准确回答出上一节的三个问题?

  1. 你真的知道JWT到底解决了怎样的问题?
  2. 你很清楚JWT有什么优点和缺点?
  3. 你知道JWT是用于什么场景的?

给自己一个靠谱的答案,你为什么要用JWT?
我百度谷歌搜索了一下,发现用 JWT 的文章真的是少数,用 Identity 和 Session 的文章很多,这超出了我的预料
为什么身边的项目包括群友公司的项目全是 JWT?

JWT 与登录

JWT 的核心是无状态、自验证、无中央服务器,有超时时间等机制,我们所实现的登录功能,本质上是一个状态保持的机制,要保持,就会有断开的需求,JWT 能实现断开吗?不能。
JWT 的核心应用场景根本不是状态保持!
https://www.baidu.com/s?wd=jwt会话保持&rsv_spt=1&rsv_iqid=0x9d65b70000004423&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&rsv_sug3=11&rsv_sug1=10&rsv_sug7=100&sug=jwt%E4%BC%9A%E8%AF%9D%E4%BF%9D%E6%8C%81%20%E5%88%B7%E6%96%B0&rsv_n=1&rsv_t=576d%2BK65G9Uk60klbPpQEAyfnAnSKdDcE476BRPqSajtXpQkE0rXpLQDtHtdE8AvX51v&rsv_sug2=0&rsv_btype=i&inputT=4864&rsv_sug4=4864

百度早已有了不要用JWT做状态保持的文章,这根本就不是一回事!

JWT 的核心在于不需要中央服务器的验证,它可没说验证状态要保持啊。是的,超时时间的机制确实很像状态保持,但是因为 JWT 无状态的特性,它难以实现状态保持的完整功能。
比如说,我想续期,怎么办?

有的同学说了,旧KEY作废发个新KEY,作废的KEY保存在内存当中

你这和“我为了潮流买了个有洞的内裤结果发现外面还得再套一个内裤才不冷”有啥区别呢?
没错,这位同学的方案就是大家的方案,可是,这么明显的问题(不是JWT的问题),你为什么还要坚持JWT?
坚持JWT的重点就是无状态,然而作废的KEY保存在内存中不就又回到了有状态吗?你为什么还要坚持JWT?

大哥们推荐JWT的理由

我所知道的理由如下。无状态这条就不用说了:

  1. 不走 Cookie,移动端没有 Cookie
  2. 比 Cookie 更安全,CSRF攻击

这两条都有一个相同的问题,不用 JWT 就非得用 Cookie?
JWT 对标的解决方案是 Session,不是 Cookie
有人说 Session 就是基于 Cookie 的。
那么,Cookie 是基于什么的?基于 HTTP 头的
JWT呢?不还是 HTTP 头吗?
都是从头里读的,我改一下不从 Cookie 字段读不就行了?
有人又说,这不麻烦啊,现成的JWT方案很多,拿过来就用。
那么,出问题的时候你是加班到十点还是第二天第一个人打卡?
再者,Session 不见得没有方案,老外那帮人天天可是闲得慌。

JWT 的应用场景

这么说,JWT是。。。。废物?
哎别喷我啊你看完再喷呀。。。。。

我一直在找 JWT 的应用场景,但是除了三高(高并发、大数据、高可用)场景之外,我是真没找到合适的。。。
但是谷歌还是有大神,有位大神表示下面这个场景适用于 JWT

邮箱链接验证

这功能大家都知道,向用户邮箱发个链接,要求这个链接在5分钟之内点击来验证邮箱有效性,这个场景用 JWT 再适合不过了,量身定作的。

其他的,我是真不知道有啥场景。

不要再一切皆 JWT了

JWT 本身没有错,错在所有的项目全是 JWT。
JWT 场景之一是用于解决用户量并发量较大时,中央服务器无法及时响应请求的问题,Redis 在数据量达到一定程度后,QPS会大幅度降低,可是,这个量级是多少?至少几百万起步吧,我没试过。

各位看官你先把你的项目的日活用户量搞到几百万再说好不好,日活几百万距离几百万并发还差得远呢。

最后

分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。

面试经验技巧篇
  • 经验技巧1 如何巧妙地回答面试官的问题
  • 经验技巧2 如何回答技术性的问题
  • 经验技巧3 如何回答非技术性问题
  • 经验技巧4 如何回答快速估算类问题
  • 经验技巧5 如何回答算法设计问题
  • 经验技巧6 如何回答系统设计题
  • 经验技巧7 如何解决求职中的时间冲突问题
  • 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
  • 经验技巧9 在被企业拒绝后是否可以再申请
  • 经验技巧10 如何应对自己不会回答的问题
  • 经验技巧11 如何应对面试官的“激将法”语言
  • 经验技巧12 如何处理与面试官持不同观点这个问题
  • 经验技巧13 什么是职场暗语

面试真题篇
  • 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
  • 真题详解2 某知名社交平台软件工程师笔试题
  • 真题详解3 某知名安全软件服务提供商软件工程师笔试题
  • 真题详解4 某知名互联网金融企业软件工程师笔试题
  • 真题详解5 某知名搜索引擎提供商软件工程师笔试题
  • 真题详解6 某初创公司软件工程师笔试题
  • 真题详解7 某知名游戏软件开发公司软件工程师笔试题
  • 真题详解8 某知名电子商务公司软件工程师笔试题
  • 真题详解9 某顶级生活消费类网站软件工程师笔试题
  • 真题详解10 某知名门户网站软件工程师笔试题
  • 真题详解11 某知名互联网金融企业软件工程师笔试题
  • 真题详解12 国内某知名网络设备提供商软件工程师笔试题
  • 真题详解13 国内某顶级手机制造商软件工程师笔试题
  • 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
  • 真题详解15 某著名社交类上市公司软件工程师笔试题
  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题


公司软件工程师笔试题

  • 真题详解16 某知名互联网公司软件工程师笔试题
  • 真题详解17 某知名网络安全公司校园招聘技术类笔试题
  • 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题

[外链图片转存中…(img-ly9lU5rW-1627012813903)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值