面了 360、腾讯和百度的 NLP 算法岗,被问麻了。。。。。

文章目录

    • 技术交流群
    • 1、360 NLP 算法岗
    • 2、腾讯 NLP 算法岗
    • 3、百度 NLP 算法岗
    • 用通俗易懂方式讲解系列

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。

今天我整理 NLP 算法方向的面试题,分享给大家,希望对后续找工作的有所帮助。喜欢记得点赞、收藏、关注。更多技术交流&面经学习,可以加入我们。

技术交流群

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了算法岗技术与面试交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2060,备注:技术交流

1、360 NLP 算法岗

作者介绍

中文系转NLP,985应用语言学研三,微软STCA的swe暑期实习,在研究生阶段做过导师给的toB的NLP横向项目(命名实体识别),leetcode刷了600+题。面试360的时间是11月初,距离笔试也过了一个多月,简历被业务反复筛选最后还是约面了。这轮面试是过了,进入排序阶段。

问项目

我复述在研究生阶段做的导师的横向项目的过程,面试官讲到像我做的冷启动文本分类项目,有标注的数据很少,和他们的场景比较像。介绍了一遍他们的项目,主要是做toB和toG的文本分类。

  • Q:如果任务是识别包含某种医疗手段的违法广告,怎么实现?

    A:可以用意图识别的方法,算目标语句的词向量和某个意图向量的相似度,超过某一阈值就算。

  • Q:自己实现深度学习项目的时候,用了几张卡,大约用时多久

    A:用的数据并行,4w条数据,用了几个小时。顺便主动讲了一下数据并行的原理,和模型并行的区别。

  • Q:有没有部署过推理服务?

    A:不知道。

  • Q:面试官:部署模型之后,请求量很大,要把它做成服务。有tf-serving、torch-serve如果训练模型时候发现显存只占用10%,该如何调整?

    A:调大batchsize、增加文本长度、提升小数精度

  • Q:面试官说还有加深网络层数

  • Q:反过来如果爆显存了该如何调整?

    A:半精度、调小batchsize、减少网络层数、dropout (忘记说梯度累加了)

  • Q:模型量化有了解吗?

    A:不了解。但是实践中改小过模型精度。

听写 Linux 基础命令

  • Q:ls, pwd是什么指令?

  • Q:怎么看一个文件有多少行?(不会)

    wc-l

  • Q:深度学习过程中要看显卡显存占用率?

    nvidia-smi

  • Q:要把python挂到后台执行?

    nohup python test.py &

  • Q:批量替换文件名中的某个单词(不会)

    sed

  • Q:查询之前用过的命令(不会)

    history | grep

问 NLP 基础知识

  • Q:Word2vec, FastText, BERT 三种模型的embedding是怎么产生的?它们的相同和不同点?

    A:相同点:都基于分布式语义,一个词的含义由上下文决定。

    不同点:前两者是静态词向量,一个词对应一个embedding。BERT因为有self-attention机制,得到的是语境词向量,上下文不同,目标词位置的向量也不同。

  • Q:Word2vec, FastText, BERT在词表上有什么不同?怎么处理不在词表中的词(OOV)?

    A:Word2vec没法处理OOV。Fasttext和BERT都是能给OOV一个embedding的,方法是subword,也就是拆分了子词。但是BERT的词表是word-piece,用类似于BPE的方法,通过多轮迭代,无监督获得的;而Fasttext就是用n-gram切的。

  • Q:Word2Vec是如何实现在几万个向量中查询与query词向量最接近的向量的?

    A:我一开始说gensim的w2v是有现成的api的most_similar(),但是内部实现方法不确定,肯定不是暴力法。可能是先排序,再类似于搜索树?面试官说可以往聚类的方面想。我就想到可以用聚类的逆操作。先随机生成k个点作为聚类中心,把几万个词向量分成k个类别,再用目标词向量和k个类别做相似度,找到最接近的类别。再对这个类别再分成k类,再分布做相似度计算,直到不能再分。面试官说差不多是这样,faiss、hnsw就是用来做这种事的。

做题:翻转链表和全排列

总结

面试官全程比较温柔,会给很多提示。最后说,现在hc比较少,但是前面的人可能会鸽。让我先进流程。

