深度学习面试题总结-2022总结

背景:
社招(我估摸着校招聘一样会问,主要方向:自动驾驶);祝愿每一个求职者都可以顺利;谢谢大家的支持。
我刷题的思路就是repeat repeat repeat,背, 背, 背,背着背着就懂了;刷的dp,二叉树目前一题没考,好苦。

地平线1面:

  1. 自我介绍
  2. mobilenet整合时候的处理(1*1进行通道变化)
  3. 手撸depthwise和普通卷积的计算量(吴恩达Mobilenet视频里有讲解, 1/9 + 1/c_out)(https://www.bilibili.com/video/BV1Rf4y1b7NP?p=21
  4. 处理项目时遇到哪些问题,如何处理的(从backbone, neck, taskhead, loss(iou loss, giou, eiou, focal loss等), augmentation,lr, optimizer等进行回答)
  5. 如何优化模型,如题3(从backbone, neck, taskhead, loss, augmentation,lr, optimizer)
  6. yolo的解码方式
  7. mAP代表什么(mean average precision)
  8. 目前看过最新的论文有哪些(注意力机制等)
  9. 代码:手撸IOU

地平线3面:

代码:

  • 不等概率制作等概率生成器(麻了)
 import numpy as np

def random1(p):
    x1 = np.random.choice([0, 1], p=[p, 1-p])
    print(x1)
    x2 = np.random.choice([0, 1], p=[p, 1-p])
    if x1 == 0 and x2 == 1:
        return 1
    if x1 == 1 and x2 == 0:
        return 0
    else:
        return random1(p)

res = []
for i in range(100):
    res.append(random1(0.1))
print(res.count(0))

-附带rand7()实现rand10():

def rand10():
    while True:
        row = rand7()
        col = rand7()
        res = (row -1)*7 + col
        if res <= 40:
            return 1+(res-1)%10

字节跳动以前考过

赢撤1面

  1. 自我介绍
  2. 遇到问题,如何优化
  3. 小目标检测的解决方案
    https://zhuanlan.zhihu.com/p/426047353
  4. 代码:反转字符串(给出左边位置, 右边位置)leetcode 922

赢撤2面:

c++

  1. c++的特点
  2. c++的11后有什么更改
  3. 面向对象的特点(封装,继承,多态)
  4. 什么是封装, 什么是继承,什么是多态
  5. 指针和引用什么区别
  6. 智能指针是什么(share_ptr, unique_ptr, weak_ptr
  7. share_ptr的计数方式如何实现的
  8. container(容器)有什么了解吗?排序机制
  9. 左值, 右值(a = b+ c) a是左值(可引用), (b+c)是右值(不可引用)细节自己再搜搜
  10. 代码:

商汤一面

  1. 手撸Nms(其他的忘了)
  2. 目前目标检测的趋势
  3. 目前目标检测相对成熟,它的发展趋势有哪些,哪些研究方向:transformer, 小目标,无监督,半监督,fewshot,zeroshot等方向;
  4. 小目标检测的解决方案: 这篇总结的不错
    https://zhuanlan.zhihu.com/p/426047353

MMLAB 1面:

  1. focal loss的公式
  2. 小目标如何解决
  3. 目标检测的发展历史
  4. 手撸Nms
  5. 手撸mobilenet inverted residual block

MMLAB 2面:

代码:
16. 手撸Nms
17. 实现resnet residualblock
18. 开放题,两批数据x1,x2输入,如何能预测x1,x2是否匹配,设计forward 和 loss 函数;

MMLAB 3面:

代码:
16. 介绍你自己
17. centernet延伸
18. 手撸BN(不会,…)
19. 实现moduel: 多个输入, 每个输入都进行3*3卷积,输出进行concat的

理想(一面):

  1. focal loss
  2. 项目遇到的问题
  3. 数据量
    coding:
  4. 2个栈实现队列
class Queue:
    def __init__(self):
        self.stockA=[]
        self.stockB=[]
    def push(self, node):
        self.stockA.append(node)
    def pop(self):
        if self.stockB==[]:
            if self.stockA==[]:
                return None
            else:
                for i in range(len(self.stockA)):
                    self.stockB.append(self.stockA.pop())
        return self.stockB.pop()
  1. 岛屿数量(非dfs)

我只会dfs, 哭唧唧
bfs(不用深度优先搜索)
当时应该自信点,这个我也会耶…诶

class Solution:
    def numIslands(self, grid: [[str]]) -> int:
        def bfs(grid, i, j):
            queue = [[i, j]]
            while queue:
                [i, j] = queue.pop(0)
                if 0 <= i < len(grid) and 0 <= j < len(grid[0]) and grid[i][j] == '1':
                    grid[i][j] = '0'
                    queue += [[i + 1, j], [i - 1, j], [i, j - 1], [i, j + 1]]
        count = 0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j] == '0': continue
                bfs(grid, i, j)
                count += 1
        return count

理想(二面):

项目经历
遇到的问题,如何解决

希望大家找到心仪的公司,希望大家顺利!
如果都需要答案的(留言),或者一些奇怪题目分享的,可以留言,我可以加进去;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值