一份来自大厂算法工程师的求职宝典

一份来自大厂算法工程师的求职宝典_第1张图片

作者 | 我生有涯愿无尽

来源 | 海边的拾遗者(ID:gh_cdf18657e25d)

转眼在京东已经入职大约两个星期了,但找工作的时光仿佛就在昨日。盲目投简历,疯狂做笔试,流水般面试的日子。秋招是一场从校园到社会的过滤器,在数百个类别中,如果不能体现掌握要点,发挥自己的长处。就难以让模型分配足够的权重。

如下仅为部分面经,欢迎各位同学交流~

心态放平   

我知道很多人一定跟我一样,平日里也不知道在做些什么,完成老师的项目,在企业中打杂,或者看看论文就是一天。直到秋招来临,便不知所措的开始准备简历,准备刷题,准备几个“star”量比较高的项目往简历那么一贴,源码都没有跑通就要开始海投了。这种时候你一定很慌张,甚至不知道简历去哪投。但其实面临秋招时,大多数人都没有充分的准备,所以第一件事就是放平心态。要相信,经验是越来越充足的,面试也会越来越顺利。当你攒够了元气,一发就可以收割大厂。

笔面试总结   

技术岗的笔试是无法逃避的,很多人推荐leetcode的刷题,但leetcode的题目过多,如果实在来不及,也一定要掌握剑指offer上的所有题目,这是最基础的。除此之外,像动态规划、回溯、链表、以及各种排序算法也是笔试和面试经常会考到的题型。务必掌握经典例题。

就我的经验而言,面试就是一场越来越熟练的过程,没有足够的面试经验,我们很难去掌握要复习的事情。所以在这件事上,每个人的起点都是相同的。对于技术岗而言,我们日常所学的内容大部分都是面试并不会提及的。我们需要根据面试内容,及时的查缺补漏,这是因为面试时候的知识点大多较为零碎,并且多涉及算法和框架的底层原理,这在我们日常编程中是无法涉及的。因此,经常写面经是很好的习惯,我们最好列出面试询问的知识点,如果第一次没有答出来,也要保证第二次一定要会。这样,才能越来越熟练,把积累的面试经验运用起来。

具体面经分享


百度

一面

  •  自我介绍。

  • 介绍LDA模型,LDA的输入输出是什么?

  • 介绍项目。

  • 文本分类中样本不平衡的处理方式。

  • 对于稀疏数据如何处理?

  • 深度论文阅读情况。

  • 反问。

二面

  • 自我介绍。

  • LSTM和RNN的区别,手写GRU结构和公式。

  • GBDT和XGBOOST区别。

  • 手推任何机器学习公式(LR、SVM、GBDT、XGBOOST)。

  • CNN中的平移不变性。

  • 介绍决策树有哪些?

  • GBDT是否只能用CART树,GBDT中残差计算公式。

  • tensorflow中有哪些关键技术,tensorflow的动态图计算框架。

  • python中的闭包,python如何在类中修改全局变量?

  • 数据增强有哪些方法?

  • 过拟合怎么判断,如何处理过拟合?

  • batch_normal为什么需要还原

  • 代码题:打家劫舍Ⅰ

字节跳动|搜索岗

一面

  • 自我介绍。

  • RNN、LSTM、GRU的区别和介绍。

  • 注意力机制的介绍。

  • JAVA中HashMap的实现,处理冲突的方式。

  • 对于冲突问题。

  • 代码题:计算数组中最大回文子串长度

二面

  •  自我介绍。

  • 代码题:查找递增矩阵中是否有某个值。

  • 代码题:求出到达m,n的路径方式数量。

  • GBDT的原理,损失函数,GBDT处理过拟合的方式

  • 什么是过拟合,过拟合的解决方法。

  • Kmeans、LDA、DBSCAN适用的不同场景。

  • 场景题1:对于已知的地理位置经纬度信息推荐出某人的工作地点和家的位置。

  • word2vec的介绍。

  • 场景题2:已知a和b是竞品,a和c是竞品。判断b和c是否为竞品。

三面

  • 自我介绍。

  • 设计不同难度AI。

  • 代码题:链表反转。

  • 代码题:最长连续升序列。

  • 实现互相关注功能。

猿辅导

一面

  •  自我介绍。

  • 代码题:数字n,生成完全二叉树1,2,3,4,。。,n。

  • 房间,就是0有【1,2】的钥匙,1有【3,0】的钥匙等等,问能不能遍历所有房间。