祝大家都能拿到满意的offer,祝非毕业年级同学们学有所成~

2、腾讯 NLP 算法岗

建议尽早准备呦

提前批投递时可以自主选择部门,有些部门的hc几乎全都留给实习生转正,建议无法实习的童鞋们,提前做好调研,避开这些部门。

部门选错了就直接凉了哦(手动微笑脸)

体验总结

a. 面试内容很全面,会涉及相关领域的前沿工作,并且会问的相当深入

b. 项目问的非常细节,我们的项目面试官基本都有了解,不会出现面试官不懂项目的情况

c. 不会问特别难的算法(比如线段树,公共祖先),感觉腾讯更注重基础

一面

  • 自我介绍+项目

  • 序列标注常见算法有什么

  • 之前常见的序列标注问题的解决方案都是借助于HMM模型,最大熵模型,CRF模型

  • CRF HMM 区别

  • HMM是有向图,CRF是无向图

  • HMM是生成式模型(要加入对状态概率分布的先验知识)

  • CRF是判别式模型(完全数据驱动)

  • CRF解决了标注偏置问题,去除了HMM两个不合理的假设等等。

  • 多分类序列标注怎么做

  • 如何构建想要的词表

  • 指针与引用的区别

  • TransformerXL是什么?为了什么而提出

  • XL是“extra-long”的意思,即Transformer-XL做了长度延伸的工作;

  • Transformer规定输入大小为512,原始的输入需要进行裁剪或填充,即将一个长的文本序列截断为几百个字符的固定长度片段,然后分别处理每个片段。

  • 这存在着文章跨片段依赖不能学习到的问题,也限制了长距离依赖。为了解决这一问题,Transformer-XL被提出。

  • 那么Transformer XL进行了什么改进呢?

  • 使用分段RNN(segment-level recurrence mechanism)且存储上一次处理的片段信息;使用了相对位置编码方案(relative positional encoding scheme))

  • BERT ELMO XLNET 区别

  • 模型结构

  • 自回归和自编码语言模型在生成方面的问题

  • XLNet维持了表面看上去的自回归语言模型的从左向右的模式,这个Bert做不到。这个有明显的好处,就是对于生成类的任务,能够在维持表面从左向右的生成过程前提下,模型里隐含了上下文的信息。

  • 一道编程题:全排列,一般难度

二面

  • 自我介绍+项目

  • 项目

  • 项目现在再看可以怎么改进

  • 项目的学习率怎么调的

  • 发没发论文,毕业前是否有发论文的打算

  • 根据项目引申了很多

三面

  • 自我介绍+项目

  • BERT warm-up

  • BERT都有什么改进

  • ERNIE 怎么做的

  • 把bert的单字mask改为词mask,直接对语义知识进行建模,增强了模型语义表示能力。

  • 引入多源数据语料进行训练;

  • 引入了论坛对话类数据,利用 DLM(Dialogue Language Model)建模 Query-Response 对话结构,将对话 Pair 对作为输入,引入 Dialogue Embedding 标识对话的角色,利用 Dialogue Response Loss 学习对话的隐式关系,进一步提升模型的语义表示能力;

  • 通过在自然语言推断、语义相似度、命名实体识别、情感分析、问答匹配 5 个公开的中文数据集合上进行效果验证,ERNIE 模型相较 BERT 取得了更好的效果。

  • 继1.0后,ERNIE英文任务方面取得全新突破,在共计16个中英文任务上超越了BERT和XLNet, 取得了SOTA效果。

  • ERNIE 2.0相对于1.0有什么改进

  • 百度提出可持续学习语义理解框架 ERNIE 2.0。该框架支持增量引入词汇( lexical )、语法 ( syntactic ) 、语义( semantic )等3个层次的自定义预训练任务,能够全面捕捉训练语料中的词法、语法、语义等潜在信息。

  • 算法题:

  • n分解成最少多少个平方数的和

  • n个串的最大公共前缀

  • 树后序遍历非递归(要求空间时间复杂度,并不断改进)

提前批已经开始啦,三面技术面,没有HR面

(其中三面是经理面,技术人际各个方向都会涉及)

体验总结

a. 面试形式为电话面试,面试官小哥哥的声音也太好听了😍

