华为提前批面经

笔试:

AC>=1就可以

一面:

主要问和项目相关的知识,手撕代码easy难度,数组去重和排序。

二面:

还是先问一些项目的知识,然后问我对抗学习,强化学习,深度学习,我当时懵了,因为我一开始投的算法后来改投C++开发的,主要就是问它们的实现原理和相互之间的区别,问我机器学习这一块厉不厉害这些,我只能说我学过,emmmmm。不过还好都懂些,都能回答出来一些。然后问我Tensorflow一些细节,并不能全答出来。之后再问我C++,问lambda和STL,这些也算基础知识,都能回答出来,讲道理面试最开心的就是C++的互问互答环节了。

手撕代码真的有点恶心,不是BFS也不是动态规划,更不是贪心,是个螺旋数组,当时我差点写不下去了,赶紧猛喝一口水,接个深呼吸。

题目给三个参数,m,x,y  m是螺旋数组的宽度,(x,y)是螺旋数组内给定点的坐标,用1-9九个数字循环填充,求该点的值

举例:

1 2 3 4 5

7 8 9 1 6

6 6 7 2 7

5 5 4 3 8

4 3 2 1 9

x=3,y=1,res=5

刚开始以为可以动态规划,结果浪费了10分钟,其实应该这样解的,上代码:

// 1->9
//1 2 3 4
//3 4 5 5
//2 7 6 6
//1 9 8 7
//m是螺旋矩阵的宽度,求(x,y)坐标处的值 1-9填充
#include<iostream>
#include<vector>
using namespace std;
class solution
{
public:
	int getMin(int x,int y)
	{
		x = x < 0 ? -x : x;
		y = y < 0 ? -y : y;
		x = x > y ? x : y;
		return x;
	}
	int getPoint(int m, int x, int y)
	{
		int r = m - 1;//定义外圈半径m-1
		int mid = (m-1)>>1;//定位圆心
		int circles = mid - getMin(x - mid, y - mid);//圈数目
		int res = 0;
		for (int i=0;i < circles;i++)
		{
			res += r * 4;//加圆
			r -= 2;
		}
		//定边 关键要知道圆的四条边
		if (circles == x)
			res += (y - circles + 1);
		else if (m - 1 - circles == y)
			res += (r + x - circles + 1);
		else if (m - 1 - circles == x)
			res += (r * 2 + m - 1 - circles - y + 1);
		else
			res += (r * 3 + m - 1 - circles - x + 1);
		res = res%9==0 ? 9 : res % 9;
		return res;
	}
};
int main()
{
	solution s = solution();
	//int res = s.getPoint(5, 2, 3);
	int res = s.getPoint(5, 2, 1);
	cout << res << endl;
	system("pause");
	return 0;
}

面试完之后把代码改进了一下,肯定不是最好的方法,但够用了。

三面:

三面我进错房间,导致本来面30分钟,最后面了大概20分钟。主要问一些性格爱好,优缺点,类别HR面,没什么面经,不要太钢就行。

手撕代码一定要冷静,撕出来了就是直接下一面,撕不出来就是泡池子一周,缺人再来捞你。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为无线fpga面经主要包括以下几个方面: 1. 知识面:面试官可能会考察你对FPGA的基本原理和逻辑设计的理解。准备面试前,应该复习并掌握FPGA的基本概念、原理以及常用设计工具和编程语言。 2. 工程实践:面试中会考察你在实际工程项目中的应用经验。可能会问到你在以往的项目中如何使用FPGA进行硬件设计与开发,以及遇到的困难和解决方案。 3. 算法与数据结构:有时候面试官会考察你对算法与数据结构的理解和应用能力,因为FPGA设计过程中往往涉及到大量的计算和数据处理。准备面试前可以复习一些常见的算法和数据结构,并思考如何将其应用于FPGA设计中。 4. 团队协作能力:在面试中,面试官可能会问到你的团队协作经验,以及你在团队合作中扮演的角色。在准备面试时,可以回顾一些团队合作的案例,准备好相关的描述和经验分享。 5. 问题解决能力:面试官可能会通过提问一些具体的问题来考察你的问题解决能力。这些问题可能与FPGA设计和开发相关,也可能与其他领域有关。在准备面试时,可以自己复习一些常见问题,并思考如何解决这些问题。 总的来说,面试官希望了解你在FPGA设计和开发方面的知识和经验,以及你的问题解决能力和团队协作能力。为了应对无线FPGA面试,需要提前准备,并掌握相关的知识和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值