阿里平头哥内推阿里平头哥面经

一面(1h)

没让自我介绍,对着写的简历评价了一遍

  1. 选一个收获最大的项目讲一下我就挑了项目里面跟并行计算相关度最高的一个讲了一下(硬件加速相关)
  2. 项目追问:阵列的结构,数据流怎么设计的blahblah
  3. 然后直接撕代码,不过挺简单的,我的题是计算32bit输入中1的个数(当时没想写什么优化,就写了简单的移位+计数+中间寄存)
  4. 对我写的代码分析,然后说我这样设计需要的周期太多了,以及寄存器资源有点浪费,有没有考虑过组合逻辑我就说按位for循环加起来,但这样会不会时序过不了,然后就顺势问时序过不了怎么解决,加法器和寄存器的资源哪个占用多之类的blahblah
  5. 然后就是设计和验证的基础知识,具体问了哪些记不太清了(大概有setup/hold time,亚稳态,cdc,异步fifo的读写时钟,覆盖率...)
  6. 聊了会天,主要是看我简历上写正在学uvm,问我怎么学的,有没有做验证的项目,有没有上培训班(都没有),然后说理解应届生验证方面的水平都差不多啥的
  7. 反问,问了一下并行计算硬件组是做什么的,面试官说加速芯片、gpgpu之类的blahblah(具体的忘了

二面(30min)

  1. 自我介绍(把每个项目的框架都说了一下,感觉自己介绍的有点久了,但面试官还是很耐心的听完了,泪目
  2. 同样也是让我说一个最有挑战性的项目,我也还是说了硬件加速那个,然后追问,问的比一面深一点点
  3. 围绕这个项目问了很多,比如如果以这个项目做验证要考虑怎么搭建验证平台,考虑怎样的激励;怎样的设计是好设计;有没有设计过异步电路,异步电路设计相比于同步电路需要注意些什么之类的
  4. verilog是怎么学习的,sv怎么学习的,遇到了什么困难(当时说call back机制学的有点吃力,就顺势问了call back的知识)
  5. 基础知识,sv的面向对象编程有哪些特征,虚函数的作用blahblah
  6. 性格问题,问自己的优点和缺点是什么,现在是怎么克服这个缺点的
  7. 反问,问了一下面试官带的团队是做哪方面的工作,回答说他带的团队中主要是做验证,也有设计的部分;然后问如果自己进入他的团队会做什么样的工作,面试官问我自己的倾向,我说自己更喜欢sv所以可能偏向验证一点。

阿里平头哥25届秋招进行中!

公司介绍:平头哥半导体有限公司于2018年9月宣布成立,是阿里巴巴集团的全资半导体芯片业务主体。平头哥拥有端云一体全栈产品系列,涵盖数据中心芯片、IoT芯片等,实现芯片端到端设计链路全覆盖。

🗳【招聘对象】

在2024年11月1日-2025年10月31日期间毕业的同学。中国大陆(内地)以毕业证为准,中国港澳台及海外地区以学位证为准。

🗳【岗位方向】

芯片前端:芯片设计/验证/DFT工程师、计算机体系结构工程师。

芯片软件:芯片软件工程师、测试开发工程师、嵌入式软件工程师、编译器与计算机体系结构开发工程师、AI算法工程师。

芯片平台:硬件开发工程师、模拟设计工程师、芯片物理设计工程师、信号完整性/电源完整性工程师、ATE测试工程师。

📍【工作地点】上海、北京、深圳、杭州、成都等

🗳【内推链接】https://recruitment.t-head.cn/campus/qrcode/home?code=0Rp91oftiBMXUQEaLJ6mDQ%3D%3D

(免填内推码,直接点击链接投递)

大家投递完可以在评论区打上姓名缩写+岗位,我来确认有没有内推成功喽

#平头哥##内推##校招##秋招##面经#
全部评论
请问是不是hc不多哇
点赞 回复 分享
发布于 11-05 23:02 陕西

相关推荐

11-17 20:52
南昌大学 C++
1.530.二叉搜索树的最小绝对差:依然是利用二叉搜索树中序遍历得到的结点是有序的特性,对其进行递归中序遍历,并采用双指针法得到两个结点间的绝对差(中序遍历得到的有序数组中相邻两个结点间的绝对差一定是最小的,不需要再去与更远的结点进行比较,只需要比较两两相邻间的差值就够了),最后通过对绝对差进行不断更新就能获得最小绝对差。2.501.二叉搜索树中的众数: 递归中序遍历,双指针比较前后两个结点是否相等,同时更新maxValue,当count==maxValue时,将该元素加入到结果集中。如果count>maxValue,要注意更新maxValue的值,并清空结果集(失效)。注意递归过程中这些值都要是全局变量。3.236.二叉树的最近公共祖先:递归后序遍历,        //左右子树都不为空,说明找到了pq,此时root就是最近公共祖先        if(left != NULL && right != NULL) return root;        //当一边找了了p/q,就直接返回这边的结点,        //当层层递归结束,要么会只返回这个结点(这个结点本身就是最近公共祖先)        //要么会与另外一支汇合,分别作为左右结点返回值,最后返回他们此时的根节点        if(left != NULL && right == NULL) return left;        else if(left == NULL && right != NULL) return right;        else return NULL;这两天被文本查询卡住了,有点烦躁,把权游八季的解说看完了,现在心静下来了,后面继续刷算法,搞完这个文本查询就开始学STL了。不要放弃!
点赞 评论 收藏
分享
1. C++中的构造函数和析构函数的作用是什么?2. 什么是C++中的命名空间?如何使用?3. C++中的虚析构函数有什么作用?4. C++中如何实现抽象类和接口?5. 什么是多态的静态绑定和动态绑定?6. C++中的默认参数是什么?如何使用?7. 什么是C++中的强制类型转换?8. C++中如何使用std::vector和std::list的区别?9. 什么是C++中的std::map和std::set?10. C++中的异常安全性分为哪几种级别?11. 什么是C++中的内存对齐?12. C++中如何使用std::pair和std::tuple?13. C++中的friend类和friend函数有什么区别?14. C++中如何实现模板类?15. 什么是C++中的类型推导(decltype)?16. C++中的智能指针如何防止内存泄漏?17. C++中如何使用std::shared_ptr和std::weak_ptr?18. C++中的std::mutex和std::lock_guard有什么区别?19. 什么是C++中的线程安全容器?20. C++中如何实现条件变量的使用?21. 什么是C++中的移动语义?22. C++中的std::function和函数指针有什么区别?23. C++中如何使用std::algorithm库?24. C++中的std::initializer_list是什么?25. C++中如何使用模板元编程?26. 什么是C++中的类型特征(type traits)?27. C++中如何实现自定义的迭代器?28. C++中的std::unique_ptr和std::shared_ptr的使用场景是什么?29. C++中如何处理字符串和字符数组的区别?30. C++中如何使用std::string和C风格字符串?31. 什么是C++中的析构函数的虚函数?32. C++中如何实现运算符重载的友元函数?33. C++中的std::array和C风格数组有什么区别?34. C++中如何使用范围for循环遍历容器?35. C++中的std::optional是什么,如何使用?嵌入式C++面经推荐大佬面经  链接在下边  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
1 3 评论
分享
牛客网
牛客企业服务