b. 考察内容非常之全面,很注重基础;对于所有考察的内容,更注重理解。

c. 回答问题的思路以及速度都是考察项。

3、百度 NLP 算法岗

一面

  • 自我介绍+项目

  • 项目细节

  • batchsize大或小有什么问题

  • LR怎么设置

  • 机器学习基础:

  • L1L2正则化

  • 优化器

  • 激活函数

  • python基础:

  • yeild是什么

  • 与return的区别

  • 线程进程

  • 装饰器

  • python内部实现的多线程有什么问题

  • 假的多线程

  • Linux基础:

  • AWK

  • nohup

  • 用过最复杂的linux命令是什么

  • NLP基础 :

  • word2vec 两种训练方式哪种更好?

  • 对生僻词谁更好?

  • CBOW模型中input是context(周围词)而output是中心词,训练过程中其实是在从output的loss学习周围词的信息也就是embedding,但是在中间层是average的,一共预测V(vocab size)次就够了。

  • skipgram是用中心词预测周围词,预测的时候是一对word pair,等于对每一个中心词都有K个词作为output,对于一个词的预测有K次,所以能够更有效的从context中学习信息,但是总共预测K*V词。

  • skipgram胜出✌️

  • 编程题:

  • 最长公共子序列

  • (老生常谈,不再赘述)

二面

  • 自我介绍+项目

  • CRF作用

  • 标注的时候样本不均衡怎么办

  • 数据增强

  • 损失函数有个weight参数也可以一定程度解决这个问题 (如果正例少,损失函数的w就提高,(会提高F1 ))

  • Transformer

  • self-attention 有什么作用(捕获依赖关系)

  • 梯度消失爆炸(CEC机制)

  • 螺旋爆炸编程题快问快答环节💥

  • 问了很多编程题,要求列出公式以及完整思路,最后选一个写出代码

  • 时间太久了 =_= 小媛只记住了这几个

  • 最大上升子序列(dp[i] = dp[j]+1 (j < i && nums[j] < nums[i]))

  • 旋转数组找K值

  • 只有01生成器,如何生成 0-3等概率,如何生成 0-k等概率(模拟二进制)

  • 各种python基础:

  • python2python3map的差别

  • 装饰器

  • 线程安全/读写锁/智能指针

  • 大文件字典:比如{abc:‘aabc’,‘cba’,‘ccab’} mapreduce

  • Hadoop

  • 流式抽样

  • 对数据流的随机抽样

  • 蓄水池抽样算法(Reservoir Sampling)

  • 1/n的概率留下当前的,手中的k个每个的概率是1/n-1

  • 跳台阶+有一次后退机会(dp[i][0/1])

三面

  • 项目各种发散的不同的业务场景问题

  • 人际需求问题

  • 上线遇到用户反馈错误怎么解决

  • 迅速学习编程语言的能力

  • 能否接受算法之外的其他工作比如开发

  • 百度内部是否还投了别的部门(因为提前批可以自主投递多个部门)

  • 面试官说后续等消息,可能要很久

  • 已经训好的模型,放到新的数据上怎么提高性能,模型不允许fintuing

  • 增量训练

  • 在线学习方法

