华为前端社招面经(已拿offer)

之前在招聘网站上更新了简历后没多久就有华为的hr来加微信,解释了社招OD的性质以后就是机试+性格测试,然后就进入了面试环节


华为OD是什么?

简单来说就是:

1、不跟华为签合同:

目前华为社招15级还是17级以下的(级别我记不清了)+社招的都是跟德科签合同,校招进的才直接跟华为签

2、不是外包(hr说的)(个人认为应该是高级外包):
工资跟正式员工一样,有绩效有奖金,但没有股票

想了下既然社招基本都是OD那就试一下了


前端机试只有一题笔试题,不难:

题目:

xAyB猜字游戏,输入两组数字,每组数字包含4个非负整数,同一组中的四个数字互不相同,数字间以空格分隔。

第一组数字为猜数字游戏的正确答案,第二组数字为玩家所猜的答案,根据以下规则输出猜数字的结果xAyB。

规则1:如果数字相同,且位置相同,则得到一个A

规则2:如果数字相同,且位置不同,则得到一个B

输入描述:两组数字,每组数字包含4个非负整型数字,同一组中的四个数字互不相等,数字以空格分隔

输出描述:xAyB

示例:

输入:

1 2 3 4

1 2 5 3

输出:

2A1B

答案可以参照:https://blog.csdn.net/zhangsh87/article/details/81109900


性格测试:

不多说,主要注意前后选择的答案的一致性和焦虑度不要太高就行


性格测试通过以后,hr会问你要工资证明或流水以及身份证复印件,不得不说华为这点还挺严格


一面:hr视频面

hr面没问什么,主要就问了下离职原因,以及侧面问你是不是考核过不了被淘汰了才出来找工作,薪资要求等,剩下就聊天。hr人还挺nice。


二面:技术电话面

1、自我介绍

2、在项目中发挥的角***>

3、做过的项目中,哪些可以体现你的技术水平的地方?

当时讲了下项目的难点以及怎么解决的,但是面试官又重复了一遍要求是能体现技术水平的,我就懵了,最后也没讲出来

4、js函数的4种调用方式讲一下

作为函数调用

作为对象的方法调用

使用 call 和 apply 动态调用

new 命令间接调用

具体可见:http://c.biancheng.net/view/5700.html


5、this的使用场景

我听到这个题目的时候也懵逼了,后来查了下,其实想考察的是this的指向。。。

于是我回答的时候回答偏了,面试官不太满意,也没有引导

所以一般遇到这种听不太懂的题目,最好多问一下面试官,或者直接问他是不是想考察xxx知识点,不然吃亏的是自己啊
这里给下参考答案:

this的指向有哪几种情况?

this代表函数调用相关联的对象,通常页称之为执行上下文。
  1. 作为函数直接调用,非严格模式下,this指向window,严格模式下,this指向undefined;
  2. 作为某对象的方法调用,this通常指向调用的对象。
  3. 使用apply、call、bind 可以绑定this的指向。
  4. 在构造函数中,this指向新创建的对象
  5. 箭头函数没有单独的this值,this在箭头函数创建时确定,它与声明所在的上下文相同。


6、regexp正则,讲讲贪婪模式

正则默认是贪婪模式,默认的贪婪模式会尽可能多的匹配所搜索的字符串。

非贪婪模式:

当?字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串

例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

7、vue和react的区别

我简历里写的vue和react都会,所以才被问了这样的问题

网上的参考答案:

相同点:

1.数据驱动视图,提供响应式的视图组件

2.都有virtual DOM, 组件化开发,通过props参数进行父子组件数据的传递,都实现webComponents规范

3.都支持服务端渲染

4.都有native解决方案,reactnative(facebook团队) vs weex(阿里团队)

不同点:

1.vuex是一个针对VUE优化的状态管理系统,而redux仅是一个常规的状态管理系统(Redux)与React框架的结合版本。

2.开发模式:React本身,是严格的view层,MVC模式;Vue则是MVVM模式的一种方式实现

3.数据绑定:Vue借鉴了angular,采取双向数据绑定的方式;React,则采取单向数据流的方式

4.数据更新:Vue采取依赖追踪,默认是优化状态:按需更新;

React在则有两种选择:

1)手动添加shouldComponentUpdate,来避免冗余的vdom,re-render的情况

2)Components 尽可能都用 pureRenderMixin,然后采用 redux 结构 + Immutable.js

5.社区:react相比来讲还是要大于vue,毕竟背后支撑团队不同。

facebook vs 个人!当然目前vue的增长速度是高于react的增速,不知道未来的发展趋势是如何。


我当时回答的是从:vue双绑/react单向数据流;diff算法;组件通信这几点讲了下


8、你还有什么问题问我吗?

问了下刚刚面试的表现,因为感觉面试官不太满意,怕面试挂了于是就提这个问题看看能不能翻盘,隔了一天后hr通知三面


三面:技术电话面

1、自我介绍
2、项目细节

3、问大学学了哪些语言,这些语言跟js的区别

当时答曰:

学了c++,java

js是动态弱语言,java是静态语言,因此js没法进行数据类型的检查


于是面试官:这是编译型和解释型的区别吧

我:。。。(感觉面试官可能也搞混了)

