面试储备
笙箫123
梦想还是要有的,万一实现了呢
展开
-
接口如何保证 API 的安全性
接口如何保证 API 的安全性的问题 1. 接口协议采用 Https 协议 SSL+证书 4432. 使用 MD5 对我们的接口实现验证签名 防止接口参数不能能篡改 移动 App 项目3. 对我们的数据实现加密 rsa 非对称加密 不能别人看到明文的数据4. 使用 nginx 或者网关、整合阿里巴巴 sentinel 对 api 接口实现限流、黑名单和白名单机制5. 使用网关对整个微服务参数的入口实现防止 xss、sql 注入的问题6. 定期对我们代码实现 bug 扫描、每周代码实现原创 2021-05-08 11:51:56 · 5263 阅读 · 0 评论 -
tcp和http的区别
http属于应用层协议;tcp属于传输层协议原创 2021-03-04 11:02:37 · 512 阅读 · 1 评论 -
支付项目过程中会遇到的一些问题
1.支付项目中,如何保证支付的安全性?A。采用预支付的形式隐藏参数的真实性,B。一处回调中判断金额与下单金额是否一致,如果不一致的情况下订单为异常订单状态C。基于参数验证签名形式防止数据被篡改2.如何保证支付回调中,因为网络抖动产生的幂等问题?为什么要注意幂等?商户端没有及时响应ok给结果给支付宝,支付宝默认重试,在重试的过程中就造成幂等1.业务全局ID判断业务是否已经执行...原创 2020-04-25 12:25:04 · 3410 阅读 · 0 评论 -
常见面试之非技术问题
先说一个小技巧,在和面试官沟通时,如果提到对方公司,尽量用咱们XXX,少用你们XXX。这样可以提升亲切感,在讨论比较尖锐的问题时,更像是内部的探讨,而不是外部的指责。 当然,你要注意下语境,你可以说我想知道下咱们公司用的什么框架……为什么要离职? 不要说上一家公司的坏话,而要说现在这家公司的好话。两个原因:一是你现在如何吐槽上一家公司,将来也可能如何吐槽未来这家公司;二是要谨记我...原创 2019-11-13 21:36:38 · 1229 阅读 · 0 评论 -
@RequestBody 和 @RequestParam的区别
①@RequestParam可以接收url拼接的参数和表单数据② @RequestBody接收json对象因为get请求没有请求体,所以get请求不适用于使用@RequestBody注解原创 2019-11-13 08:31:25 · 519 阅读 · 0 评论 -
Linux的基本常用命令
列出文件列表:ls 【参数 -a -l】创建目录和移除目录:mkdir rmdir用于显示文件后几行内容:tail打包:tar -xvf打包并压缩:tar -zcvf查找字符串:grep显示当前所在目录:pwd创建空文件:touch编辑器:vim vi列出文件列表:ls 【参数 -a -l】创建目录和移除目录:mkdir rmdir用于显示文件后几行内容...原创 2019-10-23 22:08:28 · 506 阅读 · 0 评论 -
脏读 & 不可重复读 & 幻读
一 数据库事务的隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. Read UnCommitted(读未提交)最低的隔离级别。一个事务可以读取另一个事务并未提交的更新结果。2. Re...原创 2019-10-20 17:05:22 · 500 阅读 · 0 评论 -
@Controller和@RestController的区别?
知识点:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。2...原创 2019-10-11 22:01:47 · 501 阅读 · 0 评论 -
彻底理解cookie,session,token
发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记...转载 2019-10-09 23:07:26 · 639 阅读 · 0 评论 -
基本类型与运算面试题
1. 说说 & 和 && 的区别。 & 和 && 都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运 算结果才为 true,否则,只要有一方为 false,则结果为 false。 && 还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 ...原创 2019-09-26 19:25:19 · 613 阅读 · 0 评论 -
字符串与数组相关面试题
1. 下面程序的运行结果是() String str1 = "hello"; String str2 = "he" + new String("llo"); System.err.println(str1 == str2); 答案:false 解析:因为 str2 中的 llo 是新申请的内存块,而 == 判断的是对象的地址而非值,所以不一样。如果是 String str2 =...原创 2019-09-25 21:54:12 · 1006 阅读 · 0 评论 -
Mybatis 中#和$的区别?
1、#相当于对数据 加上 双引号,$相当于直接显示数据 2、 #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。 如果传入的值是 id,则解析成的 sql 为 order by "id".;$将传入的数据直接显示生成在 sql 中。如果传入的值是 id,则解析成的 sql 为 order by id.3. #方式能够很大程度防止 sql 注入;$方式无法防止 Sql 注入。 ...原创 2019-09-17 22:18:22 · 594 阅读 · 0 评论 -
http和https的区别
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。(原来网易官网是http,而网易邮箱是https。)2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的。Https协议是由SSL+Ht...原创 2019-08-26 20:18:32 · 350 阅读 · 0 评论 -
架构相关知识
网站架构演变演变过程传统架构→ 分布式架构→ SOA架构→ 微服务架构什么是分布式架构分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块,不会产生代码冲突问题,方便开发。什么是SOA架构SOA架构就是将业务逻辑层提取出来,将相似的业务逻辑形成一个服务,提供外部访问接口,服务之间访问通过RPC调用实现。什么是微服务架构微服务类似于SOA架构,但是比SO...原创 2019-08-31 09:31:14 · 344 阅读 · 0 评论 -
Spring cloud学习相关
什么是SpringCloudSpringCloud是微服务的一种解决方案,依赖SpringBoot实现。包含注册中心(eureka)、客户端负载均衡(Ribbon)、网关(zuul)、分布式锁、分布式会话等。为什么要使用SpringCloudSpringCloud是一套非常完整的微服务解决方案,俗称“微服务全家桶”,几乎内置了微服务所使用的各种技术,可以不必集成第三方依赖。...原创 2019-08-31 23:13:41 · 182 阅读 · 0 评论 -
Spring cloud学习之Hystrix
谈谈服务雪崩效应雪崩效应是在大型互联网项目中,当某个服务发生宕机时,调用这个服务的其他服务也会发生宕机,大型项目的微服务之间的调用是互通的,这样就会将服务的不可用逐步扩大到各个其他服务中,从而使整个项目的服务宕机崩溃.发生雪崩效应的原因有以下几点1.单个服务的代码存在bug.2请求访问量激增导致服务发生崩溃(如大型商城的枪红包,秒杀功能).3.服务器的硬件故障也会导致部分服务不可用...原创 2019-09-01 20:23:13 · 188 阅读 · 0 评论 -
微服务框架SpringCloud相关面试题
微服务框架SpringCloud分布式配置中心有那些框架?Apollo(阿波罗)、zookeeper、springcloud config、nacos(阿里的,既是配置中心,又是注册中心)。分布式配置中心的作用?动态变更项目配置信息而不必重新部署项目。SpringCloud Config 可以实现实时刷新吗?springcloud config实时刷新采...原创 2019-09-02 21:25:21 · 312 阅读 · 0 评论 -
SpringBoot学习相关面试题
SpringBoot快速开发框架什么是SpringBootSpringBoot是快速开发的Spring框架,能够快速整合主流框架,简化xml配置,采用全注解化,内置Http服务器(如tomcat、jetty等),通过java部署运行。为什么要用SpringBoot快速开发,快速整合,配置简化、内嵌服务容器SpringBoot启动方式主类@SpringBootAp...原创 2019-09-03 21:22:02 · 718 阅读 · 0 评论 -
分布式消息系统与中间件之相关面试题
消息中间件产生的背景传统的Web项目采用http协议基于请求和响应传输信息,请求发出后必须等待服务器端响应,如果服务器端不会及时响应客户端会一直等待。Http协议同步接口调用失败了怎么做?采用消息补偿机制重新发送请求。消息队列异步通讯与同步通讯区别同步通讯是客户端直接将请求发往服务器,等待服务器处理完请求并返回响应信息后才会继续向下执行。消息队列独立于客户端和服务器...原创 2019-09-05 20:42:17 · 566 阅读 · 0 评论 -
高并发解决方案相关面试题
什么是DNS解析域名DNS域名解析就是讲域名转化为不需要显示端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名.什么是NginxNginx是一个高级的轻量级的web服...原创 2020-04-15 10:17:14 · 33053 阅读 · 4 评论 -
互联网高并发解决方案相关面试题
高并发服务限流特技有哪些算法?传统计算器算法,滑动窗口计数器算法,令牌桶算法和漏桶算法。传统计数器限流算法有什么弊端?传统计数器限流方式不支持高并发,存在线程安全问题.若大量访问请求集中在计数器最后时刻,计数器极易发生临界问题,访问的请求无法完成.什么是滑动窗口计数器?滑动窗口计数器是一种服务限流的算法,相对于计数器方法的实现,滑动窗口实现会更加平滑,并自动消除毛刺。其原理是当...原创 2019-09-07 21:33:36 · 1794 阅读 · 0 评论 -
SpringCloud中Ribbon客户端负载均衡器
客户端负载均衡器在SpringCloud中Ribbon负载均衡客户端,会从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地。让后在本地实现轮训负载均衡策略。Ribbon与Nginx区别服务器端负载均衡Nginxnginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。既请求有nginx服务器端进行转发...原创 2019-09-08 20:01:57 · 190 阅读 · 0 评论 -
Java初中级程序员面试题宝典
Java基础部分&与&&区别?&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?使用 final 关键字修饰一个变量时,是指引...原创 2019-08-25 09:43:27 · 3914 阅读 · 0 评论