今日头条算法实习生2轮面经

上周面了头条算法工程师实习生,2面后通知挂了,分享个面经。

一面

面试官没有搞好视频面试用的软件,临时改用微信视频。一共1个半小时。

  • 上来就是写代码,让写个快速排序,并测试。
  • 然后问了道概率题,抛2k+1次硬币,问正面次数比背面多的概率是多大,并讲出数学证明思路。
  • 讲项目,每个项目做了什么功能,自己是什么角色。
  • 一道算法题,类似Leetcode No.11,但是问题是改成一共能装多少水。写代码,并测试。
  • TCP了解多少?三次握手细节?

二面

二面很短,只有半个多小时。

  • 先问项目,问CNN的细节,然后问对最新的网络了解多少,如ResNet等。
  • 我项目中写了自己实现了C语言的动态内存分配器,面试官问了特别细节的东西。
  • 算法题,给N个数字,返回这N个数字能组成的所有二叉搜索树。这道题跪了,之前没做过这个类型的题,面试官提示下有了思路,用分治法,递归。我说我先写下伪代码,对方也不置可否,写完后面试官就说面试结束了。反思了一下,这个题实在是做的不好,其实也没有难到无从下手,但是一上来没思路,自己就慌了。而且,面试官提示思路后,应该先写代码,实现二叉树搜索树类,再写算法。就算算法最后写的不对,也能展示代码一点代码能力,写伪代码的话思路不对就全完了。

自己还是太菜了,加油吧。

#实习##春招##面经##字节跳动##算法工程师#
全部评论
上面那个抛硬币概率怎么求的呀?
1 回复
分享
发布于 2018-04-02 07:51
2k+1这个题目能不能这样做: 假设正反面概率是1/2,那么抛2k+1次硬币就是一个伯努利分布(2k+1,1/2) 求正面比反面次数多的概率为P. P=(1/2)^n*{C(2k+1,2k+1)+C(2k+1,2k)+C(2k+1,2k-1)+...C(2k+1,k+1)}=(1/2)^n*{C(2k+1,0)+C(2k+1,1)+..C(2k+1,k)}=(1/2)^n*(1/2)*{C(2k+1,0)+.....C(2k+1,2k+1)} 其中组合公式求和为2^n,所以上式为: P=(1/2)^n*(1/2)*(2^n)=1/2
15 回复
分享
发布于 2018-04-02 13:04
秋招专场
校招火热招聘中
官网直投
求问提到的与leetcode11类似的是leetcode42么
点赞 回复
分享
发布于 2018-04-02 07:24
N个数的所有二叉搜索树,可以用先用分治和递归求全排列,然后对每个进行判断是否为二叉搜索树,判断二叉搜索树也用到递归来判断左右子节点大小。
点赞 回复
分享
发布于 2018-04-02 07:50
N个数字那一题是Leetcode原题,大佬加油,我最近也在刷leetcode
点赞 回复
分享
发布于 2018-04-02 10:09
老铁,你是报哪里的头条,北京还是深圳?
点赞 回复
分享
发布于 2018-04-02 21:40
根据二项式定理反推直接可得1/2
点赞 回复
分享
发布于 2018-04-06 00:49
mark一下 硬币概率是个二项分布 算法题有点像gdut的这个http://gdutcode.sinaapp.com/problem.php?id=1173 现在变菜了忘了怎么写了
点赞 回复
分享
发布于 2019-04-25 16:07
楼主您面的是什么部门呀
点赞 回复
分享
发布于 2019-04-28 17:12
给N个数字,返回这N个数字能组成的所有二叉搜索树。可以参考:https://leetcode.com/problems/unique-binary-search-trees/
点赞 回复
分享
发布于 2020-07-11 23:31
mark
点赞 回复
分享
发布于 2020-08-12 17:29

相关推荐

10 87 评论
分享
牛客网
牛客企业服务