二面

  • 自我介绍

  • 代码题:对于普通的孤岛问题,求矩阵中可以经过岛屿到达边界的1的个数。

  • 代码题:求可以到达边界的1到达边界的最短路径长度。

京东

流程一

一面

  •  自我介绍。

  • 介绍项目,针对项目提问。

二面  

  •  自我介绍。

  • 介绍项目,针对项目提问。

  • 针对有豆瓣评分的音乐,设计一个方法进行推荐。使得总体推荐量与歌曲评分成正比。

  • 如何平衡准确率与召回率?

  • 如果某件商品商家与顾客产生纠纷,如何针对聊天记录评判责任所在?

流程二

一面

  • 自我介绍。

  • 介绍快排的思想。

  • 手写快排。

  • java中的线程与进程。

二面

  • 自我介绍。

  • 介绍决策树模型。

  • 第一年有大牛,每年生一只小牛,小牛四年长成大牛。求第n年牛的总和。

  • 预估2的60次方有多少位。

搜狗

一面 

  • 自我介绍。

  • LSTM相比RNN的优点。

  • python中import导包是pip安装的包还是文件夹下的包(如果有同名包),如果有同名包,文件命名会出什么问题?

  • "__if__"=="__main__"的作用是什么?

  • 海量数据下如何找到中位数?

  • 介绍决策树模型及其扩展。

  • 代码题:孤岛问题。

HR面

  • 意向工作城市。

  • 已有哪些offer?

  • 有没有遇到过大的挫折?

  • 薪资期望。

华为

一面

  •  自我介绍。

  • 代码题:1.写一个双向链表结构 2.写一个双向链表的插入函数。

  • 用过java没,用过sql没。

  • 图像你了解什么?

  • 语音了解什么?

二面

  • 手撕bp。

  • 用过那些损失函数,有什么区别?

  • 聚类算法有哪些了解,以及各自的应用场景?

三面

    自我介绍。

  • 项目里的重难点。

  • 难点解决方案。

  • 为什么来我们部门?

  • 你还有什么问题?


其它一些代码题

1.大数加法。

2.两个字符串的公共字串。

3.已排序的整数数组去重,不能开新数组。

4.错位的全排列(第一位不能是1,第二位不能是2)。

5.手撕一个二分查找。

6.手撕一个快排。

7.给一个无序数组构建一棵二叉排序树。

8.二维数组回形打印(剑指offer上题)。

9.桶排(只写了一半就不会了,尴尬)。

10.螺旋数组(面试的时候写的有bug,然后我现在又写出来了,太过分了)。

11.二叉树转为双向链表。

12.之字形打印矩阵。

13.自己实现链表,无序链表,对链表值奇偶分离并排序,空间复杂度O(1)。

14.给定一个数字N(N是平方数),打印输出螺旋矩阵。

15.打印一个字符串的全排列,没写出来。

16.判断一个区间是否能被给定的区间集合包含。

17.树:输出根节点到叶子节点路径之和为target的路径列表。

18.列表:一些数,任意排列求可形成最小的值。

19.合并有交集的区间[1, 4), [2, 6), [6, 7)    ===> [1,7)

20.二叉搜索树转有序双向链表,自己写一个用例跑跑我看看!

21.字符串删除相邻重复的字符。

22.数组划分两部分找出两部分平均值差的最大值。

23.链表求和。

24.二叉树输出每层均值。

总结

秋招拼的除了技术能力,还有心态。我们一定不要在面试中迷失,要找准自己的方向。多和面试官周旋,并且不要和面试官起冲突。只要坚持自己心中的信念,坚持下去,把这段日子熬过去,一定可以取得一个好结果。

最后祝大家面试顺利,一起加油!欢迎大家来交流~

解锁更多干货,欢迎移步公众号"海边的拾遗者"

一份来自大厂算法工程师的求职宝典_第2张图片


更多精彩推荐
☞一毕业年薪 201 万!目前全球仅四人,华为最高档“天才少年”这样说
☞什么是 “进程、线程、协程”?
☞腾讯或推动斗鱼虎牙合并;印度禁止小米浏览器;Electron 9.2.0 发布| 极客头条
☞关于Transformer,那些的你不知道的事
☞30 年开源老兵,10 年躬耕 OpenStack,开源 1000 万行核心代码
☞倒计时3天,和V神一起点燃这个夏天
点分享点点赞点在看

你可能感兴趣的:(链表,算法,面试,字节跳动,推荐系统)