简历技能面试问答

news2024/9/23 21:34:37

变成语言和开发工具

C++新特性

自动类型推导 (auto): 自动推导变量的类型,减少显式类型声明的繁琐

范围 for 循环: 用于遍历容器或数组,简化代码。

nullptr: nullptr 取代 NULL,表示空指针,类型更明确。

lambda 表达式: 允许定义匿名函数,常用于 STL 算法或事件处理。

智能指针 (std::shared_ptr 和 std::unique_ptr): 引入了自动管理内存的智能指针,减少手动管理内存泄漏的风险

右值引用 (&&) 和移动语义: 移动语义允许资源的转移,而不是复制,提高了性能,特别是在容器操作中

线程支持 (<thread> 头文件): 引入了标准线程库,简化了多线程编程

数据结构与算法

数组

链表

队列

排序

快速排序

冒泡排序

选择排序

设计模式

设计模式(工厂模式与单例模式)-CSDN博客

STL标准模板库

STL容器-CSDN博客

系统级编程

指针

内存管理

内存分配策略

静态分配:在编译期分配固定大小的内存

动态分配:运行时根据需要分配内存,如使用malloc

IO操作

I/O多路复用的基本思想,是使用于一个或多个系统调用来监视多个文件描述符,当其中一个或多个文件描述符就绪时,通知程序进行相应的操作。这样就可以再单线程中处理多个I/O操作,而无需为没哟个连接创建一个线程或2进程

select:

最早的I/O多路复用机制,可以监视一组文件描述符,当某个文件描述符就绪时,select返回,程序可以进行相应的读写操作。缺点:存在最大文件描述符限制

poll:

poll不再不再限制文件描述符的数量,使用pollfd结构体数组来监视文件描述符。缺点:高并发场景下仍存在性能问题。

epoll:Linux特有

epoll支持边缘触发和水平触发,能够高效地处理大量并发连接。适用于高负载的服务器应用

进程控制

fork和vfork都是创建进程的方式

fork创建的子进程是对父进程的数据段和代码段进行拷贝·,而vfork是共享数据段、堆栈段

fork通过写时赋值来给子进程开辟独立的地址空间父子进程执行的顺序不确定,而vfork子进程执行结束之后父进程才能执行,vfork()保证子进程先运行,在调用exec之后父进程才可能被调度运行。

进程通信

传统通信:

管道(无名管道、有名管道):

信号(异步):

ipc通信:

消息队列(管道的集合):

共享内存(地址映射的方式):

信号量(信号灯的集合):

网络编程

TCP

TCP流量控制:让发送端根据接收端的的实际接收能力控制发送的数据量

TCP通过滑动窗口来控制流量

TCP滑动窗口:分为发送窗口和接收窗口,实际是操作系统开辟的缓存空间,窗口大小值表示无需等待确认应答,而可以发送数据的最大值。

TCP头部有个字段叫win,也即那个16位的窗口大小,他告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,从而达到流量控制

TCP拥塞控制:避免发送发的数据填满整个网络。常用算法:慢启动、拥塞避免、拥塞发生、快速恢复。

UDP

Socket

并发和并行编程

线程同步机制

线程同步机制用于解决多个线程同时访问共享资源是可能出现的竞态条件,确保多个线程协作执行任务时的一致性和正确性。在多线程编程中,常见的线程同步机制包括互斥锁、信号量、条件标量、读写锁。

互斥锁:用于保护共享资源,使得同一时间只有一个线程访问该资源

信号量:信号量是一个计数器·,用于控制对共享资源的发变废为宝,允许多个线程同时访问特定数量的资源

条件变量:用于线程之间的等待和通知,当某个条件未满足时,线程可以等待,直到另一个线程发出通知

读写锁:允许多个线程同时读取资源,但是有写操作时,其它读写操作都会被阻塞

递归锁:自旋锁无法获取时,线程会不断的忙等待,即循环检测锁是否可用,而不是阻塞,会消耗CPU资源

线程读写分离

线程读写分离可以提高并发性能的常用编程计数,在需要频繁读取数据但写入操作相对较少的场景中使用

线程池

线程池通过vector管理线程,使用队列存储待执行的任务,线程池通过submit方法提交任务,任务被封装并加入队列中,当任务到来时,通过条件变量唤醒等待的线程,线程执行任务。线程池关闭时会确保任务执行完毕并释放资源

什么是线程池,优缺点,线程池的大小

线程池是通过提前创建一组线程来处理任务,可以提高性能、减少线程创建和销毁的开销

优点:提高系统的资源利用率,减少频繁的线程创建和销毁

缺点:增加了系统的复杂性,增加了管理难度

线程大小:根据CPU的核心数和任务性质来确定

条件变量的作用是什么?

用于线程同步,当某个条件不满足时,线程可以挂起并等待条件变量的通知,以避免忙等待,