用通俗易懂方式讲解系列

  • 用通俗易懂的方式讲解:自然语言处理初学者指南(附1000页的PPT讲解)
  • 用通俗易懂的方式讲解:1.6万字全面掌握 BERT
  • 用通俗易懂的方式讲解:NLP 这样学习才是正确路线
  • 用通俗易懂的方式讲解:28张图全解深度学习知识!
  • 用通俗易懂的方式讲解:不用再找了,这就是 NLP 方向最全面试题库
  • 用通俗易懂的方式讲解:实体关系抽取入门教程
  • 用通俗易懂的方式讲解:灵魂 20 问帮你彻底搞定Transformer
  • 用通俗易懂的方式讲解:图解 Transformer 架构
  • 用通俗易懂的方式讲解:大模型算法面经指南(附答案)
  • 用通俗易懂的方式讲解:十分钟部署清华 ChatGLM-6B,实测效果超预期
  • 用通俗易懂的方式讲解:内容讲解+代码案例,轻松掌握大模型应用框架 LangChain
  • 用通俗易懂的方式讲解:如何用大语言模型构建一个知识问答系统
  • 用通俗易懂的方式讲解:最全的大模型 RAG 技术概览
  • 用通俗易懂的方式讲解:利用 LangChain 和 Neo4j 向量索引,构建一个RAG应用程序
  • 用通俗易懂的方式讲解:使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA
  • 用通俗易懂的方式讲解:面了 5 家知名企业的NLP算法岗(大模型方向),被考倒了。。。。。
  • 用通俗易懂的方式讲解:NLP 算法实习岗,对我后续找工作太重要了!。
  • 用通俗易懂的方式讲解:理想汽车大模型算法工程师面试,被问的瑟瑟发抖。。。。
  • 用通俗易懂的方式讲解:基于 Langchain-Chatchat,我搭建了一个本地知识库问答系统
  • 用通俗易懂的方式讲解:面试字节大模型算法岗(实习)
  • 用通俗易懂的方式讲解:大模型算法岗(含实习)最走心的总结
  • 用通俗易懂的方式讲解:大模型微调方法汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后台管理登录权限怎么实现的,token具体有什么作用

后台管理系统的登录权限通常是通过以下步骤实现的&#xff1a; 用户输入用户名和密码进行登录。 后端接收到登录请求后&#xff0c;验证用户名和密码的正确性。 如果用户名和密码正确&#xff0c;后端会生成一个令牌&#xff08;Token&#xff09;&#xff0c;并将该令牌返回给…

