当前位置: 首页 > news >正文

go面试问题

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;

相关文章:

go面试问题

1 Go的内存逃逸如何分析 go build -gcflags-m main_pointer.go 2 http状态码 300 请求的资源可包括多个位置&#xff0c;相应可返回一个资源特征与地址的列表用于用户终端&#xff08;例如&#xff1a;浏览器&#xff09;选择 301 永久移动。请求的资源已被永久的移动到新U…...

springboot 配置Kafka 关闭自启动连接

这里写自定义目录标题 springboot 配置Kafka 关闭自启动连接方法一&#xff1a;使用 ConditionalOnProperty方法二&#xff1a;手动管理Kafka监听器容器方法三&#xff1a;使用 autoStartupfalse结语 springboot 配置Kafka 关闭自启动连接 在Spring Boot应用程序中&#xff0c…...

selenium工作原理

原文链接&#xff1a;https://blog.csdn.net/weixin_67603503/article/details/143226557 启动浏览器和绑定端口 当你创建一个 WebDriver 实例&#xff08;如 webdriver.Chrome()&#xff09;时&#xff0c;Selenium 会启动一个新的浏览器实例&#xff0c;并为其分配一个特定的…...

day14-16系统服务管理和ntp和防火墙

一、自有服务概述 服务是一些特定的进程&#xff0c;自有服务就是系统开机后就自动运行的一些进程&#xff0c;一旦客户发出请求&#xff0c;这些进程就自动为他们提供服务&#xff0c;windows系统中&#xff0c;把这些自动运行的进程&#xff0c;称为"服务" window…...

Hadoop、Hbase使用Snappy压缩

1. 前期准备 系统环境&#xff1a;centos7.9 配置信息&#xff1a;8C8G100G hadoop和hbase为单节点部署模式 jdk版本jdk1.8.0_361 1.1. 修改系统时间 timedatectl set-timezone <TimeZone> 1.2. 修改主机名以及主机名和IP的映射 vim /etc/hosts #将自己的主机名以及…...

【python】OpenCV—Image Moments

文章目录 1、功能描述2、图像矩3、代码实现4、效果展示5、完整代码6、涉及到的库函数cv2.moments 7、参考 1、功能描述 计算图像的矩&#xff0c;以质心为例 2、图像矩 什么叫图像的矩&#xff0c;在数字图像处理中有什么作用&#xff1f; - 谢博琛的回答 - 知乎 https://ww…...

环境变量的知识

目录 1. 环境变量的概念 2. 命令行参数 2.1 2.2 创建 code.c 文件 2.3 对比 ./code 执行和直接 code 执行 2.4 怎么可以不带 ./ 2.4.1 把我们的二进制文件拷贝到 usr/bin 路径下&#xff0c;也不用带 ./ 了 2.4.2 把我们自己的路径添加到环境变量里 3. 认识PATH 3.…...

ATECLOUD测试平台有哪些功能?

测试方案搭建 可视化拖拽编程&#xff1a;采用零代码的图文拖拽形式&#xff0c;用户通过鼠标拖拽节点和连线&#xff0c;即可可视化地构建测试模型&#xff0c;无需懂得代码开发&#xff0c;15 分钟左右就能快速搭建项目&#xff0c;大大降低了上手门槛。 子项目多层嵌套&am…...

使用pyinstaller打包pyqt的程序,运行后提示ModuleNotFoundError: No module named ‘Ui_main‘

环境&#xff1a;windowpython3.9pyqt6 使用pyqt UI编辑器生成了main.ui &#xff0c;main.ui编译成了Ui_main.py main.py 使用当前目录下的Ui_main.py。 打包过程没报错&#xff0c;运行报错。 错误如下: 解决方法&#xff1a;pyinstaller -Fw main.py --paths. 使…...

搭建分布式Spark集群

title: 搭建分布式Spark集群 date: 2024-11-29 12:00:00 categories: - 服务器 tags: - Spark - 大数据搭建分布式Spark集群 本次实验环境&#xff1a;Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、scala-2.11.5、Spark-3.2.1 功能规划 MasterSlave1Slave2主节点…...

Django基础 - 01入门简介