用锁来保证数据安全,确保同一时间只有一个线程可以访问这些数据

什么是死锁,如何避免?

死锁是因为两个或多个线程因争夺资源而导致的相互等待状态。

避免方法:按顺序请求资源,使用超时机制

内存池

预先分配大内存块的技术,然后再此内存块内分配小块内存,小内存块使用嵌入式指针相连,这样可以减少频繁的分配和释放,提高性能.

操作系统

Linux常用命令

ls--list directory contents    列出当前文件夹内容

man ls     打开工具手册

mkdir--make directories    创建文件/文件夹

d   目录

rm       删除文件/文件夹

rm -r   删除文件/文件夹

touch   创建文件

cp    复制

cd    改变工作目录  cd/usr/ 切换文件夹

-help  --help   帮助

pwd    打印当前文件夹所在的名字

mv     重命名/移动文件

vi   readme.md     在readme.md内写内容

数据库

SQL语句

创建数据库:create database

创建表:create table

修改表:alter table

删除表:Drop table

插入数据:insert into

更新数据:update

删除数据:delete

授予权限:grant

回收权限:revoke

内连接:inner join

四大特性

原子性:事物是一个完整的操作,要么都成功,要么都不执行

一致性:事务执行的结果符合预期

隔离性:事物与事物之间互不影响

持久性:事物操作成功后修改应该是永久的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

出海企业如何利用海外云手机开展业务?

随着全球化的持续推进&#xff0c;越来越多的企业将目光投向海外市场。然而&#xff0c;面对不同国家的网络环境、政策限制以及文化和语言的差异&#xff0c;出海企业在拓展海外业务时遇到了许多障碍。海外云手机作为一种创新的解决方案&#xff0c;为企业提供支持和帮助。 海外…

【高阶用法】uniapp的i18n/修复/增强/App无重启更换语言

痛点 在i18n多语言模块使用过程中&#xff0c;发现下面几个问题&#xff0c;需要解决 1&#xff09;uni-best框架下&#xff0c;$t功能函数无法实时的切换语言&#xff0c;可能跟使用有关 2&#xff09;uni-best建议的translate方式在vue块外使用太繁琐&#xff0c;希望不用…

verilog中非阻塞多个if 优先级判断。

always(posedge clk)beginz < 0;if(sel0)z < a;if(sel1)z < b;if(sel2)z < c;if(sel3)z < d;end 比如上述代码&#xff0c;最后一级的优先级最高。

深入理解 JavaScript 三大作用域:全局作用域、函数作用域、块级作用域

一. 作用域 对于多数编程语言&#xff0c;最基本的功能就是能够存储变量当中的值、并且允许我们对这个变量的值进行访问和修改。那么有了变量之后&#xff0c;应该把它放在哪里、程序如何找到它们&#xff1f;是否需要提前约定好一套存储变量、访问变量的规则&#xff1f;答案…

Teams会议侧边栏应用开发-会议转写

Teams应用开发&#xff0c;主要是权限比较麻烦&#xff0c;大量阅读和实践&#xff0c;摸索了几周&#xff0c;才搞明白。现将经验总结如下&#xff1a; 一、目标&#xff1a;开发一个Teams会议的侧边栏应用&#xff0c;实现会议的实时转写。 二、前提&#xff1a; 1&#x…

株洲芦淞大桥事故的深刻反思

株洲芦淞大桥事故的深刻反思 2024年9月23日清晨&#xff0c;株洲芦淞大桥上发生了一起令人痛心的交通事故&#xff0c;一辆白色小汽车被出租车追尾后失控&#xff0c;冲向对向车道&#xff0c;最终酿成6人死亡、多人受伤的惨剧。 这起事故不仅给受害者家庭带来了无法弥补的伤…

【Python机器学习系列】开发Streamlit应用程序并部署机器学习模型(案例+源码)

这是我的第357篇原创文章。 一、引言 近年来&#xff0c;随着机器学习和人工智能技术的迅猛发展&#xff0c;越来越多的研究者选择将他们的模型以应用程序&#xff08;App&#xff09;的形式进行部署&#xff0c;从而使审稿人和其他研究者可以通过简单的界面&#xff0c;输入相…

9月23日

头文件 // My_string.h #ifndef MY_STRING_H #define MY_STRING_H#include <cstring> #include <algorithm>class My_string { private:char* data;size_t length;void resize(size_t new_length) {size_t new_capacity std::max(new_length 1, length);char* n…

一种求解城市场景下无人机三维路径规划的高维多目标优化算法,MATLAB代码

在城市环境下进行无人机三维路径规划时&#xff0c;需要考虑的因素包括高楼、障碍物、飞行安全和效率等。为了解决这些问题&#xff0c;研究者们提出了多种算法&#xff0c;包括基于智能优化算法的方法。 首先&#xff0c;无人机航迹规划问题的数学模型需要考虑无人机的基本约…

