国内某研究型大学PhD面试记录

体验非常好,面试的博士非常有水平,知识全面,不管是LC算法题,还是CV雷达数据,或者NLP预训练预训练方法。虽然一直指出我的错误,但是不会让人反感,因为确实问的问题都很关键。

开场非常友好,面试官主动自我介绍,交代今天面试的人员、时长和主要内容。接着我进行完整的自我介绍,没有进行打断。

我介绍了自己的学校,科研经历,实习经历,以及开源经历,面试官显然直奔重点,只问了科研相关的两段经历。

一段是我在研究生期间一直在做的项目,后来也写成了我的毕业设计,基于大核卷积分解门控注意力transformer的降水预测。主要问了两个问题,一个是雷达数据是怎么处理的,我说是x-min/max放缩,他说雷达的单位是dB,是取过log的,不是线性的,不应该线性放缩,这......好吧,确实没想到,然后又问了“你这个降水预测问题和视频预测问题有什么区别🐴”,我,,“没有,本质上都是时空预测问题,可能物体是刚体,而☁️的运动是会变形扩散的”

第二个问题是我的注意力和Transformer有什么关系,我说我借鉴MetaFormer的思想,用大核卷积分解的门控注意力做令牌混淆器,整体的框架还是Transformer那一套,Embedding+Attention+MLP+输出层。我说用改进的注意力是为了减少计算机,他问我数据量,我说几十G,然后他觉得这个很小的数据量,现在都是几十亿的token,“你这个出发点就不成立,你有没有看过的cuda使用率,有没有做profile,怎么评估计算量的”,我~~“只有在最开始的时候测试过,训练起来一个epoch都很慢,没有具体到环节或算子进行分析”。又考察了一个细节问题,了解空洞卷积的原理吗,“能在计算量不变的情况下,增大感受野",“那为什么不全部用空洞卷积呢”,建议我下去看下空洞卷积的论文原文。差点被问哭了,一个没答上。

另一段是一个剧本情感分析的比赛,也只针对性的提出两个问题,为什么要用word embedding?了解预训练方法吗?我说“有两种,一种是根据左右预测中间,一种是从左至右”,“专业术语的说法是什么”,“这两者最大的区别是什么”,“一个是生成式,一个”停停停不用接着讲了。到此处,终于对上一个。好的,我们来写一个简单的算法

算法题,给定一个矩阵,每个元素修改成上下左右四个元素之和。python的列表生成式不记得了,/难受,真😭了,过于依赖copilot了(以后得用python打几次lc周赛)。重点应该在于原地算法吧,当时盲猜至少需要一行+一个元素暂存。

点击查看代码
def check(i, j, n, m):
    return i == 0 or j == 0 or i == n-1 or j == m-1

def calc(matrix):
    n, m = len(matrix), len(matrix[0])

    if n < 3 or m < 3:
        return matrix

    previous_row = matrix[0][:]  # 额外空间

    for i in range(n):
        left = matrix[i][0]  # 额外空间
        for j in range(m):
            if check(i, j, n, m):
               continue
            cur = matrix[i][j]  # 额外空间
            matrix[i][j] = left + previous_row[j] + matrix[i][j+1] + matrix[i+1][j]
            left = cur

    return matrix


# 测试数据
matrix = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12]
]

# 调用函数并打印结果
result = calc(matrix)
for row in result:
    print(row)

这样看起来至少一行+两个变量?

博士很准时,50分钟,不提前一分,不延迟一秒,准时结束

最后助理小姐姐为了我打计划安排,能不能线下实习之类的,我说如果给定明确答复,可以辞职去提前实习,如果只是考察,恐怕我只能线上了

posted @ 2023-09-19 23:30  Rogn  阅读(117)  评论(2编辑  收藏  举报