当前位置: 首页 > 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…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...