华为社招od面经

1.闲聊

流程:投简历,机试,性格测试,两轮技术面,HR面&部门总管面

目前状态:面完部门面,等待后续。。。希望通过。。))

2. 机试

机试就在牛客网上做,牛客网有一个华为的题库,可以提前去做做。我的建议是做一下前面的十几题熟悉一下输入输出就好了。题目的话其实我不太记得了,重点是字符串,我考了两题字符串,要熟悉字符串的基本操作。然后第三题就是一题比较普通的DFS,可以去LeetCode把各种常见的算法都稍微了解一下,做一两道例题,通过应该不难的。

3.性格测试

跟华为正式招聘的要求是一样的,可以百度一下,当时在知乎看到一个回答,大概了解一下华为喜欢哪些性格就好。最重要的还是不要前后矛盾。。

4.技术一面

1.两道编程题,树的数据结构+前序遍历,生产者和消费者的多线程模式(一开始用AtomicInteger,面试官说会自旋会导致CPU100,我说用sleep,面试官说不符合题意。最后我换成了synchronized,里面对锁使用wait跟notifyAll,解决了自旋的问题)
2.介绍自己,这几年的情况 (如实回答)
3.HashMap是如何存储数据的(我答了哈希数组之后,还把put的流程都讲了一遍。。)
4.Spring的主要特性(IOC跟AOP的概念)
5.对数据结构和算法的理解(把列表,链表,各种树,算法说一遍)
6.为什么需要多线程,如何理解的(答了充分利用CPU算力,然后问我如何利用,我说阻塞的时候可以切换到其他线程继续执行)
7.如何避免内存溢出(JVM参数是否合理,是否存在死循环创建了大量对象,是否存在内存泄漏,用完的引用要及时清理)
8.对软件开发流程的理解(答了IT项目管理跟UML的开发流程,获取需求,需求分析,概要设计,详细设计,编码,项目计划等)
总结:编程题有点难度,主要没想到会考多线程,不过还是写出来了,常见的多线程考题要熟悉。后面问的都比较浅显,所以就还好。

5.技术二面

