测试转Python开发面经-华od

  • 背景

本人23届,数据科学与大数据技术专业,大学期间基本的编程语言都有学过,大数据相关的学科,机器学习也学过。我在24年5月份左右了解到华为od。然后觉得是一个不错的机会,就从之前的公司辞职,全身心准备od的面试。在准备以及面试OD的过程中,栗栗小姐姐一直很关心我的进度,从机试开始,就一直在帮我催进度。栗栗小姐姐非常热情,并且很重视我的所有流程,每一步都会给出相应的建议。也是因为栗栗小姐姐我才了解到华为od的,真的非常感谢她。我准备时间感觉比大多数人要长,因为面试od挂掉的话。要过比较久才能再次申请,我也是抱着必须要过去准备的。也是在24年的7月中下旬拿到了od的offer。

  • OD流程:

机考-hr资面-技术一面-技术二面(听说如果技术面两次评级不一样会加面)-综面(主管面)

  • 机考:(两个半小时)

机考的话比较应试,就按照栗栗小姐姐的资料准备应该都没问题。可以向栗栗小姐姐了解一下自己的学校是不是目标院校。如果是的话,机考及格的分数会稍微低一些。然后的话机考可以自由选择一种编程语言去考,我当时选择的python。Python处理字符串,输入输出问题还是比较方便的。

  • 资格面试(hr面)

Hr面试不怎么涉及技术问题,大多是审核面试者的动机,品格,意向什么的。回答积极一点,对面试官和华为表达尊重一些,对之前的经历表达谦虚一些,基本没什么问题。

  • 技术一面:(一个小时)

1.自我介绍

2.面试官问了我许多关于我大学里项目的细节,具体功能实现的方法。如果对自己项目记不太清的一定要复盘一下。不然的话可能给面试官留一下一个水项目的印象。一面面试官主要问了我做22年美赛那个项目,核心算法的搭建,数据格式化的处理,以及达到的效果都有被问到。

3.手撕代码,相比与机考简单许多,有可能是面试官现找的题,也是比较有代表性的题目。主要考察的是你算法的掌握程度,以及写代码的规范和习惯。我当时比较紧张,面试官给我看题目的时候大脑一片空白,导致浪费了比较多时间最后时间超了写出来。我记得当时我的题是写一个输入一元二次方程,求未知数的解的一道题。我在写正则的时候少了一个符号导致,一直没匹配正确,总之还是要细心吧,检查自己写的代码。思路只要没问题面试官都能看懂的。最后给面试官说清楚了思路,以及实现方法。面试官给了通过。

  • 技术二面(一个小时)

1.自我介绍。

2.技术二面的时候,这位面试官问我的项目的问题比较少。反而关于python做开发的问题问的比较多,比如装饰器,锁,进程,并发什么的。也问了很多关于爬虫的基础知识,head里面各个参数的意思和作用什么的。核心还是了解项目是不是你自己做,自己参与,有做实事的。

3.再手撕代码,第二次的题,是一个比较版本大小的题。这次我写到一半面试官给我提供了一个其他思路,我先把我的思路写出来(双指针比较大小),然后尝试实现面试官思路(字符串分割),但最后时间也不够了,面试官的思路没实现完整。但也是过了,如果有能力的遇到这种加试,实现了面试官的要求可能评级会更高吧。

  • 综合面试(主管级别面试)

主管面试的话一般不会问什么技术问题,大多询问的是工作态度和工作意向。会简单了解面试者的学习能力,学习欲望。以及对面试者的过往经历的了解,确保之后的工作能顺利的开展。回答也是积极,谦虚一些。能顺着面试官的意思去说更好。

  • 总结:

面试前:基础知识,算法题缺一不可,都需要做足准备。

面试中:心态放好,认真应对,乐观自信,不要消极。

整个面试过程中要积极向上,热情开朗。正常表示自己所知道的知识,对于自己还未涉及到的知识有学习的欲望。基本就没有什么问题。有什么不懂的问题多问栗栗姐,栗栗姐都会耐心的帮忙解决的。

