面试---美团

面试经历:

1,一个面试者都需要填写的表格,关于你的个人相关情况面试职位,期望薪水等。

2,技术面一面和技术面二面。

两个技术面分别提及的面试题目有:

个人抽象一下题目描述

1>一个城市有两种车,蓝色占85%和绿色占15%,有一天出车祸了目击者看到的车是绿色的概率是80%,问出车祸的车是绿色的概率?

条件概率相关的维基百科:http://zh.wikipedia.org/wiki/%E6%9D%A1%E4%BB%B6%E6%A6%82%E7%8E%87

大家看看就明白差不多了。

2>算法题:使用O(n)时间复杂度找出第K大数。

我个人不喜欢类似的算法问题,首先考察点比较局限,其次考察的内容如果面试者有过做该题的经历会很轻松应对,如果没有便很难短时间想清楚。

一般人可能第一印象就是排序,我也是这么回答的,不过貌似面试官不给通过,左耳朵耗子有个博客关于这个问题的描述以及个人观点看法等,地址:

http://coolshell.cn/articles/8138.html#more-8138

这道题的详细答案可以参考博客:

http://hi.baidu.com/sky_space/item/de296bfa6fd225c5a835a2cb

个人感觉面试官非常倾向于以下解法:

 利用快速排序的思想,从数组S中随机找出一个元素X,把数组分为两部分Sa和Sb。Sa中的元素大于等于X,Sb中元素小于X。这时有两种情况:

1. Sa中元素的个数小于k,则Sb中的第k-|Sa|个元素即为第k大数;

2. Sa中元素的个数大于等于k,则返回Sa中的第k大数。时间复杂度近似为O(n)。

3>算法题:一个有序数组,里面可能有重复的数字,请找出搜索的数字的第一次出现的下标。

该问题我的思路是二分查找,对查找到的对象进行递减操作直到找到为止。这个思路好像也不是面试官想要的。

相似问题的链接地址:http://www.cnblogs.com/davidluo/articles/1837561.html

大家可以参考一下。

4>进程和线程的区别,有什么优缺点?

个人觉得面试官太过注重于谁好谁坏了。

多进程或者多线程这两个都是处于对多核CPU利用率上解决实际问题的。

至于多进程或者多线程的好坏不能直接给予评价,nginx多进程模型做的非常好因为人家在CPU利用率上面的开发已经到了极致,在nginx的代码中进程的通信,以及对数据的处理都做的非常好。这其中得益于其设计模式和其利用的异步非阻塞的epoll。而多线程程序如果这些地方你处理的够好能够把CPU里的利用率提起来线程之间通信流程不阻塞一样是很出色的。

与进程的区别:

1、CPU调度方面:CPU调度是以线程为基本单位进行的;

2、拥有资源方面:进程是拥有资源的基本单位,线程不拥有系统的资源,但是可以使用隶属于进程的资源;

3、并发方面: 线程 和 进程都支持并发;

4、系统开销方面: 创建进程的时候需要为进程分配资源,销毁进程时需要回收资源,所以使用进程的开销要大于使用线程的开销。

至于多进程多线程的定义之类的请百度一下得了。

5>操作系统调度单位是什么?

线程。这个百度结果也很多的。

6>php的题目

$a["1"] = "test";$a[1] = 123; var_dump($a); 输出的是什么?

结果:

array(1) {

  [1]=>

  int(123)

}

$a = 4;$a .=  $a + 2; var_dump($a); 输出的是string(2) "46" 面试问的是哪个优先级高?

我回答的是加法,但是我感觉这个问题不只是优先级的问题,跟php的一些内部实现应该是相关的。

但是面试官写的好像是$a = .$a + 2; 这个有语法问题。


6>其他的就是项目经历之类的了,这个每个人都有所不同,因人而异了。

--------------------------------------------------------------------------------------------------------------------

个人看法:

美团面试的流程走的很好,工程师态度也特别好,但是工程师太过注重于自己的个人研究细节上了,问的问题或许不能考察的太全面,比如O(n)的时间复杂度找到第K大数这种题目太过刻板与局限性。

虽然本次面试不太顺利,自己的表现方面不能迎合面试官的出题思路,但是也是一次不错的经历。

貌似大多数公司面试都喜欢问类似的算法题目,鉴于此以后我可能会整理一些常见的题目放出来,希望能够对大家有所帮助。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值