海康威视面经

分享了两次海康威视面试的经历,包括电话面试和视频面试的详细过程,涉及项目讲解、技术问题如CIC滤波器原理、Verilog与C语言区别、reg与wire类型区别等,以及面试官的反馈和作者的感受。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感觉海康威视面试是太简单?还是面试官不重视?两次面试感觉都不是很友好,但是还是记录一下吧。

一面:(电话面)
在食堂的时候突然来电,推迟了办个小时回寝室面的。
主要就是问项目,面试官抠的很细,一些原理性的东西需要让你最好能举例讲出来。
他主要问了我项目中滤波器的使用上,其中就让我用12345…这样的数字来讲解CIC滤波器的具体积分滤波过程。
二面:(视屏面)
面试过程中毫无交流,一直都是一个问一个答,也不会对你的回答做任何评判

  1. 在简历上自己挑选一个项目讲讲(自己叨叨叨讲完就完,毫无交流,也无提问,尬的一比)
  2. Verilog和C的区别
    verilog是硬件描述语言,FPGA或者CPLD之后,会生成电du路,所以叫硬件描述语言,且是并行zhi运dao行的,并行处理;c语言是软件语言,下载到CPU之后,还是软件,而不会根据你的代码生成相应的硬件电路,且是串行处理。
  3. reg型和wire型的区别?在always(*)中有什么区别?
    a. wire型数据常用来表示以assign关键字指定的组合逻辑信号。模块的输入输出端口类型都默认为wire型。默认初始值是z。

b. reg型表示的寄存器类型。always模块内被赋值的信号,必须定义为reg型,代表触发器。

默认初始值是x:

c. reg相当于存储单元,wire相当于物理连线。

d. wire表示直通,即只要输入有变化,输出马上无条件地反映;reg表示一定要有触发,输出才会反映输入。

e. 不指定就默认为1位wire类型。专门指定出wire类型,可能是多位或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。

f. reg变量在always块中有两种情况: always后的敏感表中是(a or b or c)形式的,也就是不带时钟边沿的,综合出来还是组合逻辑 always后的敏感表中是(posedge clk)形式的,也就是带边沿的,综合出来一般是时序逻辑,会包含触发器(Flip-Flop)

  1. 怎么提高FPGA工作频率
    见博客如何提高FPGA工作频率?影响FPGA运行速度的几大因素
  2. 如果叫你设计一个计数器,需要考虑哪些方面的东西?
    我当时说了初值、终值、enable信号、中断信号等,也没有说究竟对不对
  3. 关于团队合作的一些问题,比如团队中有个同事跟不上进度怎么办?有同事突发奇想想要把某个算法写写得更完善,但是又面临dead line,你怎么协调?如果有一个没有做过的新项目交到你手上,你要怎么分配任务下去?
### 海康威视视觉算法面试经验 #### 面试形式与考察重点 海康威视作为一家专注于视频监控和人工智能技术的企业,在招聘过程中非常注重候选人的实际动手能力和对核心算法的理解程度。通常情况下,其视觉算法岗位的面试分为多个阶段,包括但不限于简历筛选、在线笔试、技术谈以及最终的综合评估[^1]。 在技术谈环节,候选人可能会被要求完成若干道编程题,这些题目虽然表上看起来较为基础,但实际上可能隐藏着一些细节陷阱。例如,一道简单的数组操作或者字符串处理问题,往往可以通过更高效的位运算来优化性能。这种技巧不仅能够展示候选人对于底层数据结构的深刻理解,还体现了其实现高效解决方案的能力[^1]。 #### 算法题特点分析 根据过往的经验反馈,海康威视的技术面试倾向于测试以下几个方: 1. **时间复杂度优化** 候选人需要清楚地解释自己的解法为何能够在特定条件下达到预期的时间复杂度目标。例如,在某次面试中提到的一道关于排序的问题,通过巧妙运用分治策略实现了 O(n log n) 的效率提升。此类场景下,清晰表达逻辑推导过程至关重要。 2. **空间复杂度考量** 不仅要关注运行速度,还需要考虑内存占用情况。某些特殊应用场景下,低延迟高吞吐量的要求使得节省存储资源成为必要条件之一。 3. **边界条件处理** 编程实现时务必注意极端输入情形下的行为表现,比如空列表、负数序列等情况是否都能妥善应对。 以下是基于以上原则的一个典型例子——快速查找最大子数组之和问题: ```cpp #include <vector> using namespace std; int maxSubArray(vector<int>& nums){ int current_sum=nums[0],max_sum=nums[0]; for(int i=1;i<nums.size();i++){ current_sum=max(nums[i],current_sum+nums[i]); max_sum=max(max_sum,current_sum); } return max_sum; } ``` 此代码片段展示了动态规划方法解决该类问题的方式,并且具有良好的可读性和扩展性[^1]。 #### 项目经历的重要性 除了理论知识和技术能力外,真实的项目实践经验同样受到高度重视。因此,在准备期间应着重梳理个人参与过的相关课题成果,准备好随时接受进一步追问的可能性。这有助于向考官证明自己具备将所学应用于实践中的真实本领[^2]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值