豪取BAT!超详细暑期实习算法面经(非科班无论文)

news2024/11/15 18:39:33

1b43c37ce3fe80d3705a82d52ec68743.jpeg

面试锦囊之面经分享系列,持续更新中 e30d9c88d36217017b4649aa1050de8b.png

赶紧后台回复"面试"加入讨论组交流吧 15d6d674fa352d28cf0d8f44ba9fbdd1.png

写在前面

本人基本情况:211本硕,本科电子信息工程,硕士通信与信息系统,典型的非科班,无论文,两段实习经历(均为算法岗,非大厂,一段CV,一段NLP)。

⛳ 百度——推荐策略部—算法工程师(已offer)

⛳ 阿里——阿里云智能事业群—机器学习(已offer)

⛳ 腾讯——互动娱乐事业群IEG—机器学习(已offer)

阿里

技术面共四轮(其中一轮交叉面),HR面试一轮。

一面

未预约,直接打来电话面试。(1h 40min,代码给了非常久的时间,笔者C++代码写了上百行)

  1. 介绍自己参与的CV项目(笔者曾参与过一个做行人属性识别的图像分类的项目,对某些经典CNN模型以及图卷积网络有所了解)

在介绍项目时穿插提问了很多经典问题:过拟合(笔者回答了Early stop, Dropout, 正则化等技术的原理以及个人理解),梯度消失(笔者从初始化和Normalization两个角度回答),学习率调整策略等

  1. 为什么GCN难以训练

笔者从Over smoothing,梯度消失等方面回答 

3. C++中的内存泄漏是怎么发生的?

4. 如何避免C++中发生内存泄漏?

5. 服务器上运行的服务已经发生了内存泄漏时如何处理让服务器恢复到正常状态?(这个真不会。。。) 

6. 编程题:C++语言,在阿里伯乐在线测评系统上写代码
// 评测题目: 最少新建道路条数
// 已知有N个城市,城市编号1...N
// 已知M条路,每条路表示为(x_i, y_i), xy分别为城市编号
// 现在需要新建道路,确保任意两个城市之间,是可以通过一条或者多条道路联通
// 求解能够达到此目的的最小道路条数
// 思路:BFS或者DFS应该都可以找到城市簇即可。

二面:视频面试(2h)

  1. 介绍自己参与的CV项目和NLP项目

介绍NLP项目的时候提问了了BERT等预训练模型的相关知识,以及Attention技术的相关知识。

  1. 谈一谈模型压缩的相关知识

三大角度:蒸馏,剪枝,量化。笔者分别介绍了三大角度的基本原理。还有一些零碎的知识:低秩分解,ALBERT中的参数共享,深度可分离卷积,Inception V3中的大卷积核替代方案等。

  1. 剪枝与正则化的联系

笔者从结构化剪枝与非结构化剪枝分别对应Lasso和Group Lasso的角度来回答,这也导致面试官引入了下一个问题。

  1. 结构化剪枝和非结构化剪枝

  2. CV中的目标检测基本算法

笔者谈了YOLO,SSD,Fast R-CNN,由于笔者并未参与过与目标检测相关的项目,所以只了解一些经典算法。

  1. 特征金字塔FPN的作用

  2. C++语言中的继承体系。

  3. C++语言中的多态。

  4. 数据不平衡问题

笔者不光从欠采样过采样等经典解决办法的角度回答。另外回答了一些其他方法:GAN(ICCV 2019 best paper:SinGAN),特征空间增广,改进训练方式(源数据训练特征提取backbone,欠采样或过采样训练分类器),Loss加权,使用AdaGrad优化器等。。。

  1. 优化器

SGD,SGD with momentum,NSGD,AdaGrad,AdaDetla,RMSProp,ADAM,NADAM,RADAM+LookAhead等。

三面(交叉面):电话面试(17min)

据笔者了解,阿里交叉面主要是为了防止作弊,挂人的可能性较小,但是不排除。

  1. 介绍预训练语言模型

