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

华为OD面试记录

The experience of applying for software test engineer(Dispatcher)

记录保存

招聘岗位: 测试工程师

Base:西安

华为面试流程如下:

流程名内容
机试三题,总分400分,最后一道题200分
人力资源面试询问私人问题,不谈薪资
一面技术面
二面技术面
主管问项目
提交文件背景调查

机试题:

  1. 字符串找到最小无重复子串(最大),输出其数量。
    经典题,面试题也出现过一次,由此可见这道题基本上算是必考范畴.

解法:

/*** @file GetMaxLengthOfSubstring.cpp* @author zhanggao* @brief 基于双指针的寻最大子串算法* @version 0.1* @date 2023-08-02* * @copyright Copyright (c) 2023* */
#include <iostream>// double ptr
using namespace std;
/*** @brief 判断子串是否包含重复值* * @param target 重复值* @param characterString 子串 * @param front 指向子串的头指针* @param tail 指向子串的尾指针* @return int 若不存在返回0,存在返回下标*/
int isInclude(const char &target, const char *characterString, const int &front,const int &tail);int main() {char *s; // inputint front = 0, tail = 0, maxLength = 0, length, temp;cin >> s; // index for the first and end// double ptr method, front for the 1st of substring, tail for the last offor (int index = 1; s[index] != '\0';index++) { // iterate all elements of the stringtemp = isInclude(s[index], s, front, tail);if (temp > 0) { // check if include the target(it)front = temp;  // add the index until *it is not in the substring;}tail++; // forward to behindlength = tail - front + 1; // get the current lengthmaxLength = length > maxLength? length: maxLength; // compare with the previous the maxlength}cout << maxLength << endl;return 0;
}int isInclude(const char &target, const char *characterString, const int &front,const int &tail) {for (int i = front; i <= tail; i++) { // check if is includeif (characterString[i] == target) {return i + 1;}}return 0;
}
  1. 括号对称,用栈方式进行解决
bool isSymmetric(string s) {char *stack = s.data();char a;int index = 0;for (int i = 0; i < s.length(); i++) {a = s[i];if (index > 0 && (stack[index - 1] + 1 == a || stack[index - 1] + 2 == a)) {stack[index - 1] = 0;index--;} else {stack[index] = a;index++;}}return stack[0] == 0;
}
  1. 给你一系列数值,依次构建成树,输入null的为叶节点。返回其树的最左数据节点和最右数据节点的距离(意为中间有多少个数据节点)

输入:root = [1,3,2,5,0,0,9,6,0,7]
输出:7
解释:宽度为 7 (6,null,null,null,null,null,7) 。

/*** @file distance_between_leftest_point_and_rightest_point.cpp* @author ZhangGao* @brief 用队列保存其状态即可* @version 0.1* @date 2023-08-03* * @copyright Copyright (c) 2023* */
#include <iostream>
#include <queue>
using namespace std;
int main() {int target;bool status = true;queue<int> statusQueue;cin >> target;statusQueue.push(target);while (cin >> target) {while (statusQueue.front() == 0) {statusQueue.push(0);statusQueue.push(0);statusQueue.pop();}statusQueue.push(target);status = !status;if (status) {statusQueue.pop();}}if(!status){statusQueue.pop();}cout << statusQueue.size();return 0;
}

面试题:

一面面试官询问项目问题:
Q:

项目中推算出眼睛度数的算法是什么?

A:

根据焦距进行倒数后推算出的,焦距可通过远点测距法来算出

Q:

项目的架构是什么?

A:

前端使用的是Vue框架(View Layer)进行开发,然后后端是由Nginx作为负载中间件(也可以称其为WEB服务器应用),Flask(WEB应用框架,Controller Layer),Redis作为缓存中间件(用于放进)

手撕算法题:

删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次.例如:
给出的链表为1->1->1->2,返回1->2.
给出的链表为1->2->3->3,返回1->2->3.

进阶:空间复杂度O(1),时间复杂度 O(n)

/*** struct ListNode {*  int val;*  struct ListNode *next;*  ListNode(int x) : val(x), next(nullptr) {}* };*/
#include <cstdlib>
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param head ListNode类* @return ListNode类*/ListNode* deleteDuplicates(ListNode* head) {// write code hereint temp=-101;//用来保存值ListNode* tempNode=nullptr;ListNode* cursor = head;while(cursor!=nullptr){if(cursor->val!=temp){//确保其不等于temp=cursor->val;//更新值tempNode=cursor;//先保存其更新的节点cursor=cursor->next;//迭代}else{tempNode->next=cursor->next;//synaxIndexException,设置更新的节点链接重复值节点的下一个节点delete cursor;cursor=tempNode->next;//访问下个节点}}return head;}
};

二面面试官:

  1. 三次握手四次挥手

SYN报文 SYN+ACK报文和ACK报文
FIN报文 ACK报文 FIN报文和ACK报文

  1. 红黑树五大原理

红黑树其实就是一种AVL平衡二叉树

根可以是红色也可以是黑色,但基本上叶节点是黑色

红节点的子节点都是黑色,换句话说红节点不能互为父子关系,

每个路径的黑色节点数量都相同。区别在于红色节点是否多。

全为黑色节点的路径是最短路径,最长路径是差不多有黑色节点一样数量的红色节点:最长路径不超过最短路径*2

  1. 测试了解程度

我当时把测试框架说了一遍后也说了测试有很大范畴,首先是从角度来分类可以分成黑盒测试和白盒测试,其中黑盒测试有边界值划分,等价类划分,正交表,基于场景分析,黑盒测试和白盒测试区别在于一个是否查看内部细节,执行测试过程中基本以黑盒测试为主要,白盒测试为辅。
如果是从软件过程角度来思考可以分成问题定义 可行性分析 需求分析 总体设计 详细设计 单元测试 集成测试 系统测试 确认测试 验收测试,这些步骤是

  1. 数据库的基本操作增删改查

create update select delete

  1. 基本命令行应用
    因为我是windows和linux都有所涉及,因此回答该问题时候我直接给面试官打出一系列命令:
    Windows: tasklist taskkill type cd move del chdir rmdir dir net netstat ipconfig clip copy findstr etc…
    Linux: ls pwd cd ps rm rmdir cat tail vm grep nslookup man etc…
    常见命令工具(第三方): vim ssh sftp

相关文章:

华为OD面试记录

The experience of applying for software test engineer(Dispatcher) 记录保存 招聘岗位: 测试工程师 Base:西安 华为面试流程如下&#xff1a; 流程名内容机试三题,总分400分,最后一道题200分人力资源面试询问私人问题&#xff0c;不谈薪资一面技术面二面技术面主管问项目…...

电源控制--品质因素Q值全解

什么是品质因素Q值&#xff1f; 在电源控制中&#xff0c;品质因素 Q 值通常用于描述电源滤波器的性能。电源滤波器用于减小电源中的噪声和干扰&#xff0c;以提供干净稳定的电源供应给电子设备。 品质因素 Q 值在电源滤波器中表示滤波器的带宽和中心频率之比&#xff0c;用于…...

实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 首先&#xff0c;今年比较忙没有多余时间去实操创作分享文章给大家&#xff0c;那就给大家分享下博主在实际工作中的一点点内容吧&#xff0c;就当交…...

EC200 CAT1 拨号PPP

**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 目前 DTU系列 产品&#xff0c;WIFI4G拨号 &#xff0c;默认开机自启动拨号。 WIFI 只需要 根据现场 修改SSID热点和密码…...

外网通过ipv6访问家里设备

想从公司访问家里的设备&#xff0c;比较轻松方便的&#xff0c;用向日葵也可以远程。但是家里电脑比较old的了&#xff0c;向日葵开起来&#xff0c;占用内存挺大的&#xff0c;想尝试windows自带的“mstsc”&#xff0c;所以硬着头皮搞ipv6. &#xff08;重点提示&#xff1…...

docker 如何使用代理

为docker添加代理有三种情况&#xff1a; 为docker pull&#xff08;dockerd&#xff09;添加代理为Docker build添加代理为docker容器添加代理 参考文章如下&#xff1a; 如何优雅的给 Docker 配置网络代理Configure the daemon with systemd 其中&#xff0c;如果在使用代…...

Go和Java实现装饰器模式

Go和Java实现装饰器模式 我们通过人穿着打扮自己的实例来演示装饰器模式的用法。 1、装饰器模式 装饰器模式允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。这种类型的设计模式属于结构型模式&#xff0c;它 是作为现有的类的一个包装。 装饰器模式通过…...

Android中级——RemoteView

RemoteView RemoteView的应用NotificationWidgetPendingIntent RemoteViews内部机制模拟RemoteViews RemoteView的应用 Notification 如下开启一个系统的通知栏&#xff0c;点击后跳转到某网页 public class MainActivity extends AppCompatActivity {private static final …...

SpringBoot核心内容梳理

1.SpringBoot是什么? Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它简化了Spring应用程序的创建和开发过程&#xff0c;使开发人员能够更快速地创建独立的、生产就绪的Spring应用程序。它采用了“约定优于配置”的原则&#xff0c;尽可能地减少开发人员需要进…...

Benchmarking Augmentation Methods for Learning Robust Navigation Agents 论文阅读

论文信息 题目&#xff1a;Benchmarking Augmentation Methods for Learning Robust Navigation Agents: the Winning Entry of the 2021 iGibson Challenge 作者&#xff1a;Naoki Yokoyama, Qian Luo 来源&#xff1a;arXiv 时间&#xff1a;2022 Abstract 深度强化学习和…...

面试题:HTTP Code码及应用场景分析

1xx 消息(临时响应) 属于临时相应&#xff0c;代表所发出的请求已经被接受&#xff0c;需要继续进行处理。只包含状态行和某些可选的响应头信息&#xff0c;并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码&#xff0c;所以除非在某些试验条件下&#xff0c;服务器…...

The ‘kotlin-android-extensions‘ Gradle plugin is no longer supported.

Android使用kotlin开发&#xff0c;运行报错 The kotlin-android-extensions Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.an…...

vi 编辑器入门到高级

vi 编辑器的初级用法vi 编辑器的工作模式1. 命令模式2. 文本输入模式3. 状态行vi 工作模式切换存储缓冲区 vi 编辑器命令1. 启动 vi2. 文本输入3. 退出 vi4. 命令模式下的 光标移动5. 命令模式下的 文本修改6. 从 命令模式 进入 文本输入模式7. 搜索字符串8. vi 在线帮助文档 v…...

【大数据】Flink 详解(二):核心篇 Ⅰ

Flink 详解&#xff08;二&#xff09;&#xff1a;核心篇 Ⅰ 14、Flink 的四大基石是什么&#xff1f; ​ Flink 的四大基石分别是&#xff1a; Checkpoint&#xff08;检查点&#xff09;State&#xff08;状态&#xff09;Time&#xff08;时间&#xff09;Window&#xff…...

Day 75:通用BP神经网络 (2. 单层实现)

代码&#xff1a; package dl;import java.util.Arrays; import java.util.Random;/*** Ann layer.*/ public class AnnLayer {/*** The number of input.*/int numInput;/*** The number of output.*/int numOutput;/*** The learning rate.*/double learningRate;/*** The m…...

PHP序列化,反序列化

一.什么是序列化和反序列化 php类与对象 类是定义一系列属性和操作的模板&#xff0c;而对象&#xff0c;就是把属性进行实例化&#xff0c;完事交给类里面的方法&#xff0c;进行处理。 <?php class people{//定义类属性&#xff08;类似变量&#xff09;,public 代表可…...

Android google admob Timeout for show call succeed 问题解决

项目场景&#xff1a; 项目中需要接入 google admob sdk 实现广告商业化 问题描述 在接入Institial ad 时&#xff0c;onAdLoaded 成功回调&#xff0c;但是onAdFailedToShowFullScreenContent 也回调了错误信息 “Timeout for show call succeed.” InterstitialAd.load(act…...

EFLFK——ELK日志分析系统+kafka+filebeat架构

环境准备 node1节点192.168.40.16elasticsearch2c/4Gnode2节点192.168.40.17elasticsearch2c/4GApache节点192.168.40.170logstash/Apache/kibana2c/4Gfilebeat节点192.168.40.20filebeat2c/4G https://blog.csdn.net/m0_57554344/article/details/132059066?spm1001.2014.30…...

C# MVC controller 上传附件及下载附件(笔记)

描述&#xff1a;Microsoft.AspNetCore.Http.IFormFileCollection 实现附件快速上传功能代码。 上传附件代码 [Route("myUploadFile")][HttpPost]public ActionResult MyUploadFile([FromForm] upLoadFile rfile){string newFileName Guid.NewGuid().ToString(&quo…...

安装element-plus报错:Conflicting peer dependency: eslint-plugin-vue@7.20.0

VSCode安装element-plus报错&#xff1a; D:\My Programs\app_demo>npm i element-plus npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: vue/eslint-config-standard6.1.0 npm ERR! Found: eslint-plugin-vue8.7.1 npm E…...

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

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

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...