华为OD技术面试案例2-2024年

news/2024/7/20 19:36:06 标签: 华为od, 面试, c#, python

软开C++,机考满分,技术面面评两个A,时间线如下:

01.04 笔试链接

01.10 笔试(2.5h)

01.11 综测

01.13 资格面(HR面)

01.17 技术一面

01.19 技术二面

01.20 主管面

01.22 提Offer及审批

01.26 Offer邮件

笔试复盘

1.英文输入法(100)

首行输入一段由英文单词word标点构成的语句str,接下来一行为一个英文单词前缀pre

输出符合要求的单词序列或单词前缀。存在多个时,单词之间以单个空格分割

要求:

1.输出的单词序列不能有重复单词,且只能是英文单词,不能有标点符号

2.按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。

思路:

1.定义一个字符串数组,遍历单词语句,通过空格之间的字母记录单词

2.set集合去重,拷贝到新数组排序,保证输出按字典序。

3.遍历单词数组,查找比前缀pre长并且等长字母和pre一样的单词,输出即可。

2.智能成绩表(100)

输入描述:第1行输入两个整数,学生人数n和科目数量m。0 < n < 100,0 < m < 10

第2行输入m个科目名称,彼此之间用空格隔开,科目名称只由英文字母构成,单个长度不超过10个字符。科目的出现顺字和后续输入的学生成绩一一对应。不会出现重复的科目名称。

第3行开始的行,每行包含一个学生的姓名和该生m个科目的成绩空格隔开),学生不会重名。

学生姓名只由英文字母构成,长度不超过10个字符。成绩是0~100的整数,依次对应第2行中输入的科目。

第n+2行,输入用作排名的科目名称。

若科目不存在,则按总分进行排序。

输出描述:输出一行,按成绩排序后的学生名字,空格隔开。成绩相同的按照学生姓名字典顺序排序。

思路:

1.定义一个无序哈希表,将学生姓名和他的m门科目成绩映射起来 std::unordered_map<std::string, std::vector<int>> map;

2.去科目表里面找是否有输入的科目,有的话记录下标方便排序,没有就按总分排序。if(subjects[i] == k) {idx = i; break;}

3.捕获外部变量的lambda表达式排序,判断成绩是否相同(作差和0比较),相同按字典序排,不同按照升序排,排好了输出姓名。

3.找数字(200)

小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数 n,小扇需要找到一个比 n 大的数字 m,使得 m 和 n 对应的二进制中 1 的个数要相同,如:4 对应二进制 1008 对应二进制 1000

其中 1 的个数都为 1 个。现在求 m 的最小值。

输入一个正整数 n,输出一个正整数 m。

思路:

1.将n二进制中从右往左找到的第一组"01"子串变为”10“,这样可以保证在不新增1且差距最小的情况下,找到最小的m。找不到“01”,在前面拼一个0。

2.找最优,将"01"变为”10“后的子串,右边部分的1全部集中放到最右边。

一面

(50min)

项目:

讲一下网络通信框架的原理及实现

c++:

1.说一下继承和多态

2.说一下你常用的STL容器

3.说说vector和list的区别

八股:

TCP和UDP的区别及其应用

算法:

1.快排和归并排序,常见排序算法的应用场景

2.LC394字符串解码手撕,写了递归问其它实现方式(栈)

回顾笔试题的思路

二面

(1h)

项目:

学校导师带着做的还是自学的,独立完成的吗

c++:

C++面向对象的三大特性

C++的多态what, why

重载和重写(覆盖)的区别

你常用的STL容器

半圆形继承(多继承),ABC是半圆形继承的关系并且AB都有成员函数D,C成员调用D时优先访问谁的

八股:

1.7层网络模型,每层举个协议的例子

2.你常用的同步机制,临界区如何用的

3.三次握手过程

4.进程和线程的区别

算法:

LC853车队、分析时间复杂度

主管面

(50min)

没有技术问题,聊了一些其它的,例如薪资待遇、加班的接受度、选择成都的原因、是否有对象和是否独生子等。

因为主管聊了一点他年轻时的北漂奋斗史,时间超过了半小时。

(资格面和主管面类似,不赘述了)

整体感受

还不错

1.部门和我对接的接口人很负责,前期笔试和综测提供了很多资料,面试结束后的面评以及后续的offer审批也都会反馈给我。

2.主管不是那种很严肃和有架子的人,给人印象是比较和善,说话也比较风趣。

3.整体的流程还挺迅速的,没有拖很久不发offer。

经验分享

笔试:前期多花点时间准备笔试,建议多刷题,特别是题库里的题,23年年底改为以C卷为主。

技术面:语言和八股尽量熟悉简历上写的东西,手撕尽量写出来,写出手撕题更容易过。

HR面和主管面:正常聊别紧张,面多了会发现自己是有语言天赋和说话技巧在的(要自信)。


http://www.niftyadmin.cn/n/5398899.html

相关文章

xss过waf的小姿势

今天看大佬的视频学到了几个操作 首先是拆分发可以用self将被过滤的函数进行拆分 如下图我用self将alert拆分成两段依然成功执行 然后学习另一种姿势 <svg id"YWxlcnQoIlhTUyIp"><img src1 οnerrοr"window[eval](atob(document.getElementsByTagNa…

EfficientSAM | 借助MIM机制,MetaAI让SAM更高效!

本文首发&#xff1a;AIWalker 本文介绍了一种名为EfficientSAM的模型&#xff0c;该模型通过利用遮罩图像预训练来提高图像分割的性能。作者使用了一个名为SAMI的方法&#xff0c;通过将SAM图像编码器的特征作为重建目标&#xff0c;从SAM图像编码器中重建特征&#xff0c;从而…

【数据结构和算法初阶(C语言)】时间复杂度(衡量算法快慢的高端玩家,搭配例题详细剖析)

目录 1.算法效率 1.1如何衡量一个算法的好坏 1.2 算法的复杂度 2.主菜-时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.2.1算法的最好&#xff0c;最坏和平均的情况 3.经典时间复杂度计算举例 3.1计算冒泡排序的时间复杂度 3.2计算折半查找的时间复杂度 3.…

Jquery操作DOM对象

文章目录 目录 文章目录 本章目标 一.DOM操作分类 二.JQuery中的DOM操作 内容操作 属性值操作 节点操作 节点属性操作 节点遍历 总结 本章目标 使用Jquery操作网页元素使用JQuery操作文本与属性值内容使用JQuery操作DOM节点使用Jquery遍历DOM节点使用JQuery操作CSS-DOM 一…

springcloud -服务注册治理之nacos

任务 查询&#xff1a; CPU密集型和IO密集型对 CPU内核之间的关系。—线程池 什么是Nacos **服务&#xff08;Service&#xff09;**是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理&#xff1a; Kubernetes Service gRPC & Dubbo RPC S…

Tensorflow-lite 固定推理输入 校验输出

Tensorflow-lite 固定推理输入 校验输出 benchmark_model --input_layer --input_layer_shape --input_layer_value_files 参数的使用 这几个参数的使用可以benchmark_model – help 查看详细的释意。 以 input_layer_value_files为例&#xff1a; A map-like string represen…

11408

果然很terrible

无穷级数法求Π

任务描述 本关任务&#xff1a;编写一个无穷级数法计算圆周率的小程序。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 无穷级数法 无穷级数法 π 是个超越数&#xff0c;圆周率的超越性否定了化圆为方这种尺规作图精确求解问题的可能性。有趣的是&…