281.【华为OD机试真题】贪吃的猴子(滑动窗口和动态规划—JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-贪吃的猴子二.解题思路三.题解代码Python题解代…

ASCII编码的影响与作用:数字化时代的不可或缺之物

title: ASCII编码的影响与作用&#xff1a;数字化时代的不可或缺之物 date: 2024/2/25 16:03:37 updated: 2024/2/25 16:03:37 tags: ASCII起源标准化字符文本处理基础编程语言基石数据库存储标准跨平台兼容多语言编码基础 一、ASCII编码的起源 ASCII&#xff08;American St…

Qt的QFileSystemModel与QTreeView、QTableView、QListView的组合使用

1.相关描述 QFileSystemModel与QTreeView、QTableView、QListView的组合&#xff0c;当QTreeView点击发生改变&#xff0c;QTableView和QListView也会发生变化 2.相关界面 3.相关代码 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h"…

2.WEB渗透测试-前置基础知识-web基础知识和操作系统

web基础知识 1.http协议 超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准&#xff0c;是以 ASCII 码传输&#xff0c;建立在 TCP/IP 协议之上的应用层规范&#xff0c;通俗点说就是一种固定的通讯规则。 2、网络的三种架构及特点 网络应…

备战蓝桥杯————双指针技巧巧解数组3

利用双指针技巧来解决七道与数组相关的题目。 两数之和 II - 输入有序数组&#xff1a; 给定一个按升序排列的数组&#xff0c;找到两个数使它们的和等于目标值。可以使用双指针技巧&#xff0c;在数组两端设置左右指针&#xff0c;根据两数之和与目标值的大小关系移动指针。 …

年关将至送大礼 社区适时献爱心

在这个快节奏的时代&#xff0c;社区作为人们生活的重要组成部分&#xff0c;其凝聚力和互助精神显得尤为重要。2024年2月7日&#xff0c;实践队员李若钰有幸参与了社区礼盒分装的活动&#xff0c;这不仅仅是一次简单的劳动&#xff0c;更是一次心灵的洗礼和感悟。 礼盒分装&am…

Ansible user 模块 该模块主要是用来管理用户账号

目录 参数语法验证创建用户删除用户验证 删除用户 参数 comment  # 用户的描述信息 createhome  # 是否创建家目录 force  # 在使用stateabsent时, 行为与userdel –force一致. group  # 指定基本组 groups  # 指定附加组&#xff0c;如果指定为(groups)表示删除所有…

【深度学习目标检测】十九、基于深度学习的芒果计数分割系统-含数据集、GUI和源码(python,yolov8)

使用深度学习算法检测芒果具有显著的优势和应用价值。以下是几个主要原因&#xff1a; 特征学习的能力&#xff1a;深度学习&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;能够从大量的芒果图像中自动学习和提取特征。这些特征可能是传统方法难以手动…

JAVA算法和数据结构

一、Arrays类 1.1 Arrays基本使用 我们先认识一下Arrays是干什么用的&#xff0c;Arrays是操作数组的工具类&#xff0c;它可以很方便的对数组中的元素进行遍历、拷贝、排序等操作。 下面我们用代码来演示一下&#xff1a;遍历、拷贝、排序等操作。需要用到的方法如下 public…

gensim 实现 TF-IDF

目录 介绍 代码 介绍 TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09; 含义&#xff1a; TF (Term Frequency): 词频&#xff0c;是指一个词语在当前文档中出现的次数。它衡量的是词语在文档内部的重要性&#xff0c;直观上讲&#xff0c;一个词…

用结构减法比较平面上4点结构的顺序

( A, B )---6*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有6个节点&#xff0c;AB训练集各由6张二值化的图片组成&#xff0c;A有4个点&#xff0c;B全是0.收敛误差7e-4&#xff0c;收敛199次&#xff0c;统计迭代次数平均值并排序。 如果行和列自由变换&#xff0c;迭代次数不…

区块链媒体:Web3.0突破7个爆款推广策略解析-华媒舍

Web3.0的概念代表着互联网的下一阶段发展&#xff0c;它将实现更加分散、安全、私密且能够实现无需中心化管理的网络生态系统。随着Web3.0的发展&#xff0c;推广策略也需要跟进并进行相应的创新。本文将为您介绍7个Web3.0时代的爆款推广策略&#xff0c;帮助你更好地了解和把握…

RM电控讲义【HAL库篇】(二)

8080并口模式是一种常见的计算机接口模式&#xff0c;主要用于LCD&#xff08;液晶显示屏&#xff09;模块。 在8080并口模式中&#xff0c;通信端口包括多种信号线&#xff0c;用于实现数据的读写和控制功能。主要的信号线包括&#xff1a; CS&#xff08;片选信号&#xff…

流畅的Python(十三)-正确重载运算符

一、核心要义 1. 一元运算符重载 2.加法和乘法运算符重载 3.比较运算符重载 4.增量赋值运算符重载 二、代码示例 1、一元运算符重载 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2024/2/25 10:35 # Author : Maple # File : 01-一元运算符.py # Sof…

python运行报错CryptographyDeprecationWarning,Upgrade pyOpenSSL now.

【问题描述】 运行一段含有AES加解密的代码&#xff0c;总是有warning提示出现&#xff0c;如下&#xff1a; D:\Python38\lib\site-packages\cryptography\hazmat\backends\openssl\x509.py:14: CryptographyDeprecationWarning: This version of cryptography contains a t…

NXP实战笔记(九):S32K3xx基于RTD-SDK在S32DS上配置 CRCIRQPower

目录 1、CRC概述 1.1、CRC配置 1.2、代码示例 2、INTCTRL 3、Power 1、CRC概述 硬件CRC产生16或者32bit的&#xff0c;S32K3提供了可编程多项式与其他参数需求。 CRC图示如下 1.1、CRC配置 暂时DMA不怎么会用&#xff0c;所以没有启用DMA CRC的选择 这点需要十分注意&…

完美解决ubuntu+windows双系统下时间不正确问题

在同一台电脑上安装ubuntuwindows双系统时&#xff0c;会出现某个系统的时间不正确的问题&#xff0c;而由于windows同步时间实在是太慢了&#xff0c;如果不去解决&#xff0c;windows上的时间大概率一直都是不对的。 原因分析 windows采用LocalTime机制设置时间&#xff0c…

【力扣白嫖日记】178.分数排名

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 178.分数排名 表&#xff1a;Scores 列名类型idintscoredecimal 在 SQL 中&#xff0c;id 是该表的主键。 …

stm32利用CubeMX实现外部中断触发数码管加减数

首先打开proteus绘制电路图&#xff0c;如下&#xff1a; 然后打开CubeMX&#xff0c;配置晶振和GPIO&#xff1a; 接下来就是生成keil工程文件&#xff0c;用keil打开。 新建一个desplay.h文件&#xff1a;下面是全部代码 #ifndef __DESPLAY_H #define __DESPLAY_H #endif#i…