【华为机试 Python实现】华为 OD 开发岗面经分享 最终评级D4


笔者二本网络专业,5年工作经验,面试HCS Python开发工程师岗位,面试流程中每个环节的面试官都非常的友好。

BOSS沟通

以为只是简单的沟通,没想到第二天直接收到了机试预约邮件。。。
这里需要提前和对接人确认好部门,流程开始后不能变更面试的部门。

机试

三道题相对比较简单

第一道

通过率90.48%

输入第一行 m 数组个数,第二行 m 个整型数组,第三行 n; 要求输出最大N个数和最小N个数的和,如果去重后结果不满足最大N个数和最小N个数输出-1。

问题比较简单但是通过率始终没有100%,最后选择放弃了。

第二道

通过率100%

输入形如 AB-ABC-cABd-Cb@的字符串,输入待分隔长度k; 要求输出保留第一个“-”前面的字符串格式,后面的每k个字符一分格,每三个字符中,大写字母数多的三个字母转大写,小写字母数多的三个字母转小写,一样多的不处理。

题解见:【华为机试真题 Python实现】字符串格式化输出

第三道

通过率100%

树形目录,m行输入,[当前目录ID 父级目录ID]。最后一行为待删除目录ID,要求删除父级同时删除下级目录。 输出剩余目录。

题解见:【华为机试真题 Python实现】树形目录操作

综合测评

技术一面

面试官提问:

面试官上来直接让介绍项目经验,我还是做了下简单的自我介绍,然后对项目背景、设计做基本的介绍;

面试官基本上都是在问项目中相关的问题:

  1. 如何实现的负载均衡配置
  2. 服务发现注册原理
  3. 服务发现注册优化
  4. 日志服务为什么要在logstash前增加一个MQ
  5. 如何实现的实现配置服务
  6. 如何实现的实现并发处理
  7. 协程、进程的区别
  8. 是根据什么设置的最大进程数

手撕代码:

实现一个函数,返回两个超大整形a和b相加的结果

输入和返回均为字符串
调用者保证输入合法(不会有负数,不会有非法字符)
不允许直接通过string(int(a) + int(b))返回结果
示例:输入"1111111111",“2222222222”, 返回"3333333333"

之前在牛客上刷到过大数计算,直接就使用 eval 提交了,大家刷题时还是要认真对待啊
题解见:【华为机试真题 Python实现】两个超大整型数相加

提问环节:

  • 入职后主要的工作内容
  • 更好的胜任工作还需要掌握什么技术

技术二面

面试官提问:

  1. 介绍下项目经历
  2. 使用Python有几年?
  3. 只会Python么?
  4. 这么项目的自己编写的代码量有多少?
  5. 对面向对象设计了解多少?
  6. 最近在看什么书?

手撕代码:

给一个100* 100二维整型数组,在二维数组上随机分布着0和1的值。需要提供测试用例,说明测试的场景。

输入: x, y

输出: x, y 坐标,周边一圈中有几个值为1

要求:给出测试用例并说明用例测试的场景。
题解见:【华为机试真题 Python实现】数格子

HR面

  1. 要求介绍一下大学以来的经历
  2. 任职经历中有管理职务,被问到主要从事管理还是开发
  3. 对其中的一个项目经验要求详细介绍一下如何设计实现
  4. 被问93年出生,12年上大学,为什么19岁才上大学
  5. 未来的职业规划
  6. 对互联网公司的工作强度有了解么

主管面

  1. 做下自我介绍
  2. 详细介绍一个主要参与的项目
  3. 对几大云平台的了解
  4. 未来的职业规划
  5. 主管介绍了下定级、绩效考评、薪资结构、薪资
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不太灵光的程序员

有用的话可以请博主喝杯咖啡续命

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值