1.平时项目是否有用到多线程(没有
2.如何实现线程同步(答了synchronized,ReentrantLock,CAS。应该再加一个ThreadLocal,还有原子类AtomicInteger)
3.线程池的重要成员变量(我答了整个框架,Executor顶级接口,ExecutorService次级接口,ThreadPoolExecutor实现类,成员变量包括工厂ThreadFactory,阻塞队列Block Queue,三个关键大小的变量corePoolSize,maximumPoolSize,poolSize)
4.有没有学过Java调优(没有
5.面向对象的设计原则(6大原则,忘了很久没有看这题了,只记得单一职责了。。)
6.SpringBoot相比Spring的优势(配置简单,去XML,代码简洁,便于集成各种框架,适合构建微服务)
7.项目构建和管理工具,常用的是maven跟gradle,用过吗(maven)
追问:maven里的核心是pom.xml,里面有什么重要标签(答了dependencies,里面有dependency,版本号可以用parent统一设置,也可以用properties去设置变量,还有plugins,导入maven的插件工具)
再追问:那dependencyManagement呢,跟dependencies有什么区别?(我说忘了,但在写微服务demo的时候用过,记不清)
再追问:那多个模块之间,他们的依赖如何管理(我说了打包成war然后import。但是没有答到具体的依赖如何处理)
再追问:有没有用过Gradle(没有
8.了解过终态吗,知道是什么吗(完全不知道
9.微服务相比传统项目的特点和优势劣势?(分成各个模块,每个模块都是一个完整的项目,有自己的数据库,高内聚。逻辑清晰,可拓展性好。但出错的时候难以定位错误,面临分布式事务,分布式部署的挑战。)
10.微服务一般有很多组件,说一说你知道的有哪些(Eureka,用于发现服务。Feign,用于统一参数还有负载均衡。Hystrix,熔断器,用于降级防雪崩。事后发现忘记说网关层gateway了,应该还有一个zuul,还有Config)
11.Vue和jQuery有什么区别
12.JDK1.8有哪些新特性(lambda简化匿名内部类,接口default方法,流操作stream函数式编程,Optional类简化了处理null值)
13.编程题,最长连续严格递减序列的长度(是连续序列,一开始看错了是子序列,然后发现更简单了,最后用一维dp数组去解决,现在细想其实一个变量就可以了,O(1)空间复杂度),要用assert断言去判断。
总结:编程题不难,但前面问得比较广,很多东西都没有准备,然后直接就问到了。所以表现不太好。。本来以为直接挂了,但HR说补了一次技术面。

6.技术三面

1.面向对象的特点?(答了继承,多态,封装)追问什么是多态(答了一种类型多种实现,动态绑定),Object和其他类的关系(Object是所有其他类的超类)
2.对多线程的理解?(答了看过多线程的源码包括如何实现多线程,继承Thread,实现Runnable,Callable,看了线程池架构的源码,对ThreadPoolExecutor有认识)追问线程池里有哪些重要的成员(corePoolSize,maximumPoolSize,poolSize,ThreadFactory,Blocking Queue,RejectionHandler等。)
3.SpringMVC里的MVC是什么意思?(答了MVC设计模式,说了model,view,controller的解耦思想)追问我有没有看过SpringMVC的源码(我说没有,但我知道它的底层原理是通过DispatcherServlet去处理页面映射,数据格式的处理等等)
4.MyBatis项目启动之后,数据库发生了修改,这时候应该怎么办?(我说修改Mapper)追问如何修改,我说不会,面试官说这部分是热部署相关,要去了解一下~
5.对算法的理解(我说常见的算法都会,各种排序算法等)追问哪些排序算法的时间复杂度是nlogn(答了归并,堆,快排,并且稍微讲了一下如何实现)追问能否自己写出来(可以)
6.堆数据结构的理解,关于数组,链表,队列,Java有哪些常见的实现类(答了ArrayList,LinkedList,PriorityQueue,还顺便讲了一点点底层实现原理,然后顺口说了一下用LinkedList去实现栈)
7.那Map呢,Java里Map的多线程实现类,是什么,讲一下它的实现原理(答ConcurrentHashMap,讲了1.7用分段锁,数据均匀分布到Segments数组上。而1.8放弃了分段锁,使用和HashMap一样的哈希数组,但因为多线程环境下,全局变量都设置成了volatile防指令重排,还有nextTable也成为了全局volatile变量等等的,现在回想忘记说sizeCtl变量了。然后说底层主要使用了synchronized跟cas操作,现在回想应该再补充一下synchronized的锁升级,所以升级到1.8直接使用了synchronized。但当时这道题已经答了很多了,我看差不多得了,就没继续说了,打算如果追问的话再说。)
8.微服务是什么(跟二面一样的问题,不过这次有准备,所以答得更从容~)
9.SpringCloud和SpringMVC的区别(这题不是很懂,我说MVC主要就是处理页面的映射,而Cloud是微服务相关,一个服务调用另一个服务等等的)
10.编程题,给定一个字符串数组,对它进行去重,而且结果集要从小到大排序,排序的时间复杂度要为O(nlogn),不能直接用JDK自带的各种sort方法。(去重直接用HashSet就解决了,排序一开始想用PriorityQueue偷懒,但感觉不太好。于是自己写了个快排,跟整数快排唯一的区别也就是判定大小用compareTo方法~)
总结:三面感觉还好,问得比一面细,但又没有二面那么难。。

7.HR&部门面

聊了各种个人情况。。希望能有后续

#面经##华为##社招##软件研发工程师#
全部评论
楼主,从机试完到HR面完,大概用了多久,可否说下,thks
1 回复 分享
发布于 2021-06-21 09:17
怎么还有技术三面,楼主工作多久了
1 回复 分享
发布于 2021-06-21 09:59
华工为啥去od。看了一下像的d2d3。
1 回复 分享
发布于 2021-06-22 02:58
这面试这么难的吗
1 回复 分享
发布于 2021-06-28 13:29
楼主出结果了记得喊我一下,提前恭喜
1 回复 分享
发布于 2021-06-28 14:27
兄弟牛逼恭喜恭喜,敢问兄弟大概刷了多少算法题呀?
1 回复 分享
发布于 2021-07-02 15:09
还好没去。od,懂得都懂,可不敢乱说😅
1 回复 分享
发布于 2021-07-04 17:09
我觉得华为越来越膨胀了😂😂,就od岗位,还***天天给我打电话,都不想说了,他这个岗位和阿里,字节,腾讯相比,有啥锤子优势
1 回复 分享
发布于 2021-07-19 00:04
好难啊,问了这么多,好多都不知道
1 回复 分享
发布于 2021-08-24 22:00
楼主华理这么好的学校面OD?
1 回复 分享
发布于 2021-08-25 18:31
不想当二等公民啊啊啊。。。
点赞 回复 分享
发布于 2021-06-22 17:51
请问楼主面试的是哪个地方的?
点赞 回复 分享
发布于 2021-06-23 22:57
楼主毕业年份多少啊
点赞 回复 分享
发布于 2021-06-28 14:28
华为云 校招、社招 大量招人!!HC充足!!工作地深圳/杭州/西安!!欢迎大家踊跃投递,可内推跟进,详细信息可私聊咨询,或者加微信18717376587了解!!(华为云是华为的云服务品牌,将华为30多年在ICT领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,赋能应用、使能数据、做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。)
点赞 回复 分享
发布于 2021-08-04 11:19
      华为云 校招、社招 大量招人!!HC充足!!工作地深圳/杭州/西安!!欢迎大家踊跃投递,可内推跟进,详细信息可私聊咨询,或者加微信18717376587了解!!      华为云是华为的云服务品牌,将华为30多年在ICT领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,赋能应用、使能数据、做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。 在信息产业领域,芯片、操作系统、数据库是技术门槛最高的3个核心产业控制点,数据库也被誉为软件皇冠。        我们负责数据库云服务产品定义、开发、运维、运营,通过运维运营驱动研发,构建数据库云服务竞争力(含运维运营能力、功能、性能、质量、成本等要素),提升客户满意度,构筑业界领先的产品和竞争力,对商业成功负责。       需求岗位:数据库开发工程师(Java/ python)分布式数据库开发工程师(C/C++) 数据库测试工程师(云数据库服务测试/测试架构设计与开发/DFX测试)数据库运维工程师(DBA)
点赞 回复 分享
发布于 2021-08-04 11:25
od,不值得
点赞 回复 分享
发布于 2021-09-01 08:15
上海/南京hw终端od招聘,有意联系我呀,详细可以看我的帖子😁
点赞 回复 分享
发布于 2021-09-02 20:27
兄弟 好像我面的题目和你一样....
点赞 回复 分享
发布于 2021-09-13 22:23

相关推荐

23 141 评论
分享
牛客网
牛客企业服务