ELMo,BERT,Transforler-XL,XLNET,ERNIE,RoBERTa,ALBERT,ELECTRA。。。笔者从BERT的mask LM以及NSP任务出发讲解了BERT后续各大预训练的改进。
各大预训练语言模型可能不能从头到尾讲起,笔者线是介绍了BERT,然后从BERT的预训练任务出发,比如介绍了ERNIE中对mask LM的改进,ALBERT中将NSP任务替换为SOP任务等。。。

  1. Attention原理

主要讲的是Transformer中Multi-Head Scaled Dot-Product Attention。注意,这里有一个Mask Attention机制,它对于Transformer Decoder和XLNet的实现原理非常重要,同学们如果了解相关知识点,一定要对这个Mask Attention知识点进行深入的理解。

  1. Multi-Head Attention中如何优化Muti-Head的计算?

笔者并无相关底层优化经验,所以回答:借助CNN底层计算原理,将多头变换展开为二维矩阵(填充大量0),将多头变换转为矩阵乘法运算。

四面:电话面试(1h)

  1. 介绍CV,NLP相关项目,调参经验

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

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

相关文章

UNIX系统调用和库函数(详细讲解)

什么是系统调用? 所有的操作系统都提供多种服务的入口点,由此程序向内核请求服务。各种版本的 UNIX 实现都提供良好定义、数量有限、直接进入内核的入口点,这些入口点被称为系统调用(system call,见图1-1) Research UNX 系统第7版提供了约5…

复古视觉大闸蟹创意海报设计

一、新建画布1500*2300像素,分辨率72 二、把文案要求拖入新建的画布中,更改文字颜色,然后打组命名为文案 三、拖入一个大闸蟹到画面当中,点击视图,新建一个居中的参考线,750居中 四、给画面添加一个背景&am…

关于WPA3-H2E的技术讲解

序言 H2E是Hash-To-Element的缩写。 问:虽然使用WPA3 SAE解决了offline dictionary破解密钥的问题,但是原先用于生成PMK的算法在计算时间上和密钥有关联性(这也行?),仍然存在所谓被side-channel方式破解。 解:新的算法,使用hash计算一次即可,堵死这个理论缺口[4]。…

盖雅工场发布数字化转型人效实践案例集

近日,盖雅工场重磅发布《聚集人效,重塑组织:典范企业管理实践案例集》(以下简称案例集)。 过去一年,盖雅工场携旗下盖雅学苑访谈了来自制造业、服务业、连锁零售业、汽车产业的几十家企业后,并…

【喜报】通付盾获评苏州市知识产权优势型企业!

近日,苏州市第二批知识产权强企培育工程成长型、优势型、引领型企业名单公示,江苏通付盾科技有限公司获评“苏州市知识产权强企培育工程-优势型企业”。 *名单发布来源:苏州市工业和信息化局 苏州市知识产权优势型企业 获评优势型企业的主要…

【观察】更懂业务的数智平台,才能应对数智化转型的“千变万化”

毫无疑问,随着数智化转型的加速,越来越多的企业正在把数智化战略提升到一个全新的高度,转型的进程也正从“浅层次”的数智化走向“深层次”数智化的阶段。 这也让企业的数智化转型进入到了一个全新的阶段,其面临的挑战也越来越大&…

intel I2C的速率配置

目录 寄存器篇 修改寄存器 intel I2C 驱动结构 lpss-pci文件 lpss文件 驱动结构 Synopsys DesignWare I2C BIOS配置修改 ACPI表的查看 I2C速率 寄存器篇 修改速率很简单,看到手册里面的寄存器说明,然后将其改掉即可。 寄存器偏移量为0&#x…

1、Flutter使用总结(RichText、Container)

1、创建Flutter项目 flutter create DemoName 2、运行项目 flutter run -d ‘iPhone 14 Pro Max’ 注: 当运用Android Studio时、选择安卓模拟器运行项目、如果项目路径有中文名称: 那么运行报错、如果直接在项目路径下,采用终端运行安卓模拟器、可执行如下命令 flutter ru…

博客系统后端设计(二) - 封装数据库操作