一、 基本概念 1.1 Django说明 Django发布于2005年&#xff0c; 网络框架&#xff0c; 用Python编写的开源的Web应用框架。采用了MVC框架模式&#xff0c;也称为MTV模式。官网&#xff1a; https://www.djangoproject.com1.2 MVC框架 Model&#xff1a; 封装和数据库相关…...

简单的bytebuddy学习笔记

简单的bytebuddy学习笔记 此笔记对应b站bytebuddy学习视频进行整理&#xff0c;此为视频地址&#xff0c;此处为具体的练习代码地址 一、简介 ByteBuddy是基于ASM (ow2.io)实现的字节码操作类库。比起ASM&#xff0c;ByteBuddy的API更加简单易用。开发者无需了解class file …...

【服务端】Redis 内存超限问题的深入探讨

在 Java 后端开发中&#xff0c;Redis 内存超限是一个常见的问题&#xff0c;可能由多种原因引起。理解这些原因以及如何处理已经超出限制的数据对于保持系统的稳定性和性能至关重要。 一、Redis 内存超限的原因分析 Redis 是一个高性能的内存键值对存储系统&#xff0c;它在…...

Springboot logback 日志打印配置文件,每个日志文件100M,之后滚动到下一个日志文件,日志保留30天(包含traceid)

全部配置 logback.xml <?xml version"1.0" encoding"UTF-8"?> <configuration debug"false"><property name"LOG_HOME" value"log"/><property name"LOG_NAME" value"admin"/&g…...

《计算机组成及汇编语言原理》阅读笔记:p1-p8

《计算机组成及汇编语言原理》学习第 1 天&#xff0c;p1-p8 总结&#xff0c;总计 8 页。 一、技术总结 1.Intel 8088 microprocessor(微处理器)&#xff0c; 1979-1988。 2.MS-DOS Microsoft Disk Operating System的缩写&#xff0c;是一个操作系统(operating system)。…...

【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现

