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

牛客后端开发面试题3

 阿里巴巴2021

1、通配符的含义

在字符串匹配时可以代替一定范围的字符。

2、死锁的基本知识

产生死锁的原因:

1.系统资源不足

2.进程运行推进方式不合理

3.分配资源不合理

(把幼儿园老师比作操作系统,幼儿园里的玩具比作系统资源,死锁就是小朋友们都争抢玩具却没得玩尬住了,如果玩具足够多,就不会有没有玩具玩的小朋友;如果老师安排轮流玩或者其他合理方案,小朋友们就不会因此争夺;另外就是本来只有三个球,十个人要一起玩耍,而其中一个小朋友一次性就占了两个球也是不合理的)

产生死锁的四个必要条件:

1.互斥条件:保证一个资源,每次只能给一个进程使用

2.请求与保持:一个进程因请求资源阻塞时,对于已经获得的资源保持不变

3.不剥夺条件:对于已获得资源的进程,其未使用完之前,不能强行剥夺其资源。

4.循环等待条件:若干个进程之间形成一种头尾相接的循环等待的过程

死锁的解除与预防:

从产生死锁的三个原因下手去解决,设计合理的调度算法和资源分配就能一定程度避免死锁

3、 delete、new的用法

new和delete是动态内存管理的操作符。

new空间必须要delete释放,new[]申请也要delete[]释放,并且delete之后要把指针置为nullptr

,否则指针就会变成悬空指针(野指针)

4、STL中迭代器的工作原理,迭代器与普通指针有什么区别?

迭代器的使用类似于指针,它可以访问容器中的对象

相同点:

1.迭代器和指针都可以+、-以访问前n个或后n个元素

2.迭代器和指针都可以进行减运算,指针减指针是两个指针之间的距离,迭代器减迭代器是两个迭代器之间的距离

3.通过指针和迭代器都可以修改所指向的元素

不同点:

1.输出时,指针可以直接输出值,而迭代器返回的是对象,对象不能直接输出,要加上*才能输出对象的值

2.指针是可以指向函数的,而迭代器只能指向容器中的元素

5、什么是友元?

友元本质上是破坏了C++的封装性的,但是在不暴露数据安全的情况下,让函数和类访问它,实现了可扩展性和安全性,也提供了便捷。

有友元类和友元函数。友元类是在类中声明为友元的另一个类。友元函数是在类中声明了一个非成员函数,友元类和友元函数都可以访问该类的私有和保护成员。

class A

{

        A(){}

        friend class B;

        //A把B添加到自己的通讯录了,把B当朋友,B可以访问A里面的所有成员函数和私有成            员、保护成员。但是A不可以访问B的私有成员保护成员
}

友元的三个特性:单向的(单相思,别人可以访问你但是你不能访问别人)、不可传递(A是B的友元,B是C的友元,A不是C的友元)、不可继承。

6、typename的用法

在C++中,typename是一个关键字,用于告诉编译器某个符号是一个类型,而不是一个变量或函数。通常在模板中使用,因为模板中的类型有可能是嵌套的类型,需要使用typename来明确表示。

7、编程判断一个数是否为2的幂

n&(n-1)==0就是。

因为2的n次方数字,应该只有1个1并且右边是全0,

8、你怎样重新改进和设计一个ATM银行自动取款机?用指纹识别、人脸识别来替代密码输入;

首先要添加硬件设备,其次要保证安全性不能被攻击,然后再设计相应的算法以及故障处理(如果人脸识别或指纹用不了还可以用密码登录)。

相关文章:

牛客后端开发面试题3