这里顺便贴一下【编译型和解释型、动态语言和静态语言、强类型定义语言和弱类型定义语言区别】

编译型和解释型的区别

先来看看编译型语言定义:

编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)。

再来看看解释型语言的定义:

解释型语言的源代码不是直接翻译成机器指令,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。

咋看一眼,还是一脸懵逼。下面打个比方:

* 编译型相当于用中英文词典(翻译器)将一本英文书一次性翻译(编译)成一本中文书。以后查看直接就是中文了。可想而知,以后读书(运行)会非常非常方便。

* 而解释型相当于用中英文词典(翻译器)将一本英文书读一段翻译一段(解释)中文。以后查看时还是需要重新翻译。这样效率会低一些,必须依赖解释器,但是跨平台性好。

动态语言和静态语言

我们常说的动态语言和静态语言,其实是指动态类型语言和静态类型语言。先来看看动态类型语言:

动态类型语言,是指数据类型的检查是在运行时做的。用动态类型语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部记录数据类型。

再来看看静态类型语言的定义:

静态类型语言,是指数据类型的检查是在运行前(如编译阶段)做的。


强类型定义语言和弱类型定义语言

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!

4、你还有什么问题?

本来以为三面挂了,因为第三题并没有答好,过了两天hr通知四面


四面:视频面

没有技术题,大概就问了下离职原因,上家的薪资,职业规划啥的,又大概过了两三天,offer就下来了

总得来说,前端的技术没有考得很多,技术二面有问到但基本上是基础题,可能因为我本身工作经验也不多,所以考察的基础会更多一些
希望这份面筋对面试华为的前端同学有帮助啦~
#华为##社招##面经##前端工程师#
全部评论
一个应届生大大咧咧的走了进来==
1 回复
分享
发布于 2020-02-28 19:52
其实就是外包,千万别去,特别坑
1 回复
分享
发布于 2020-02-29 17:03
饿了么
校招火热招聘中
官网直投
前端学习整理😛笔记 :https://github.com/Chocolate1999/Front-end-learning-to-organize-notes
1 回复
分享
发布于 2020-04-01 14:58
请问一下楼主当时你od的薪资是多少呀
1 回复
分享
发布于 2020-06-23 11:47
笔试题,方案不行呀. 先匹配a数量,两边数组再排序,再一一比较,总的数减去a的数量就是b的数量.时间复杂度是2n
1 回复
分享
发布于 2021-10-31 18:15
所以你去了没有啊
2 回复
分享
发布于 2020-02-20 15:49
OD原来是这样啊,我之前看脉脉上面还说OD不靠谱
点赞 回复
分享
发布于 2020-02-17 22:30
感谢分享! 社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡~:https://www.nowcoder.com/discuss/311389
点赞 回复
分享
发布于 2020-02-18 17:40
麻烦问下机试题是用java或者c写的吗
点赞 回复
分享
发布于 2020-02-27 10:39
能理解下lz的薪资嘛
点赞 回复
分享
发布于 2020-02-27 18:39
好简单,以后没地方混了就去华为当外包算了
点赞 回复
分享
发布于 2020-02-28 12:40
作者:swing666 链接:https://www.nowcoder.com/discuss/363253 来源:牛客网 本人在华为的2012实验室—产品数据部搬砖,最近在帮大佬招聘,有大量内推名额,有意向的小伙伴可以联系我哦 职位:产品数据工程师 岗位职责: 1、通用软件开发/大数据/搜索等方向 2、通过开发系统,软件,工具等,助力华为产品和产品开发全过程实现数字化/可视化 (我们目前岗位统称为产品数据工程师,但是进到部门之后,会有很多项目组,包括智能推荐、搜索、软件开发、测试、前后端、大数据分析等等,可以根据自己的意向选择) 招聘对象: 海外院校;2019年1月—2020年12月间毕业(全球排名Top100院校) 国内院校:2020年1月—2020年12月间毕业(211及以上院校) 港澳地区:2019年6月—2020年12月间毕业 岗位要求: 1、计算机、统计、软件、数学、统计学、通信、人工智能等相关专业本科及以上 2、热爱编程,基础扎实,熟悉掌握但不限于Java/Python/c++/JS/HTML/GO等编程语言 3、对数据结构、算法有一定了解 补招一名UI设计的岗位,有意向也可以投递哈! 有意向的把中文简历发我邮箱 qiuxian@huawei.com 有问题可以咨询我,微信:530418025
点赞 回复
分享
发布于 2020-02-29 18:27
问问老哥,一般每轮面试和下一轮面试会隔多久?我两轮技术面结束后就一直没下文了。。。不知道是不是挂了
点赞 回复
分享
发布于 2020-03-12 12:21
为啥不去。正在犹豫看看你的想法
点赞 回复
分享
发布于 2020-03-12 22:59
机试只有一道题目么?
点赞 回复
分享
发布于 2020-04-16 00:41
好像问题挺少的,是不是漏记了?不问css相关的?node也没有?
点赞 回复
分享
发布于 2020-08-05 17:04
答案都贴出来了 太详细了爱了爱了
点赞 回复
分享
发布于 2021-09-01 15:34
华为前端都是外包吗?
点赞 回复
分享
发布于 2021-11-14 17:15

相关推荐

29 215 评论
分享
牛客网
牛客企业服务