一、orika工具使用 1)工具类 package com.xinyue.game.utils;import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory;/*** author 王广帅* since 2022/2/8 22:37*/ public class XyBeanCopyUtil {private static MapperFactory mappe…...

在 Ubuntu 上安装 MySQL 的详细指南

在Ubuntu环境中安装 mysql-server 以及 MySQL 开发包&#xff08;包括头文件和动态库文件&#xff09;&#xff0c;并处理最新版本MySQL初始自动生成的用户名和密码&#xff0c;可以通过官方的APT包管理器轻松完成。以下是详细的步骤指南&#xff0c;包括从官方仓库和MySQL官方…...

Java 优化springboot jar 内存 年轻代和老年代的比例 减少垃圾清理耗时 如调整 -XX:NewRatio

-XX:NewRatio 是 Java Virtual Machine (JVM) 的一个选项&#xff0c;用于调整 年轻代&#xff08;Young Generation&#xff09;和 老年代&#xff08;Old Generation&#xff09;之间的内存比例。 1. 含义 XX:NewRatioN 用于指定 老年代 与 年轻代 的内存比例。 N 的含义&…...

嵌入式驱动RK3566 HDMI eDP MIPI 背光 屏幕选型与调试提升篇-eDP屏

eDP是嵌入式显示端口&#xff0c;具有高数据传输速率&#xff0c;高带宽&#xff0c;高分辨率、高刷新率、低电压、简化接口数量等特点。现大多数笔记本电脑都是用的这种接口。整个eDP是很复杂的&#xff0c;这里我们不讲底层原理&#xff0c;我们先掌握如何用泰山派来驱动各种…...

在Java虚拟机(JVM)中,方法可以分为虚方法和非虚方法。

在Java虚拟机(JVM)中,方法可以分为虚方法和非虚方法。以下是关于这两种方法的详细解释: 一、虚方法(Virtual Method) 定义:虚方法是指在运行时由实例的实际类型决定的方法。在Java中,所有的非私有、非静态、非final方法都是虚方法。当调用一个虚方法时,JVM会根据实…...

Java后端工程师必备:系统学习大模型应用开发(收藏版)

本文深入探讨了Java后端工程师如何系统性地学习AI应用开发&#xff0c;从基础的CRUD操作到大模型的集成&#xff0c;包括RAG、Tool Calling、MCP、Agent等关键技术。文章强调了AI应用开发不仅是调用大模型接口&#xff0c;而是将大模型能力融入真实业务系统&#xff0c;实现理解…...

Unity3D项目跨平台部署实战:从Windows到Linux的完整流程与避坑指南

1. 环境准备&#xff1a;搭建跨平台开发基础 跨平台部署的第一步是确保开发环境配置正确。很多开发者容易忽略这一步&#xff0c;结果在后续流程中遇到各种奇怪的问题。我在实际项目中遇到过多次因为环境不匹配导致的编译失败&#xff0c;所以特别强调环境准备的重要性。 首先需…...

卡梅德生物技术快报|骆驼纳米抗体:从原核表达、高通量测序到分子对接全流程实现

1. 问题背景&#xff08;技术痛点&#xff09;靶向结合分子开发中&#xff0c;传统抗体制备存在&#xff1a;分子量大&#xff0c;扩散与穿透效率有限&#xff1b;文库构建与淘选周期长&#xff0c;难以规模化&#xff1b;原核表达与纯化体系不稳定&#xff0c;批次差异大&…...

从化学结构到生物大分子:Ketcher的模块化绘图技术深度解析

从化学结构到生物大分子&#xff1a;Ketcher的模块化绘图技术深度解析 【免费下载链接】ketcher Web-based molecule sketcher 项目地址: https://gitcode.com/gh_mirrors/ke/ketcher Ketcher作为一款专业的Web分子编辑器&#xff0c;不仅支持基础化学结构绘制&#xff…...

运放噪声深度解析:从原理到工程实践的计算与优化

1. 项目概述&#xff1a;为什么我们需要关心运放的噪声&#xff1f;如果你曾经调试过一个高精度的信号调理电路&#xff0c;比如一个微弱的传感器信号放大链路&#xff0c;或者一个高分辨率的ADC前端&#xff0c;你大概率遇到过这样的场景&#xff1a;理论上&#xff0c;你的电…...

戴尔笔记本风扇控制神器:DellFanManagement让你的设备更安静更高效

戴尔笔记本风扇控制神器&#xff1a;DellFanManagement让你的设备更安静更高效 【免费下载链接】DellFanManagement A suite of tools for managing the fans in many Dell laptops. 项目地址: https://gitcode.com/gh_mirrors/de/DellFanManagement 你是否曾在深夜工作…...

AI编码工具集:提升开发效率的智能助手选型与应用指南

1. 项目概述&#xff1a;为什么我们需要一个AI编码工具集&#xff1f;如果你和我一样&#xff0c;每天大部分时间都在和代码打交道&#xff0c;那你肯定对这样的场景不陌生&#xff1a;面对一个复杂的业务逻辑&#xff0c;你卡在某个函数的设计上&#xff0c;反复调试却找不到最…...

Zynq/ZynqMP PL端以太网避坑指南:手把手教你配置GMII to RGMII IP(从Vivado到Linux设备树)

Zynq/ZynqMP PL端以太网开发实战&#xff1a;从GMII到RGMII的完整避坑手册 在嵌入式系统开发中&#xff0c;以太网功能几乎是现代设备的标配需求。当使用Xilinx Zynq或ZynqMP系列芯片时&#xff0c;开发者常面临一个关键选择&#xff1a;使用PS端内置的MAC控制器&#xff0c;还…...

从‘一片黑’到重点突出:手把手教你用ArcGIS为乡镇规划图添加专业级影像蒙版

从‘一片黑’到重点突出&#xff1a;手把手教你用ArcGIS为乡镇规划图添加专业级影像蒙版 在乡镇规划汇报中&#xff0c;一张能清晰传达重点区域的地图往往比千言万语更有说服力。想象一下这样的场景&#xff1a;当决策者面对一张全区域亮度均一的遥感影像时&#xff0c;他们的视…...

MonoGame内存使用监控:自定义性能计数器实现终极指南

MonoGame内存使用监控&#xff1a;自定义性能计数器实现终极指南 【免费下载链接】MonoGame One framework for creating powerful cross-platform games. 项目地址: https://gitcode.com/gh_mirrors/mo/MonoGame MonoGame作为一款强大的跨平台游戏开发框架&#xff0c;…...