用Flowise+OneAPI+Ollama做一个在线翻译工作流

用FlowiseOneAPIOllama做一个在线翻译工作流&#xff0c;输入一种语言&#xff0c;马上翻译成另外一种语言&#xff0c;使用到的结点主要有&#xff0c;ChatLLM、提示词模板还有LLM Chain。 一、设置OneAPI和Ollama 1、Ollama的安装及配置&#xff0c;请参考&#xff1a;在ub…

三种委派 非约束委派 约束委派 基于资源的约束委派 概念

前言 简单记录下委派攻击的概念。具体的攻击演示/复现这里没有。 强烈建议反复通读《域渗透攻防指南》P242开始的4.5&#xff01;&#xff01;&#xff01; 以前看gitbook那个学的&#xff0c;yysy&#xff0c;真的不怎么适合零基础的看。 趁课上认真看了看4.5章&#xff0c…

如何快速免费搭建自己的Docker私有镜像源来解决Docker无法拉取镜像的问题(搭建私有镜像源解决群晖Docker获取注册表失败的问题)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Docker无法拉取镜像 📒📒 解决方案 📒🔖 方法一:免费快速搭建自己的Docker镜像源🎈 部署🎈 使用🔖 备用方案⚓️ 相关链接 🚓️📖 介绍 📖 在当前的网络环境下,Docker镜像的拉取问题屡见不鲜(各类Nas查询…

【编程基础知识】MySQL中什么叫做聚簇索引、非聚簇索引、回表、覆盖索引

一、引言 在数据库的奇妙世界里&#xff0c;索引是提升查询速度的超级英雄。就像图书馔的目录帮助我们快速找到书籍一样&#xff0c;MySQL中的索引加速了数据检索的过程。本文将带你深入了解MySQL中的聚簇索引、非聚簇索引、回表操作以及覆盖索引&#xff0c;探索它们如何影响…

机器人顶刊IEEE T-RO发布无人机动态环境高效表征成果:基于粒子的动态环境连续占有地图

摘要&#xff1a;本研究有效提高了动态环境中障碍物建模的精度和效率。NOKOV度量动作捕捉系统助力评估动态占用地图在速度估计方面的性能。 近日&#xff0c;上海交通大学、荷兰代尔夫特理工研究团队在机器人顶刊IEEE T-RO上发表题为Continuous Occupancy Mapping in Dynamic …

Keysight 下载信源 Visa 指令

用于传输原始的IQ数据 file.wiq 或者 file.bin wave_bin:bytes with open("./WaveForm.wfm","rb") as f:wave_bin f.read()log.info("File:WaveForm.wfm Size:%d Bytes"%len(wave_bin)) IMPL.sendCommand(":MEM:DATA \"WFM1:FILE1\&q…

每日OJ题_牛客_杨辉三角(动态规划)

目录 牛客_杨辉三角&#xff08;动态规划&#xff09; 解析代码 牛客_杨辉三角&#xff08;动态规划&#xff09; 杨辉三角_牛客题霸_牛客网 解析代码 最基础的 dp 模型&#xff0c;按照规律模拟出来杨辉三角即可。 #include <iostream> using namespace std;int dp…

企业上云不迷茫,香港电讯助力企业上云全攻略

在全球政策和市场双重驱动下&#xff0c;云计算产业正迎来前所未有的增长浪潮。据中国信通院《云计算白皮书&#xff08;2023年&#xff09;》1显示&#xff0c;2022年全球云计算市场规模已达到4,910亿美元&#xff0c;同比增长率高达百分之十九。而在中国市场&#xff0c;这一…

带线无人机现身俄罗斯抗干扰技术详解

带线无人机在俄罗斯的出现&#xff0c;特别是其光纤制导技术的应用&#xff0c;标志着无人机抗干扰技术的一大进步。以下是对俄罗斯带线无人机抗干扰技术的详细解析&#xff1a; 一、带线无人机抗干扰技术背景 技术突破&#xff1a;俄军成功研发了光纤制导无人机&#xff0c;…

数据链路层协议 —— 以太网协议

目录 1.数据链路层解决的问题 2.局域网通信方式 以太网 令牌环网 无线局域网 3.以太网协议 以太网帧格式 对比理解Mac地址和IP地址 认识MTU MTU对IP协议的影响 MTU对UDP的影响 MTU对TCP的影响 基于以太网协议的报文转发流程 交换机的工作原理 4.ARP协议 ARP协议…

springboot+vue高校两校区通勤校车预约系统的设计与实现

目录 用户功能管理员功能系统实现截图技术介绍核心代码部分展示使用说明详细视频演示源码获取 用户功能 登录注册&#xff1a;允许用户创建账户并登录系统。 首页&#xff1a;展示系统主要功能和通勤车相关的重要信息。 个人中心&#xff1a;用户可以查看和编辑自己的个人信息…