旷视感知算法面经

项目相关问了40分钟左右,对模型的具体实现和验证非常感兴趣,论文要求详细讲解创新点,不过问的问题都比较常规,也没有问八股

手撕代码是三道题

  1. 链表中环的入口节点

快慢指针,同时从head出发,fast走两步,slow走一步,第一次相遇后把fast放到开始,步长改成1,下次相遇就是入口结点

  1. 打家劫舍2(首尾相连)
    dp[i] = max(dp[i-1], dp[i-2]+nums[i])
    dp[0] = nums[0]
    dp[1] = max(nums[:2])

首尾相连的情况下,首尾不能同时取,所以直接对nums[:n-1]和nums[1:]分别动规就行,时间复杂度是o(n),空间复杂度可以用循环数组优化成o(1)

  1. 打家劫舍3(树形结构)
    图片说明
    思路是维护一个字典,每个结点分别计算取该点的最大值和不取该点的最大值,更新的时候直接在字典里更新,最后返回root的对应的值即可。
    需要注意的是,在不取p点的时候,p->left和p->right也都有可能不取,所以在更新的时候需要用到dp[p][1]=max(dp[p.left])+max(dp[p.right])
    class Solution:
     def rob(self, root: TreeNode) -> int:
         # dp[p][0]代表取该点
         # dp[p][1]代表不取该点
         # dp[p][0] = dp[p.left][1] + dp[p.right][1]
         # dp[p][1] = max(dp[p.left])+max(dp[p.right])
         self.dp = {}
         def dfs(root):
             if root is None:
                 return
             dfs(root.left)
             dfs(root.right)
             tmp0 = root.val
             tmp1 = 0
             if root.left is not None:
                 tmp0 += self.dp[root.left][1]
                 tmp1 += max(self.dp[root.left])
             if root.right is not None:
                 tmp0 += self.dp[root.right][1]
                 tmp1 += max(self.dp[root.right])
             self.dp[root] = [tmp0,tmp1]
         dfs(root)
         return max(self.dp[root])

不太清楚旷视的上海岗位什么情况,面试完之后换了个北京的hr给我打电话说岗位调到了北京,还有两轮复试

#旷视面经#
全部评论
我投的是算法开发,上周面旷视,和你几乎一模一样,我都怀疑是同一个面试官。我在学校做的感知算法,然后就猛问感知算法的东西,题也一样,地点也是上海转北京。
2 回复 分享
发布于 2022-08-03 10:23
请问下还有后续吗?二面三面咋样呀
2 回复 分享
发布于 2022-08-24 15:11 北京
哥,想问下你这是校招还是实习?
点赞 回复 分享
发布于 2022-08-03 18:07
请问这是一面二面呀?
点赞 回复 分享
发布于 2022-08-08 21:45
楼主后续怎么样啊,我也是上海一面北京二面,二面面试官太不友好了😂
点赞 回复 分享
发布于 2022-09-19 00:37 浙江
m
点赞 回复 分享
发布于 2022-11-12 08:20 广东

相关推荐

流程比较缓慢,面试体验还行,除了主管面迟到+问了些奇怪的问题,9月就面试完了,11月才跟我沟通offer一面(8.21)1.自我介绍2.介绍水下机器人项目3. 单片机怎么通信4. 用了哪些传感器,传感器数据先后怎么处理,有时间戳吗,怎么处理的?5. 平时c用的多还是c++? 6. c++中static作用 ? 修饰局部变量用于放在全局区,修饰函数用于限定的本文件调用,修饰成员变量表示这是类公共的。   (面试官补充,如果是static成员函数,能否调用普通成员变量?不能,只能调用静态成员变量,除非传入this指针做参数 )7. 数据结构用的多吗?map特性?     底层是红黑树,然后是有序的。    (还有吗?你map是怎么插入的) Insert?   (Insert可以传入哪些参数?) pair  (make_pair) map重载了方括号,还可以[key] = value   8. List和queue的区别?List和vector底层添加元素的区别?9. 手撕:力扣19:删除链表倒数第N个结点10. 刷了多少题?有什么收获?11. c++11新特性了解多少?智能指针用过吗?12. 初始化列表在什么时候用?    const成员变量引用成员变量初始化(还有呢?,成员类型没有默认构造函数,派生类在基类初始化带参时候)13. lambda表达式了解吗?讲一讲14. 设计模式了解吗? 什么是单例模式?15. 用过哪些linux命令?  find命令怎么用? 修改权限命令是哪一个16. vim用的多吗?(说了下常用命令) 17. git用吗?18. 自动驾驶了解多少?19. 了解过TensorRT吗?-------------------------------------------------------------------------------------二面(8.27)1. 自我介绍2. 说一下最熟悉的项目3. 说下卡尔曼滤波4. 说下各个传感器数据是怎么同步的5. 单片机怎么跑ROS?6. 你向ROS2社区提交过代码?说一下这部分7. 手撕146.LRU缓存8. map和unordered_map 的底层区别9. vector的底层实现原理10. push_back() 和 emplace_back() 有什么区别?11. 说下右值引用12. 说下这题的思路?(前缀表)有一个整数数组,找出连续子数组在范围[min, max]里面所有的子数组13. 做机器人的为什么想来自动驾驶?-------------------------------------------------------------------------------- 三面(9.14)主管面,问了些很奇怪的问题1. 自我介绍2. 项目中的难点3. 项目里面印象深刻的地方4. 未来的发展方向5. 了解设计模式吗?6. 手撕一下工厂模式(不会)7. 那算了,代码就不写了,出道智力题(也不咋会。。。。)   25个运动员,在一个田径场上赛跑,田径场有5个跑步,每个跑道每次只能上一名运动员,你是一个裁判但没有秒表,需要决出前三名,需要多少次抉择出来8. 反问   感觉基本凉了,后面说的都不是很好-----------------------------------------------------------------------------------后面莫名其妙让我参加第二志愿的初面,估计被鸽惨了,我说第一个岗位还没结束,他看了下说通过了,这周沟通offer,逆天。。。。#软件开发笔面经##面经#
查看40道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
评论
4
44
分享
牛客网
牛客企业服务