欢迎光临
我们一直在努力

谈下我拿校招sp的面经


谈下我拿校招sp的面经

 

18届本科,现已入职头条算法工程师。说一下我当时拿sp的面经(校招本硕学历,正常情况下sp就是极限,当然我见过SSP,那是骨骼惊奇背景极好(ACM世界决赛有牌?)一进来就级别高一级)。面试这个东西最重要的还是对面试官胃口,这点可通过多看面经来把握。还有头条19年校招,50%以上拿到offer的同学都是实习转正的,所以实习可以说是除硬实力之外最重要的了。

一面

 

讲实习做的事

面试官定义了一些接口函数:batch数据生成器,前向传播函数,SGD优化函数,损失函数。手写神经网络训练的train函数。Pytorch类似,随手写。

一个数据文件,记录了训练样本。写个程序统计方差之类的统计量。码题。

怎么调模型超参数?理想gird search,实际固定变量,一个一个取优,但是主要还是看多次实验的经验和sense。

解释梯度消失的原理。

讲batch normlization原理。读过原论文,知乎上看过相关回答。

softmax回归,learning rate为0.1一切正常,Learning rate为0.08却求解失败为什么?

二面

 

讲实习做的事

两个链表,无序,某些节点会有del标记。输出同时出现在两个链表中,且无del标记的数。hashmap秒,手写。

文件有很多int32的数字,内存只有500M,统计他们的个数。

500M存不下所有数,hashmap超内存,我说了个trie树,面试官说简单点的。

我说B+树,可以放在磁盘,面试官说这不更难了么。

我说bitmap,然后手算了一下,刚好存下2^32个数字的内存。面试官说牛逼。

一个m*n的矩阵A(m 1e7, n 1e7),一个n*1的向量V,求A*V的向量前k大。

A可以离线,n*1是在线询问,需要100ms查寻前k大。这是面试官工作中遇到的。

m*n离线处理方法就是按照向量的模聚类,然后求与查寻点积最大的类的那些类,然后求他们中的前k大得出最后的前k大。

三面

 

无序数组前k大。我:快速排序partion,O(n)。

证明O(n)。我n + n/ 2 + n/4 + n/ 8,等比数列求和。

不交换数组内元素,O(1)空间算法。想了一下,二分秒。

进程和线程,进程通信,什么时候用多进程,多进程共享内存速度慢的原因。

多个线程意味着它们之间的联系很紧密,需要共享同样的数据,处理相似的任务,都在一个进程里面,所以需要特别注意资源的竞争,也就是需要特别小心的设计互斥和加锁。多进程,以为着两者有一定的关联,但是操作过程相互独立,或者说不那么需要共享同样的数据,偶尔有数据通信就通过IPC进行 。还有就是多线程是有数量限制的,单个进程只能开【内存大小/stack大小】个线程,比如32位的linux,默认stack是8m,而最大可用内存是3G,所以最多可以开3G/8M=384个线程,而进程却几乎可以开无限个…

速度慢意思处理进程同步问题(比如信号量),而是对chache命中率的影响。

tcp慢启动算法。我只记得,每次乘2增大cwand,当发生丢包就减小。细节忘记。

手写逻辑回归目标函数,目标函数对w求导,手写。基础题。

谈了一下做的kaggle数据竞赛,考察我对数据源头的敏感性。但是看了讨论区老哥说数据源头有问题,有人为了税乱报,说了。

用过头条么?你觉得目前缺点是什么?如何改进?如何衡量推荐系统的结果?(以上内容都是凭感觉答的,当时我只会协同过滤。)

谈face++等各视觉大公司的过去和未来,这个感觉就是对业界的把握。

最后,祝各位同学新年快乐!明年offer收割!

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:英协网 » 谈下我拿校招sp的面经

分享到: 生成海报
avatar

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活