作者:zmkoo000
北京现场面 算法岗
一面:
上来先撸了三道题:
-
给定字符串,求最大不重复子串长度(秒了)
-
2 个人玩游戏,每局获胜的概率都是 50%,A 赢 3 次胜利,B 赢 2 次胜利,求 A B 的获胜概率(就是一个状态转移问题,画了图,秒掉)
-
两个字符串的最大子序列长度(这个面试官只让我说了思路,动态规划秒掉)
然后就是问了一些基础的问题:
- TCP 协议 三次握手 四次挥手
- 线程和进程的区别和联系
- 同步 IO 和异步 IO (我说不了解这方面,面试官就换题了)
- 如何处理过拟合
- 正则化 L1 L2 区别
- 伯努利分布和拉普拉斯分布
- LDA 介绍
- LR 的 loss 函数 推导 LR 梯度下降
- Random Forest 和 XGBoost 区别
- 如何进行特征选择
- 介绍 ALS 算法(项目里用到了)
一面结束后感觉还是不错的,算法题全部秒掉,基础题都答上来了,面试官也很友好,聊得很开心。当时信心大增,还以为就此一举拿下宇宙条,结果后来证明我还是太年轻了。
二面:
首先让我自我介绍,说了20秒被打断,然后就开始了我的懵逼之旅。。。
-
面试官轻描淡写地说,bp你会吧,写一下吧,好我开始写,正向传播、反向传播都推了一个遍,交给面试官看了一眼,说用代码实现一下吧。(内心OS:???),用 numpy 写了一个单层神经元的反向传播,给面试官看了,问他还用不用写完整的传播过程,他说不用了。
-
第二个问题是正负样本数据不均衡怎么处理。说了几种方案,欠采样,负采样,生成负样本等。接着问我怎么生成负样本,说了图像处理,GAN等等。就问我生产样本需要注意什么,我说最重要的是要和原始样本的分布保持一致。接着问我怎么能保证分布一致,到这基本就是我的知识盲区了,靠着经验和理解开始扯,期间他一直盯着屏幕打字,中间还打了几个哈欠,让我一直纠结还要不要接着说下去,最后实在扯不下去了,经历了十几秒尴尬的沉默之后。他说,问你道题吧。
-
面试官在纸上画了一个链表,让我反转,松了一口气,终于到我有把握的了。很快写出来,交给面试官看,他说,那我这链表要是有环你这是不是不对呀。又是一顿懵逼心想你刚才也没画环啊。。。短暂思考之后给了他两种解决思路,这题算是过了。
-
后面一道题让我写个矩阵乘法,不让用numpy,按照矩阵乘法的定义很快写出来了。面试官看了一眼,问我能不能优化下,我盯着矩阵看了半天,这尼玛咋优化呀。接着他说,你用Python可能意识不到这个问题(内心OS:那你还问我???)接着给了我一些提示,要用到cache的特性。其实认真思考一下应该能答出来的但是当时已经进入完全懵逼状态,给了几个思路都被他否了。然后就让我回去等通知了。
过了十几分钟,不出所料被拒了。唉,就此告别头条,还是我太菜吧。
欢迎大家加入小编创建的Python行业交流群,有大牛答疑,有资源共享,有企业招人!是一个非常不错的交流基地!群号:78486745