每天一套面试题-Day41-八股高频(22)

题目来自牛客p9

每天一套面试题专栏,每天一起打卡

101.谈谈 SQL 注入及防范

允许攻击者将恶意的 SQL 代码插入到输入字段中,以操纵数据库。 核心原因:程序将用户输入的数据未经充分检查或处理,直接拼接到SQL语句中。

预编译(参数化查询),用户输入始终视为 字符串/数字,而非可执行代码。 MyBatis:务必使用 #{} 语法(参数化查询),禁止使用 ${}(字符串替换,等同于拼接)。

最小权限原则 应用程序连接数据库的账户不应使用root或管理员账号。 根据操作需求,授予该账户最小必要的权限(例如,只读应用就只给 SELECT 权限)。这样即使被注入,损害也有限。

102.说说线程的生命周期和状态?

my blog

103.流量控制和拥塞控制的步骤?流量控制和拥塞控制的步骤?

流量控制保护接收方,拥塞控制保护网络;

流量控制靠 接收窗口(rwnd),拥塞控制靠 (cwnd)拥塞窗口 及其四阶段算法 最终的发送窗口 = min(rwnd, cwnd)

接收端在三次握手或每次 ACK 中,将当前可用缓冲大小 (rwnd) 通知发送端。发送端计算可用窗口:min(rwnd, cwnd),只要已发送但还未收到ACK确认字节数 < (Win)当前发送窗口,就可继续发送。发送端发完报文后,将其置入'已发送未ACK队列。接收端收到数据后,释放缓冲并更新 rwnd = BufferSize - 已占用,发送端收到新ACK,滑动发送窗口,继续发送。

一个典型Reno流程如下: 连接开始: cwnd = 1, ssthresh 为一个较大值(如65535字节)。 慢启动: cwnd 指数增长。

达到阈值: 当 cwnd >= ssthresh(慢启动阈值),进入拥塞避免,cwnd 线性增长。

检测到拥塞(包丢失): 情况A(超时): 网络拥塞严重。ssthresh = cwnd/2, cwnd = 1,回到第2步(慢启动)。

情况B(3个重复ACK): 触发快重传和快恢复。三个重复ACK意味着网络还有一定的传输能力(至少还能传送重复的ACK),所以网络并不完全拥塞,只是个别报文段丢失。 ssthresh = cwnd / 2 cwnd = ssthresh + 3 重传丢失的包。 收到新数据的ACK后,cwnd = ssthresh,进入第3步(拥塞避免)。 ———————————————— 版权声明:本文为CSDN博主「Arva .」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/2301_80096362/article/details/154695792

alt

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论
被禁言了,这是我的小号,可以看
点赞 回复 分享
发布于 12-18 16:41 湖南

相关推荐

一、&nbsp;技术深度问题A.&nbsp;关于“身份识别与访问管理”项目系统部署与架构:这个系统的部署方式是怎样的?(本地部署、Docker部署等?)请描述一下这个服务的整体架构。JWT&nbsp;技术细节:能简单说一下&nbsp;JWT&nbsp;Token&nbsp;的构成是什么样的吗?JWT&nbsp;Token&nbsp;的头部(Header)一般包含什么内容?JWT&nbsp;Token&nbsp;的载荷(Payload)部分,反解出来后一般会有什么内容?从一个业务逻辑上理解,要实现用户认证,这个&nbsp;Payload&nbsp;里应该放什么内容?加密算法为什么要放在&nbsp;Payload&nbsp;里?(面试官指出这是不合理的,意在考察理解深度)数据库设计:请说明用户表、角色表和权限表的库表设计,都有哪些字段?为什么要在用户表里存一个&nbsp;Token?既然已经有&nbsp;JWT&nbsp;Token&nbsp;了,为什么还要把&nbsp;Token&nbsp;存在数据库里?你库表里面存的&nbsp;Token&nbsp;是什么信息?和&nbsp;JWT&nbsp;Token&nbsp;是什么关系?(面试官追问)这个&nbsp;Token&nbsp;存的是什么信息?技术选型与对比:有了解或使用过&nbsp;Casdoor&nbsp;或&nbsp;Casbin&nbsp;这类开源方案吗?B.&nbsp;关于“校园社交平台”项目项目功能与设计:请说一下这个平台主要做了什么,流程是怎样的?登录方式用的是什幺?除了创建用户和发送文章,这个项目还有别的补充说明吗?比如库表设计或交互流程?帖子、文章和评论的库表是如何设计的?它们之间如何关联?有实现多级评论(评论中再评论)的功能吗?C.&nbsp;通用技术问题(系统、数据库、语言)问题排查与性能优化:假设你开发的一个&nbsp;API&nbsp;接口,单个请求返回时间长达&nbsp;4&nbsp;秒,你会如何定位这个问题?如果发现是函数中查询数据库缓慢,又该如何定位?Docker:能简单说一下&nbsp;Dockerfile&nbsp;一般包含什么内容吗?有了解基础镜像(Base&nbsp;Image)吗?Go&nbsp;语言底层:在&nbsp;Go&nbsp;语言中,对&nbsp;map&nbsp;执行&nbsp;delete操作,如果&nbsp;key&nbsp;不存在,会有什么现象?如果&nbsp;key&nbsp;存在,删除后会立即释放内存吗?Go&nbsp;语言中的&nbsp;interface&nbsp;能直接比较吗?Go&nbsp;语言并发与上下文:对&nbsp;context有了解吗?能简单说一下它一般用在什么地方吗?能举例说明会把什么数据存进&nbsp;context里吗?数据库/SQL&nbsp;优化:能说一下一般如何优化&nbsp;SQL&nbsp;语句吗?
查看28道真题和解析
点赞 评论 收藏
分享
dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务