面试经验总结

面试总结

腾讯

企业微信

被强行拉起来面试的后台开发岗位,成都的。。。(不想去就随便面了面,面试官夸我代码写得好,然而不知道为啥把我挂了,可能因为透露了不想去成都的意向.)

编程题
  1. 最长公共字符串前缀。
    (先对字符串排序,降序排序。。取第一个字符串是最长的,对它的字符逐个去和后面的进行比较,只要有不满足的,就break。。)

  2. 判断链表是否是回文。。
    (这个题的思路: 1)快慢指针,先找到中间位置;2)中间位置往后进行链表反转;3)首指针和尾指针,开始往中间走,依次判断是否满足回文。。

(前面证明了自己C++编程能力还行)----

开发知识和项目

强行回忆下,问了哪些问题。。

  1. 介绍自己开发相关的项目。。(是比较底层的项目, 对方表示了他们是做应用层的开发,可能更关注很多应用场景问题的解决,高并发等等,这方面的经验我肯定不足。。)

市场上现有的一些解决方案是否有调研,我们自己的和他们比优势在哪。。(这一块介绍的还不错。。)

  1. 关于项目里, 一些细节的深究, 问了worker机器死机时 ,没法执行任务咋办, 我说客户端设置超时机制,时间到了没拿到就继续在本地执行。。

  2. 网络相关。。 如何避免tcp泛红攻击, 一脸懵逼,表示没听过。。。

其实,开发经验相关的沟通挺尴尬的, 我的知识板块和对方关心的都不一样。。)

阿里

支付宝-搜索推荐nlp

一面

电话面试的,做题时邮件发个链接,在网页上写题。。

聊项目

主要是在一个项目上聊了很久很久。。我的query分析项目。。
聊时,提问的几个关键点。。

  1. 让详细讲解了esim模型,(虽然有些细节忘了,后面需要再温习下,如何全局交互的(关键点)。。)

  2. 让讲解下wmd,wmd算法的缺点,计算量大,句子太长时语义捕获的并不好。。(wmd算法需要再温习下)

  3. bm25查询结果返回时,召回基本上都不相关,如何处理。。(我说了优化分词模型,加入一些相关词典,优化排序算法。。好像回答的不太对。。)

  4. 后面就是针对项目细节的聊天了,主要是给面试官讲懂,比如评价指标了,比如有些处理为什么要这么处理。。。

还纠正了一些问题, f1值是否合适,明明准确率就可以了。。。 一般用于在线或者离线的区别。。

意图匹配, 意图是自己定义的,还是??? 说用词不当。。。

编程题

有点出乎我意料,一反常态,并不是leetcode编程题这种。。

  1. 自己实现 Jaccard相似度计算(输入两个字符串,输出相似度值)
    我已经忘了Jaccard,还要自己实现这个算法。。。头一次见这种题。。

  2. 自己实现self-attention。。
    这个题目更硬核,之前面试也就简单聊聊是啥,现在让自己手写了,支付宝就是牛逼。。下次会不会让手写transformer。。

百度

百度 - 知识图谱

一面
介绍项目环节
  1. 大部分时间都在自己讲项目,
  2. 会问项目应用背景, 项目的评估指标,实际使用效果。
出题环节
  1. 在特定文本领域内比如医疗,设计该领域内的分词、词性标注等任务的解决方案, 主要是回答用到的模型,尤其是最新的模型(我回答的有点偏,讲的通用训练好的语言模型,在该领域数据集上预训练的思路, 不过也提了一些seq2seq模型。
  2. 聊了bert,bert的两大任务的具体内容。。 预测下一句任务无效的问题,交谈了很久,在一些任务上,预测下一句为什么无效,如何解释无效。。
  3. 编程题, 一堆日志(记录的字段有:时间,登陆/登出),是无序的,输入一个时间点,输出该时间点内的在线用户。
    (对方说O(n)就行,我的思路就:遍历,根据登陆登出和时间点比较,来+1 -1, 结果对方说那多次操作时,是不是每次都要遍历一遍, 那就要考虑对所有日志设计存储结构。。提高大规模读取效率。。)
  4. 100层楼,2个鸡蛋,什么情况正好落地上摔碎 (一脸蒙蔽,不知所云,面试官说是经典的计算题问题。 我从物理题角度分析,力学,速度,距离等,通过正好二字,归为临界问题来解答,好像被否定了。。。)
本次面试总结

项目上问的很少,面试官可能觉得我准备的很熟了,不想多问,也可能面试官对我的项目不感兴趣。 对于简历上项目,面试官主要是问一些不太了解的点,比如评估指标为什么这么评估,项目的应用场景和应用效果如何,别的没有多问,也可能面试官急着下班,不想多问。。。这一块表现其实还不错。。。没有 让面试官失望的地方。。

针对,后面连问的好几个开放性问题,因为问题过于开放,面试官说随便回答,所以回答的有点不着边际,没说到面试官想要的点。
反思:
1)针对这种问题,首先要和面试官对齐,充分把问题背景和问题输入输出了解到位,再去想思路和解答。。(这个是必备的工作技能,一定要沟通到位,再去做事,要不耻下问)
2)揣摩出题人意图,这种就需要多积攒面试经验了。。(反正要回答的点,肯定是要展示一些比较常规的知识点)。。
3)个人知识储备,针对开放问题,要多刷面经,或者看相关书籍。。。

