JAVA的5个经典面试问题

举报
赵KK日常技术记录 发表于 2023/06/30 10:42:03 2023/06/30
【摘要】  根据个人真实经历,整理5个区别于其他面试者的经典问题        1.谈下接口安全设计        答:接口安全设计考察的是面试者是否有设计理念,以及考虑问题全面性,接口是一套规范,项目中可用Token+盐+时间戳+登录验证的方式定义,推荐博文:https://www.cnblogs.com/yizhiamumu/p/9150462.html        2.用户在浏览器输入一个地址...

 根据个人真实经历,整理5个区别于其他面试者的经典问题

        1.谈下接口安全设计

        答:接口安全设计考察的是面试者是否有设计理念,以及考虑问题全面性,接口是一套规范,项目中可用Token+盐+时间戳+登录验证的方式定义,推荐博文:https://www.cnblogs.com/yizhiamumu/p/9150462.html

        2.用户在浏览器输入一个地址点击回车都发生了什么?

        答:这个问题可以结合Http协议+Springmvc运行流程一起来简要回答,用户点击回车后,浏览器先查找本地缓存中是否存在映射地址,如果没有,路由到网络传输层,由网络七层协议由下到上传输,最终应用层的DNS策略(DNS同源是指,域名、协议、端口都相同)查找,由程序返回ModelandView对象,前端渲染后展现。

        3.你如何应对千亿访问量的并发?

        答:个人理解面对高并发业务,需从框架,业务设计,系统设计,数据库等多方面考虑,从框架角度来说需要做微服务+分布式处理,将每个业务总分总的下发处理,从业务设计上来说,做缓存+集群化+横向抽取+消息中间件,从数据库方面做读写分离+多服务对应自己的数据库+数据库中间件,代码层面由池化技术,以上为个人理解

        4.Redis的数据类型什么是缓存穿透?什么是缓存雪崩?如何解决?

        答:此类问题考察了基础+实际解决方案,是redis相关的经典问题,首先说数据类型,还有分布式一致性问题已经单独写过

彻底解决分布式系统一致性问题

彻底解决分布式系统一致性问题整理(下)

String 可做简单存储

List     可做消息存储,类似于消息队列

Set     可做去重,求差集,交集等

Hash  可存储映射关系

zSet    可做排行榜

缓存击穿:故意访问了一个不存在的key

解决:判断是否存在+互斥锁+更新策略

缓存雪崩:大数量key同一时间失效,造成访问数据库

解决:设置随机key的失效时间+判断是否失效+双缓存

        5.谈下你对SpringBoot的理解?

        答:内置了severlet容器,简化了大量xml配置,由@SpringApplication注解启动,定制了@Bean@Configuration,理念约定大于配置,一键启动,自带组件,与微服务框架延伸等

        这几个问题从框架,设计,实战等多方面考察个人的能力,从而区别于他人,并且个人觉得还是要不断学习,不要局限于当下,且温故而知新。

        今天购买了华为云服务器,将网站计划提上日程,将在年底做一个总结,检验年初的计划,指定明年年的新计划。且计划每周做一个网站小推进,慢慢的锻炼自己整体能力,希望一切如愿。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。