go面试问题

devtools/2024/12/23 19:47:57/

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/devtools/144777.html

相关文章

方正畅享全媒体新闻采编系统 reportCenter.do Sql注入漏洞复现(附脚本)

0x01 产品描述: 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、…

【算法day17-day18】回溯:解决组合问题

不好意思呀各位&#xff0c;最近在忙期末考今天才彻底结束&#xff0c;来让我们继续算法之路吧~ 题目引用 组合电话号码的字母组合组合总和组合总和II分割回文串 1.组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回…

m4s转mp3——B站缓存视频提取音频

前言 しかのこのこのここしたんたん&#xff08;鹿乃子乃子虎视眈眈&#xff09;非常之好&#xff0c;很适合当闹钟&#xff0c;于是缓存了视频&#xff0c;想提取音频为mp3 直接改后缀可乎&#xff1f;格式转换工具&#xff1f; 好久之前有记录过转MP4的&#xff1a; m4s转为…

结合大语言模型的异常检测方法研究

论文链接 Research on Anomaly Detection Methodology Combining Large Language Models 论文主要内容 研究背景与目的&#xff1a; 随着大数据和人工智能技术的发展&#xff0c;异常检测在数据分析中变得越来越重要。 本研究提出了一种名为SemantEdge Detection (SED)的新…

《XML》教案 第1章 学习XML基础

《XML》教案 第1章 学习XML基础 主讲人&#xff1a; 回顾上一章: [10分钟] 2 课程知识点讲解&#xff1a; 2 while 循环和do…while 循环的区别&#xff1a;[15分钟] 3 for 循环的使用 &#xff1a;[5分钟] 4 嵌套 for 循环 &#xff1a;[20分钟] 5 本章总结 [10分钟] 6 考核点…

clickhouse-副本和分片

1、副本 1.1、概述 集群是副本和分片的基础&#xff0c;它将ClickHouse的服务拓扑由单节点延伸到多个节点&#xff0c;但它并不像Hadoop生态的某些系统那样&#xff0c;要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活&#xff0c;用户既可以将所有节点组成…

【项目介绍】基于机器学习的低空小、微无人机识别技术

文章目录 1.项目介绍2.数据预处理3.特征选取4.模型训练参考文献 1.项目介绍 对于现代雷达探测系统而言&#xff0c;无人机和飞鸟同属于低空小、微特征的一类典型目标&#xff0c;而面对比较复杂的环境&#xff0c;如何有效区分两者类型并完成识别是当下急迫且重要的难题。常规…

Linux系统安装node.js

一、node官网下载想要的node版本 https://nodejs.org/en/download/package-manager 二、将tar.xz文件解压 tar -xvf node-vxxx.tar.xz 三、改文件夹的名字&#xff0c;改成nodejs mv node-xxx nodejs 四、复制nodejs文件&#xff0c;并上传到linux 服务器 /usr/local 目录下…