百度-商业推荐-广告部门

一面

该部门主要是做广告算法的,属于百度凤巢。

我在简历里增加了搭建搜索引擎的经历,以及腾讯广告算法的经历, 但是,好像对方不太care这些经历,讲了一半广告算法中如何提特征的经历,然后就被停掉,开始做编程题了。

1. 编程题: (被要求用C++)
(1)在一个数组中,找到任意三个值,组成三角形的周长最大。
这个题做得还不错, 思路很清晰,先排序,然后从头开始遍历连续的三个元素值,(只要后两个值大于第一个值即可)

(2)找到第n个丑数(丑数是指质因数中只包含2,3,5的数),第一个丑数是1,第二个是2,第三个是3,第四个是5。
递归,动态规划的思路,当前丑数的递推关系:
f(n) = min(f(index2)*2, f(index3)*3, f(index5)*5), 下一个数从某个index中取到的,该index则+1。

两道题的过程表现还不错,思路和C++代码的书写,面试官对这个过程还是比较重视,即使后面一些项目和相关算法的问答环节没回答上来,做题过程的好表现还是给面试官留下了不错的印象。

2. 后面就聊关于算法方向知识。
(1)广告系统如何冷启动,打破这个不好的状态。
我回答了推送当前热门, 根据用户性别、所在地, 关系链来推送, 面试官说回答的太宽泛。 (这个需要学习了解下。。)

(2)让我聊聊attention。
我回答了attention的背景,计算方法,self-attention,multi-head attention, 还提到了transformer(纯attention), bert等等, 哈哈,我回答的好像有点太远了。。。

问了transformer中的结构细节, 比如为什么会有add模块,(

(3)数据穿越:没怎么听过这个概念,我理解的是数据或者特征处理不当,没有做到真正隔离,而导致验证测试集中包含训练集,验证测试结果不够准确的现象。。

mask问题,然后就仔细回答了bert中的mask以及在其它项目中用到的mask。。

(4)数据类别不均衡问题。
在广告算法中如何处理不均衡问题,针对正例数据的话,正例很少的话,如何处理正例。

说实际工作中不太会让自己搭建DeepFFM这种广告模型,现在都很成熟了,数据量很大的情况下,模型并且现在越来越深,一般不太会在模型上下功夫。

往往会在触发端下功夫。。

后面继续努力的点:
(1)继续多刷题,提升解题能力和编程能力,用C++吧,哈哈,不要再用python了,好像会显得比较low。。。(面试官说的。。主要是解题思路,以及基本的算法思路和逻辑要能写出来)
(2)好好看看nlp的模型,一些nlp问题的处理思路,比如:self-attention、multi-head attention, transformer, bert,
(3)熟悉下整个广告系统的架构,nlp技术主要用在触发端,了解思考自身的nlp技术如何更好的用于广告系统。。。

二面

面试过程中网络不太好,面试官下线了两次,尴尬的要死。。

项目和专业知识:

聊了聊腾讯广告算法比赛,问了问自己对广告算法的理解。。

lightgbm原理, gbdt原理, 为啥lgb可以做特征选择。。。 lgb的直方图是用来干啥的。。 gbdt的优势是啥。。。 (好久没被问过这些问题了,忽然有点懵逼。。不过好像凭印象回答的还差不多。。)

聊了聊天池 网络文本识别的比赛, 详细描述了数据增强过程, 模型架构,为啥要这么设计。。(该过程有点口误,嘴贱多提了一些东西,被问到了,哈哈, 又问了下防止过拟合。。真的是不能乱说话。。)

编程题
  1. 长度为n的字符串中选m个的组合,打印所有组合情况。。
    (动态规划问题,子问题中选m-1个),

字节跳动

头条部门-NLP

一面
编程题 2道

1)输入num,输出括号对的所有组合情况。输入2,输出:(()), ()() (排列组合题没有怎么练过,所以这道题是跪的, 但是知道大概思路,面试官给我说思路了,但是,代码还是没写出来。。。挺尴尬的,,,)写不出来。。 所以需要多练习) (正确思路,用递归)
2) 顺时针打印矩阵,(这个题做过,思路知道,代码也能写出来,没花多少时间,就是下标处理没处理好,现场调试了会,, 面试官可能只需要思路和写出个大概逻辑就行。面试官对这个还是比较满意。。)

