后端开发刷题笔记
哔哩哔哩2021校园招聘后端开发方向笔试卷
1、Docker底层采用的linux隔离技术为
A epoll
B cgroup
C inotify
D socket
参考
B. cgroup(Control Groups)
Control Groups(cgroups)是Linux内核的一个功能,它允许对进程进行资源控制和隔离。
Docker使用cgroups来控制和限制容器的资源使用,如CPU、内存、磁盘I/O等,以确保容器之间不会相互干扰或争夺资源。
这是Docker实现资源隔离的关键技术之一。
而选项A、C和D分别表示其他Linux特性:
- epoll:是一种I/O事件通知机制,用于高效处理文件描述符上的事件,与Docker的资源隔离无关。
- inotify:用于监视文件系统事件的Linux特性,与Docker的资源隔离无关。
- socket:虽然Docker使用网络套接字进行容器间通信,但它不是Docker底层资源隔离技术的主要组成部分。
2、http 状态码
先序遍历 A BDEF C
中序遍历 A
B C
D E
F
后序遍历 DFEBCA
3、linux中kernel space和user space
4、咖啡店销售系统具体需求为:咖啡店店员在卖咖啡时,可以根据顾客的要求加入各种配料,并根据加入配料价格的不同来计算总价。若要设计该系统可以应该采用哪种设计模式进行设计
参考
装饰器模式
5、可以执行的CSRF漏洞的修复方案:
检测HTTP referer 字段同域
参考
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。
其原理是攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。用户在登录状态下这个请求被服务端接收后会被误以为是用户合法的操作。对于 GET 形式的接口地址可轻易被攻击,对于 POST 形式的接口地址也不是百分百安全,攻击者可诱导用户进入带 Form 表单可用POST方式提交参数的页面。
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,会带上Referer,通过验证Referer,可以判断请求的合法性,如果Referer是其他网站的话,就有可能是CSRF攻击,则拒绝该请求。
6、小端字节序:高位数据放高内存地址处,低位数据放低内存地址出
7、下列正则表达式不能完全匹配字符串aabbb的是
A a+b? // b? 表示匹配零个或一个 'b' 字符。
这个正则表达式可以匹配 "a"、"aa"、"ab" 或 "aab",
但不能完全匹配 "aabbb",因为它最多只能匹配到一个 'b'。
B a{2}b{3}
C a+b+c*
D [a-z]*
参考
分析每个选项与字符串"aabbb"的匹配情况:
A. a+b?
a+ 表示匹配一个或多个连续的 'a' 字符。
b? 表示匹配零个或一个 'b' 字符。
这个正则表达式可以匹配到"a"或"aa"以及后面的零个或一个'b',但不能完全匹配"aabbb",因为它最多只能匹配到一个'b'。
B. a{2}b{3}
a{2} 表示匹配恰好两个连续的 'a' 字符。
b{3} 表示匹配恰好三个连续的 'b' 字符。
这个正则表达式可以完全匹配"aabbb"。
C. a+b+c*
a+ 表示匹配一个或多个连续的 'a' 字符。
b+ 表示匹配一个或多个连续的 'b' 字符。
c* 表示匹配零个或多个 'c' 字符。
这个正则表达式可以匹配"aabbb",因为尽管它允许'c'字符出现,但'c'是可选的,所以可以匹配没有'c'的字符串。
D. [a-z]*
[a-z]* 表示匹配零个或多个连续的小写字母。
这个正则表达式可以匹配任何小写字母组成的字符串,包括空字符串。因此,它可以完全匹配"aabbb",因为它允许匹配任意数量的小写字母,包括三个'b'和两个'a'。
综上所述,只有选项A的正则表达式不能完全匹配字符串"aabbb"。因此,正确答案是A。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)