go面试问题

server/2024/12/23 21:02:35/

1 Go的内存逃逸如何分析

go build -gcflags=-m main_pointer.go

2 http状态码

300 请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303 查看其它地址。与301类似。使用GET和POST请求查看
304 未修改所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源

3 父子进程共享哪些资源

共享资源

  1. 文件描述符环境变量工作目录内存映射

独立资源

  1. 地址空间文件描述符的位置指针进程ID (PID)

4 零拷贝

sendfile 目的是简化通过网络在两个通道之间进行的数据传输过程。sendfile 允许操作系统从 Page Cache 直接将文件发送至 socket 缓存区,节省了内核空间 & 用户空间的两次冗余的 cpu 拷贝操作,最后只需要通过 DMA 传输将数据复制到网卡。这样使得调用变得更加简洁:不仅减少了 CPU 拷贝的次数,由于文件传输拷贝仅发生在内核空间,还减少了上下文切换的次数。)。

5 mysql如何枷锁(非唯一索引等值查询)

  • 当查询的记录「存在」时,由于不是唯一索引,所以肯定存在索引值相同的记录,于是非唯一索引等值查询的过程是一个扫描的过程,直到扫描到第一个不符合条件的二级索引记录就停止扫描,然后在扫描的过程中,对扫描到的二级索引记录加的是 next-key 锁,而对于第一个不符合条件的二级索引记录该二级索引的 next-key 锁会退化成间隙锁。同时,在符合查询条件的记录的主键索引上加记录锁
  • 当查询的记录「不存在」时,扫描到第一条不符合条件的二级索引记录,该二级索引的 next-key 锁会退化成间隙锁。因为不存在满足查询条件的记录,所以不会对主键索引加锁。

6 Redis大量key有相同前缀,如何批量查找

SCAN 0 MATCH user:* COUNT 100

7 如何解决TIMEWAIT过多

  • net.ipv4.tcp_tw_reuse 允许将处于TIME_WAIT状态的套接字重新用于新的连接
  • net.ipv4.tcp_fin_timeout 限制系统中TIME_WAIT状态的连接数量

8 线程独占哪些资源?

CPU(处理器)时间片栈空间寄存器、** 线程ID和线程属性**

9 内存管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 redis数据结构组成

加粗样式

11 redis多线程

Redis 在启动的时候,默认情况下会额外创建6个线程(这里的线程数不包括主线程)
·Redis-server: Redis的主线程,分别异步处理关闭文件任务AOF刷盘任务释放内存任务;
io thd 1、io thd 2、io thd 3:三个1/0 线程,io-threads 默认是4,所以会启动3(4-1)个//0多.
线程,用来分担 Redis 网络 //O 的压力。

12 mysql case函数

SELECT CASE WHEN age < 25 OR age IS NULL THEN '25岁以下'WHEN age >= 25 THEN '25岁及以上'END age_cut,COUNT(*)number
FROM user_profile
GROUP BY age_cut

在这里插入图片描述

13 窗口函数

(一)聚合窗口函数
常见的聚合函数可以做窗口函数,如AVG()、SUM()、COUNT()、MAX()以及MIN()等

(二)排序窗口函数
对数据进行分组排名,包括ROW_NUMBER()、RANK()、DENSE_RANK()、PERCENT_RANK()、CUME_DIST()以及NTILE()等函数。
使用窗口函数按照dt升序进行排序
row_number 排序结果是 1、2、3、4……
rank 排序结果是 1、2、2、4……
dense_rank 排序结果是 1、2、2、3……

(三)取值窗口函数
用于返回指定位置上的数据行,包括FIRST_VALUE()、LAST_VALUE()、LAG()、LEAD()、NTH_VALUE()等函数。
在这里插入图片描述
在这里插入图片描述

SELECT *, 
lag(amount,1)OVER(PARTITION BY product ORDER BY ym)
FROM sales_monthly;

http://www.ppmy.cn/server/152582.html

相关文章

LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

环境安装 git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.gitcd LLaMA-Factorypip install -e ".[torch,metrics]"pip install deepspeed 下载模型 pip install modelscope modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /roo…

中国工程科技2040发展战略研究

近日&#xff0c;中国工程院“中国工程科技未来20年发展战略研究”总体项目组发布《愿景驱动的中国工程科技2040发展战略研究》&#xff0c;基于我国工程科技发展需求和世界发展趋势&#xff0c;提出“经济预测-需求分析-技术预见-愿景分析-战略架构-技术路线图-政策选择”战略…

uniapp 微信小程序 均分数据展示

效果图 数据展示&#xff0c;可自行搭配 html <view class"num-wrapper"><view class"num-item" click.stop"routerGo(跳转的地址)"><text class"num">&#xffe5;{{ 要展示的数据 || 0}}</text><view…

windows11 环境 paddleOCR 环境配置

一、系统环境: 操作系统:Windows 11 专业版 显卡:RTX 4080 CUDA:cuda_12.6.2_560.94_windows.exe、cudnn-windows-x86_64-8.9.7.29_cuda12-archive python: 3.12.8 二、配置过程 1.设置python国内源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/…

Docker dockerfile镜像编码 centos7

一、 大多数docker基础镜像使用locale查看编码&#xff0c;发现默认编码都是POSIX&#xff0c;这会导致中文乱码。 解决方法如下: 二、首先使用locale -a查看容器所有语言环境 三、dockerfile中加入以下参数重新生成镜像   ENV LANGen_US.UTF-8   ENV TZAsia/Shanghai  …

解决新安装CentOS 7系统mirrorlist.centos.org can‘t resolve问题

原因 mirrorlist.centos.org yum源用不了 解决办法就是 # cd /etc/yum.repos.d/ # mv CentOS-Base.repo CentOS-Base.repo_bak # vim CentOS-Base.repoCentOS系统操作 # mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/*.repo_bak # curl -o /etc/yum.repos.d/CentOS-Linux-Ba…

网络安全的攻防战争

当前&#xff0c;来自Web的各种攻击已经成为全球安全领域最大的挑战&#xff0c;并且有愈演愈烈之势。目前的难点在于&#xff0c;很多Web威胁的思路已经有别于传统&#xff0c;隐蔽、牟利、产业化已经成为了此类威胁的特点。对广大企业用户来讲&#xff0c;Web威胁令人无法忽视…

ArkUI性能优化(0)—DevEco Profiler调优工具

1章节目录 注意,目前profiler调优只支持真机。 2 工具介绍 无需关注数据采集细节,分析启动、卡顿、耗时、内存、能耗等场景问题 2.1 会话区 根据不同的场景,选择不同的场景分析任务类型 2.2数据区