阿里巴巴2021 1、通配符的含义 在字符串匹配时可以代替一定范围的字符。 2、死锁的基本知识 产生死锁的原因: 1.系统资源不足 2.进程运行推进方式不合理 3.分配资源不合理 (把幼儿园老师比作操作系统,幼儿园里的玩具比作系统资源&#xff0c…...

Postman-脚本自动化及定时执行脚本(7)

一.postman脚本自动化(从postman至Newman可以一键执行脚本并生成报告:) Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境&#xf…...

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目

演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…...

【C++】 C++11 新特性探索:decltype 和 auto

▒ 目录 ▒ 🛫 问题描述环境 1️⃣ decltype推导变量类型推导函数返回类型 2️⃣ auto自动推导变量类型迭代器和范围循环 3️⃣ decltype 和 auto 同时使用🛬 结论📖 参考资料 🛫 问题 描述 C11 引入了一些强大的新特性&#xff…...

【Jeecg Boot 3 - 第二天】1.2、jar 包和 lib 依赖分离,部署包缩小100倍

一、场景 二、思路 三、实战 ▶ 2.1、项目 jar 包解压获取 lib config Stage 1:正常打包获取 jeecg-system-start-3.6.0.jar Stage 2:解压 获取如下文件 Stage 3:获取 lib config ▶ 2.2、获取简化版项目jar包 Stage 1&#xff1…...

电商平台的易聊集成:无代码开发,API连接,CRM支持

连接电商与客服:易聊的创新解决方案 在迅速变化的电子商务市场中,企业要想保持竞争力,就必须拥有高效灵活的客服体系。易聊,一家领先的AISaaS服务商,正是基于这一需求,推出了一系列创新产品。它们通过智能…...

Draw.io or diagrams.net 使用方法

0 Preface/Foreword 在工作中,经常需要用到框图,流程图,时序图,等等,draw.io可以完成以上工作。 official website:draw.io 1 Usage 1.1 VS code插件 draw.io可以扩展到VS code工具中。...

CAPL——发送自定义报文

文章目录 一、前言二、CANoe操作二、CAPL程序三、Trace结果一、前言 CAPL是CANoe自带的一个编程语言,基本语法基于C语言,通过CAPL可以发挥CANoe更高效、更强大的功能。CAPL最大的特点就是可以编程灵活的完成报文的发送,报文包括通信报文及诊断报文 本文讲述模拟一个报文周…...

接口自动化测试实操【设置断言思路】

1 断言设置思路 这里总结了我在项目中常用的5种断言方式,基本可能满足90%以上的断言场景,具体参见如下脑图: 在这里插入图片描述 下面分别解释一下图中的五种思路: 1) 响应码 对于http类接口,有时开发人…...

windows redis 允许远程访问配置

安装好windows版本的redis,会以服务方式启动,但是不能远程访问,这个时候需要修改配置。redis安装路径下会有2个配置文件,究竟需要怎么修改才能生效呢?看下图 这里的redis服务指定了是redis.windows-service.conf文件&…...

三、JS逆向

一、JS逆向 解释:在我们爬虫的过程中经常会遇到参数被加密的情况,这样只有先在前端搞清楚加密参数是怎么生成的才能继续我们的爬虫,而且此时我们还需要用python去执行这个加密的过程。本文主要讲怎么在浏览器调试JS,以及Python执…...

HBase 高可用集群详细图文安装部署

目录 一、HBase 安装部署 1.1 Zookeeper 正常部署 1.2 Hadoop 正常部署 1.3 HBase 安装 1.4 HBase 的配置文件 1.4.1 hbase-env.sh 1.4.2 hbase-site.xml 1.4.3 regionservers 1.4.4 创建目录 1.5 HBase 远程发送到其他节点 1.6 HBase 服务的启动 1.6.1 单点…...

现代雷达车载应用——第2章 汽车雷达系统原理 2.6节 雷达设计考虑

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.6 雷达设计考虑 上述部分给出了汽车雷达基本原理的简要概述。在雷达系统的设计中,有几个方面是必不可少的,它们决定了雷达系…...

【JVM从入门到实战】(五)类加载器

一、什么是类加载器 类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 类加载器只参与加载过程中的字节码获取并加载到内存这一部分。 二、jdk8及之前的版本 类加载器分为三类: 启动类加载器-加载Ja…...

计算机毕业设计 基于Web的城市旅游网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

【人工智能革命】:AIGC时代的到来 | 探索AI生成内容的未来

🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. AIGC 技术的概述和发展趋势1.1 AIGC 技术的概述1.2 AIGC 技术的发展趋势 二. AIGC 与元宇…...

spring-boot-data-jpa、JPA实现分页

spring-boot-data-jpa、JPA实现分页 JPA越来越丰富了,下面使用springboot3.x实现JPA分页 通过传入PageRequest pageRequest PageRequest.of(page, size);到接口查询,返回Page拿到分页数据。 转自 https://lingkang.top/archives/jpa-shi-xian-fen-ye …...

云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持

一、cgroup v2 有哪些优势? Linux 中有两个 cgroup 版本:cgroup v1 和 cgroup v2。cgroup v2 是新一代的 cgroup API。Kubernetes 自 v1.25 起 cgroup2 特性正式 stable。cgroup v2 提供了一个具有增强资源管理能力的统一控制系统,cgroup v2…...

QT实现四则运算计算器

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setMaximumSize(240,300);this->setMinimumSize(240,300);this->setWindowTitle("计算器&…...

mysql的redolog、undo、binlog的作用

概览: MySQL三大日志包括:undolog,redo log,binlog,它们分别有以下作用: undolog:是Innodb存储引擎事务生成的日志。用于事务的回滚和MVCC,保证了事务的原子性。 redo log&#x…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息&#xff0…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键&#xff…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...