最后大家对od有兴趣的话可以找栗栗小姐姐哦,真的是一个很负责任很专业的hr。

全部评论

相关推荐

10-25 18:22
已编辑
天津工业大学 Java
9.18:在boss海投点到德科(华为od)的java开发岗,本着来都来了的原则,点了沟通,hr向我获取身份证号开启流程,是否拿到了双证,要了双证照片,给我发了机考注意事项,非目标院校最好300+9.25:聊天,问我大概计划什么时候考,我回复9.279.26:做了几道原题感觉速度太慢了,推到国庆10.4:笔试:我考的E卷,在网上看到都说是原题,我考的3道题也是原题。1.最大花费金额 2. 选修课 3.Wonderland10.11:hr电话,对个人情况做扩充:今年刚毕业?A:对;毕业之后到现在这段时间在做什么?46级过了吗?A:没过; 考虑华为这边的工作岗位是什么原因?老家哪里的?现在在哪?意向工作地点?为什么考虑去东莞发展?打算长期在东莞发展吗?加班情况之前有了解吗?你机考前有刷过题库吗?A:有刷过;你考试中有遇到相似的题目吗?A:没有,题库还是很大的;你的机考有一个需要澄清的点,就是编程题1相似度比较高,显示有作弊嫌疑所以你要澄清下,是这个题是常规题吗?A:是常规题,双指针确实比较常见。10.12:综面:除了问秋招和春招情况,大概问的和hr打的电话问的差不多。过了后跟hr提交了一些资料,hr帮忙联系部门,帮了我联系了不需要4级的部门,所以我不用进行英语测试了。10.16:技术一面:紧张,答得磕磕巴巴,面了1小时二十几分钟,面试官还是很耐心的,。1. 讲一下简历以外的技术经历或经验2. 我看你是应届的嘛,毕业后有实际的项目经验吗?  没有3. 你之前的比赛是怎样分工,或者说开发流程是怎样的?4. 其实你可以简单的概括下,你们大学里有学过软件工程之类的课吧?有学过。5. 你其实说的实际过程,其实就是软件工程里的一个基本流程对吧?对 (其实软件工程忘光了)6. 你有关注到使用的jdk版本吗?有,第一次使用java8,之后都用的11,17.7. 你能简单说一下这几个版本之间的差距吗?其实我分不清区别8. 那你为什么要用最新的版本呢?尝试跟下版本。9. java8有用到stream流吗?有,经常用,sort,过滤,聚合什么的。10. java8里有一些并行的使用方式有用到吗?多线程,thread对吧?11. thread一直都有的,有一个mapreduce类似于带框架?不了解,只知道有个线程池12. 线程池有用过吗?学习中有用到,项目中没有13. 我看到你的简历里面,在学习有用到redis对吧?对14. 在你的秒杀系统项目中,redis用来做什么?做缓存,减小数据库的压力15. 数据库的压力有多大,redis为什么能减小数据库的压力?(数据库压力答的跑题,redis减小数据库的访问)16. jmeter有用过吗?有,一次。17. jmeter在使用时可以设置哪些参数?线程组设置多少个线程,http请求参数,18. 你那个两千个qts是怎么得出来的?估计值,设置多少个线程执行多少次。19. 你能解释一下乐观锁是什么意思?行锁,巴拉巴拉20. 乐观锁的定义是什么?(上个问题答错了)不太了解,胡说了一点之后,沉默了一段时间。21. 你可以去关注一下原理,不要只是关注怎么用的,我其实想问为什么你可以通过乐观锁可以解决超卖?用消息队列将并行请求转串行,交给订单处理模块,再进行数据库写入,这样数据库压力小了许多22. 令牌桶算法清楚吗?巴拉巴拉23. 用令牌桶算法做限流会有什么问题?只回答了可能产生请求波峰。24. 你项目中令牌桶是自己实现还是外部模块?外部模块,名字忘了。25. redis预处理和rabbitmq使用时有什么注意事项?我回答了redis需要预热,rabbitmq没有太多经验26. 你用的时候有没有碰到什么问题?redis把内存有没有占满之类的?遇到的问题最大的是:启动了几个java微服务cpu干到100%27. 用redis会去看使用资源情况吗?我就会个top命令。28. 使用redis的代码,你记得语法吗?用redis什么什么来着记不清了(两年前的项目了,好久没碰springboot了),还有用springboot提供的一个缓存抽象模块,用注解的方式使用redis(也是忘得差不多了)。29. 用注解的方式你会设置哪些参数?k和v,过期时间30. 你另一个项目你负责什么?31. 这里涉及到最短和次优线路;对,那个算法我写的32. 简单的介绍一下这个算法。答的挺差的33. 时间复杂度多少?n^2吧34. 深度搜索n^2就可以搞定吗?没算过35. 怎么判断是最短路径?36. 深度搜索的关键条件或者逻辑是什么?37. 我应该找一道深度搜索题给你做一下。(不要啊)38. 开发接口是怎么设计的,输出的是什么东西?39. 有了解过,接口开发规范吗?40. 开发时,回去考虑冥等性的41. 数据库设计的范式有了解吗?42. java多线程事务有用过吗?手撕代码。三部分和:给一个数组int[] test = new int[]{3, 1, 4 ,2,2 ,1 ,3 ,1},定义i=2,j=5 要求下标i左边数组,i、j包围的数组,j右边的数组和相同(不包括下标为i,j的数组元素),如[3,1],[2,2],[3,1]数组和相同10.19:技术二面:周六傍晚面的,估计面试官赶着下班+看到是应届生,问的比较简单。我没怎么记录。首先手撕leetcode113. 路径总和 II问了几个八股,慢sql,和项目的redis干嘛的,记不大清了。一二面评级不一致,过两天还有技术三面,估计是狠狠拷打了。10.25更新:10.24:三面1. 自我介绍2. 你掌握技术比较扎实的是哪些?3. Java sdk大量的库,你哪块用的比较多?4. 你对这一块整体有什么了解,有没有对java集合做整体的学习(问的应该是List,Map之类的接口和实现之类的架构)5. list,set,map特性和适用场景(项目中的场景)6. 这里面哪些是线程安全的7. 你基于什么判断哪一块用这个(arraylist,linkedlist,hashmap...)是比较合适的。8. mysql这里你主要做设计,还是相关的开发或者优化之类的?9. 数据库设计这里有什么经验?10. 有了解数据库的范式吗?(有了解,但不知道QAQ)11. 比如说第一范式,具体设计有实例吗12. 写sql的相关经验介绍下13. 为什么用left join14. 还有什么其他join 介绍下15. sql有哪几部分组成的,写sql时要注意什么?16. where过滤时重点关注哪些?17. 如何创建索引,使where条件尽量命中索引?18. 有哪些类型的索引?19. sql哪些写法可能导致走不了索引?20. 你有用过java的多线程吗?21. 处理runnble还有哪些方式可以创建线程?22. 你用spring boot 做什么?23. 你的系统大概分几层,每层的作用?24. 每层的上下游分别是什么?25. 自学学习方法是什么(文档or视频),什么驱动去学习的?26. 比如你拿到一个项目或需求,你如何判断你需要去学习哪些技能,这里涉及到你可能不知道你不知道的,如何解决?27. 看开源的项目或框架你会去关注背后的原理吗?28. 用出问题了怎么办?手撕leetcode22. 括号生成29. 你了解回溯算法吗?10.25:主管面:1. 自我介绍2. 项目介绍3. 怎么防止超卖的4. qps怎么得出的5. 如何判断有没有超卖?之后项目问题都省略吧反问 加班,技术栈,导师。面完hr告知定级d2。下周走审批流程。技术面前的hr面要了d1平均的薪资,结果定级d2,薪资主管拍板给了d1平均,建议各位在前期多要点
查看49道真题和解析
点赞 评论 收藏
分享
7 8 评论
分享
牛客网
牛客企业服务