针对编程环节, 反思:还是要多练习题目,不同类型的题目都要顾及到,知道统一的思路,, 对于每个题目,不要求写出来完全正确,但是思路+初步的代码实现能做到的话,应付字节面试应该就可以了。。

聊项目环节

就讲了一个项目, 侧重于讲模型结构, 比如:多模态中语音和文本是如何融合的,具体结构是什么,

开放环节

1 )图像和文本的融合简单设计一下, 针对分类场景。。 如何提特征,用什么模型。。
图片个数都不统一的情况下,如何处理。。

2)attention,self attention, 如何计算的,权重系数如何求出的。。

3)深入了解了bert,, 和elmo的区别。。。只知道目标函数。。 bert的最新信息,变种!!!(目前不怎么做nlp了,没有继续跟进,唉。。。)

最后跪在了bert的结构不熟悉。。说错了具体结构。。

综上所述, 面试不算难。。。 编程题不难,问的问题也都很基础。。 但是,

1)自身需要多刷题,题目不难但是自己做不出来就挺尴尬的(做到有思路+可以简单写出来大体代码)。。
2)bert!!!! bert的所有信息都要知道!!! 最近的变种也要都知道!!! 必问!!!!
3)attention!!!!!所有attention的详细信息都要知道!!!必问!!!

二面 - 电商平台
1. 项目介绍

1)针对自动化问句分析引擎,聊得很多,比较关注召回率。匹配模型,分类模型,WMD介绍下,主要把项目细节给面试官讲清楚即可。以为进一步优化时,如何优化。

2)超话下众多的文章,如何判断是否和话题相关。。 如何建模,是否要利用上话题信息, 话题信息和文章信息不对称如何解决。。

3)是否关注最新的模型,bert介绍。。

2. 编程题

这次的题还算简单,都有思路,也都手撕代码了,写的还差不多。。
1)递增序列中,o(n)找出和为k的两个数。。
思路就是双指针,和k判断大小,然后移动指针即可,双指针题做多了就很简单。。

2)找出连通块个数。。。 (类似朋友圈问题。。)
模仿朋友圈问题,讲了思路,思路其实差不多,就dfs深搜。。
代码也写了差不多,但是,可能代码不太完善。。。

(其实,在整个面试过程中,综合多次面试的感受,对于新问题,面试官比较关注我的思路(思维逻辑); 对于最新的技术进展,是否都有关注(知识的广度);反而对基础知识问的很少,不像校招时还要手推公式,现在只需要说思路就行。。

所以,针对社招,一方面要继续刷题,保证来一道题都能有思路;第二,要多了解领域内的最新进展,以及多实践,从实践中锻炼自己解决问题的能力。。。

快手

基础平台研发部

一面

整个过程持续了一个小时10分钟左右。
项目聊了四十多分钟。。

  1. 项目:正好是跟面试官对口的项目,所以问的比较细,没有问某个详细的技术细节,只是问了大概的方案设计,用了啥,为什么这么用,和现有的区别在哪。

  2. 编程题:小朋友分糖果个数-进阶版。。

总结:对自己项目的细节,要理的更清楚。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试过程中,诚实是最重要的原则。如果你没有Python经验,装作有很多经验可能会给雇主留下错误的印象。因此,我建议在面试时实话实说,坦诚地说明你在Python上的经验有限,但可以强调你对学习和进步的积极态度。你可以提到你愿意接受低薪水,并且愿意在入职后通过学习和训练来迅速提高自己的技能。这样的表现会给雇主展示你的诚实和愿意进一步成长的态度。 此外,你还可以准备一些与Python相关的基础知识和概念。即使你没有实际经验,但如果你能够回答一些与Python语言相关的基本问题,如数据类型、语法和控制结构等,这也会给雇主留下积极的印象。你可以通过学习一些常见的Python面试题来加深对Python的了解,并提前思考可能会被问到的问题。 此外,你还可以提到Python的其他用途,如Web开发。虽然爬虫岗位在招聘网站上可能不多,但Python在Web开发方面的应用非常广泛。你可以强调Python在Web开发中的优势和流行度,以此来展示你对Python的了解和对于进一步学习Python所带来的机会的认识。 总结起来,面对Python面试时,诚实并表达你对学习和进步的积极态度是很重要的。通过准备一些基础知识,并强调Python在其他领域的应用,你可以在面试中展示自己的价值和潜力。记住,面试不仅仅是考察你目前的技能水平,更是看重你的学习能力和适应能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值