京东算法工程师现场面面经
老早之前就做了东哥正式批的笔试(8月24号),当时以为肯定挂了,没想到在9月11号收到了面试安排的邮件和短信(面试安排在9月18号的14点20,楼主由于有事早上就去了)。
一面技术(35分钟):
1. 简历上的项目挑一个讲一下?
2. 写代码:无序数组中找第K大的数
3. 你的解法详细说一下,时间复杂度是多少?
4. 为什么是O(n),而不是O(nlogk),来推导并且证明一下你的解法的时间复杂度(级数求和)
5. O(nlogk)的解法是怎么做的,你说一下(堆排序)
6. 现在把题目变一下:有4亿个数据,内存只能存1亿个数,找出第8000万大的数(楼主之前没了解过海量数据处理的问题,这一块崩了)
7. 这题可以用哈希吗?在什么情况下可以用哈希?
8. 你用堆排序做是吧?可以,堆排序这种方法有什么缺点?如果我要找第1.3亿大的数呢?
9. 业务代码:
If (a < 3):
If (b……):
If(c…....):
If(d…….):
If(e……)
If (a >=3):
If (b……):
If(c…....):
If(d…….):
If(e……)
这种if语句嵌套太多,条件也太多了,怎么来优化它?(面试官一步一步提示:决策树 -à 跳转表)
基本就这些,面试官就让我回去等通知。。。。。。
二面技术(25分钟):
1. 手写代码: 判断链表有环
2. 手写代码: 正则表达式匹配
3. 介绍在哈啰出行做的项目(仔细介绍)
4. 聚类了解嘛,说一下K-means聚类的原理以及过程?
5. K-means聚类怎么衡量相似度的?(我说欧式距离)
6. 写一下欧式距离的公式
7. 特征相关性你一般用什么指标?(皮尔逊系数)
8. 写一下皮尔逊系数的公式
9. 画一下混淆矩阵,写一下精确率和召回率的公式
10. 信用卡欺诈这个项目说一下,最大的难点是啥?
11. 数据不平衡问题怎么解决的?
12. 讲一下Easy-Ensemble和SMOTE算法
面试官是做搜索和排序的,偏向机器学习,凉的十分彻底。