文章目录 封装数据库操作1. 创建一个 db.sql 文件2. 封装数据库的连接操作3. 创建实体类4. 封装数据库的增删改查操作4.1 创建 BlogDao 类中的方法4.2 创建 UserDao 类中的方法 封装数据库操作 这个步骤主要是把一些基本的数据库操作封装好,以后备用。 1. 创建一个…

微信小程序——wxs脚本

WXS目录 一、WXS的概述1、什么是wxs2、应用场景:3. wxs 与JavaScript(1)wxs 支持的数据类型:(2)wxs 不支持类似于 ES6 及以上的语法形式(3)wxs 遵循 CommonJS 规范 二 、WXS基础语法1、 内嵌 wxs 脚本2、外联的 wxs 脚本 三、WXS的特点1. 与 JavaScript 不同2. 不能…

【计算机图形学基础教程】MFC基本绘图函数2

MFC基本绘图函数 绘图工具类 CGdiObject类:GDI绘图工具的基类CBitmap类:封装了GDI画刷,可以选作设备上下文的当前画刷,用于填充图形的内部CFont类:封装了GDI字体,可以选作设备上下文的当前字体CPalette类…

一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 aiohttp 模块:基于 asyncio 的异步HTTP网络库, 资料整理笔记(大全) 摘要模块图类关系图模块全展开【aiohttp】统计常量模块1 aiohttp.hd…

Redis超详细入门手册教程!还不快来看看?

地址: RedisRedis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures …https://redis.io/ 1:NoSQL简介 1.1:数据库应用的演变历程 单…

【Matlab】基于改进的 Hausdorf 距离的DBSCAN船舶航迹聚类

【Matlab】基于改进的 Hausdorff 距离的DBSCAN船舶航迹聚类 一、模型简介1.1问题背景1.2具体内容AIS数据的预处理船舶轨迹分割船舶轨迹相似度度量船舶轨迹表达方式船舶轨迹相似度量方法改进的 Hausdorff 距离船舶轨迹聚类及轨迹提取基于改进DBSCAN算法轨迹聚类船舶典型轨迹的提…

PHP+vue基于web的小区物业管理管理系统1995a

小区物业管理系统主要是对小区物业以及居民信息进行管理,方便用户使用该资源的一种有效手段。能有效地对物业以及用户信息进行管理并为广大用户服务是该管理系统的基本要求,同时用户也可以及时了解最新的物业信息,方便地查询相关物业情况。基…

Django配置WebSocket:django3配置websocket步骤

一、websocket概述 简单可以认为是在web上实现socket功能,在服务器上与浏览器保持socket长连接。 实现websocket是通过magic string 二、环境概述 解释器:python3.9 django3.2 channels3.0.4 #有些时候是channels版本有问题,导致配置不…

linux和window下svn版本控制可视化工具

之前一直用命令行来拉取代码建立分支,推送代码等等 也不是不行,但是用久了,感觉很麻烦,后面就用了svn的版本可视化工具 linux和window下svn版本控制可视化工具 Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVC…

触控笔和电容笔哪个好用?ipad第三方电容笔了解下

和最早出现的那一些触控笔相比,现在电容笔最大的不同之处在于,这些电容笔具备了防误触、倾斜可以随意调整笔迹粗细的特性。苹果的Pencil,现在的价格,也是非常高的。所以,对于预算不足的人群来说,平替电容笔…

SDMTSP:斑马优化算法ZOA求解单仓库多旅行商问题(提供MATLAB代码,可更改起点及旅行商个数)

一、单仓库多旅行商问题 单仓库多旅行商问题(Single-Depot Multiple Travelling Salesman Problem, SD-MTSP):𝑚个推销员从同一座中心城市出发,访问其中一定数量的城市并且每座城市只能被某一个推销员访问一次&#x…

安装java配置

目录 安装JDK ​编辑 环境变量配置 3、检验环境变量配置 二、安装tomcat 验证Tomcat配置是否成功 三、安装Mysql 一、安装 二、卸载 安装JDK 点击更改将C直接给为F即可。 点击确定后进行安装,安装完以后会提示安装JRE; 检测是否已经安装JDK的方法 java命令通…