首页 > 【美团算法工程师一面面经】拔凉拔凉的凉经
头像
HenryLuo
编辑于 2020-08-31 20:37
+ 关注

【美团算法工程师一面面经】拔凉拔凉的凉经

又一场重挫,应该是秋招以来面过的最难的一场了。我是数学加统计的背景,主要的强项都集中在统计机器学习上,今天问的一连串问题把我问懵了,预计有95%的概率要凉。

自我介绍完,屏幕上直接给了两道算法题,一个是给二叉搜索树插入节点,然后逐个返回父节点的值;另一个是普通的二叉搜索,都算比较常规的题,很快就做出来了。

接下来开始了我直出冷汗的场景:

  1. SQL 熟悉吗?讲一下 SQL 引擎

    只了解比较简单的查询操作,不了解 SQL 引擎

  2. 那了解 Redis 吗?

    不了解,仅限于听说过…

  3. 那你熟悉网络吗?

    是神经网络还是计算机网络?

    计算机网络

    不了解(本科后悔没选这门课)

  4. 你熟悉操作系统吗?

    不熟悉…只了解一点儿多线程和多进程

    那你讲一下多线程和多进程吧

    (老生常谈的问题了)这个倒是回答出来了

    线程之间怎么通信,进程之间怎么通信,python 的多线程有用吗?

    互斥锁(我不确定回答的对不对);队列和管道;python 有 GIL,不过有用吧(好像应该还是没用)

  5. 你写一个单例模式吧

    (内心OS:啥叫单列模式?)

    (面试官估计看出来我不知道了)你知道设计模式吗?

    不知道

  6. 你知道 python 的垃圾回收机制吗?

    (这个我可算知道了)采用引用计数器的方法,当引用计数器为0时,内存会进行回收。

  7. 创建对象时 new 和 init 有什么区别?

    (我压根都不知道还有 new 方法)不知道

    这里附上一段博客里摘来的解释:

    Python 中的newinit的区别

    • new是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是个静态方法。

    • init是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值,通常用在初始化一个类实例的时候。是一个实例方法。

  8. python 的单下划线和双下划线有什么区别?

    这点我凭印象瞎扯了几点,还是再引用一段好了

    python中前置单下划线、后置单下划线、前置双下划线、前后置双下划线

    1. 前置单下划线"_name":变量前的单下划线表示表面上私有。前置下划线的变量和方法代表这个变量和方法最好是只在内部使用。

    2. 后置单下划线"class_":没有特殊的含义,只是为和python关键字区分

    3. 前置双下划线"__name":真正的私有。可以使该属性变量或方法私有,不会被派生类区继承,仅能类自己使用。可以避免派生类和父类属性方法名称的冲突。

    4. 前后置双下划线"__init__": 这样的方***在类或对象的某些事件触发后执行,例如对象的实例化会执行init()方法,属性初始化。

问到这里的时候心态已经崩了,几乎所有问题都是不会三连:【不知道】【不懂】【不太了解】…

接下来开始场景题,很符合具体业务,场景题大意上是统计学上的变点选择问题。面试官和我聊方法,聊优化,聊特征,聊模型,我终于在这一阶段掌握了话语权。

然而面试到这里就结束了,除了在场景题,整场都没问机器学习的问题,倒是问了一堆计算机基础的问题(可岗位明明是【机器学习/数据挖掘算法工程师】啊)。不过也确实是自己计算机基础薄弱,只能说和美团无缘吧。



2020.8.31 更新: 居然收到了二面邮件,惊了!这也能过吗??啥套路啊这是

更多模拟面试

全部评论

(23) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