美团2016校招笔试问题总结 丨 永不冷��的人生



美团2016校招笔试问题总结 丨 永不冷�龅娜松�

之前在网上参加笔试,笔试结果并不理想,最后一道简单的算法题:
给你一个字符串,这个字符串只能有两种操作左循环移动1位或者右循环移动1位,比如"abcde"进行左循环1位为bcdea,右循环1位eabcd。求经过多少次,操作返回原字符。

这个问题特别的简单!但是当时笔试的时候居然犯傻了。
左循环操作和右循环操作是相反的,所以结果要么全部通过左循环操作要么全部通过右循环操作。所以分别用一个for循环即可判断,并且返回最小的。
当什么情况下是不存在的呢?我们可以弄一个Set保存每次的结果,如果这次操作后的结果不存在于Set中那么将其加入,如果存在,那么就是存在循环。向这个方向的操作即将是个循环不可能得到结果。
很简单的题目,一时短路。没想到左循环和右循环是相反的。不知道为什么没想到呢!?

6点50出发坐公交到八点半终于到达美团参加面试地点。一到的时候就看到很多美团的前辈提着行李箱来。
面试是在二楼的餐厅。一共三面。刚到的时候已经有很多人已经到了,一来就听他们各种讲什么上次的腾讯面试怎么样啊,阿里面试啊,华为面试啊什么的。一下子觉得有点虚了,在网宿实习三个月没向外投过简历。不过还是赶紧调整好状态参加面试。

经历:
第一轮面试是基础面试。面试我的前辈并不是做java的,所以并没有问任何java以及相关web的技术,而是偏重于基础:计算机网络、操作系统、编译原理、算法。
第二轮面试是偏java方向的面试,主要问了很多java的基础如:多线程,Collection,HashMap等等问题,后来还聊了一点Spring的内部实现机制等,当然少不了一道算法题,但是没想出来感觉很遗憾。
第三轮面试是貌似一个部门经理的前辈面试,已经不是技术面,而是简单的聊天而已,整个聊天氛围特别好,问了很多之前觉得比较迷惘的问题。前辈非常认真的解答了,感觉真是受益匪浅!

问的一些技术问题:
现在整理一下,自己印象比较深刻的问题:
1.你先画出一个栈,能用数组实现?
这个很简单,一下子就可以画出来了。就是最常规的栈结构。
然后接着问题来了,你能用链表实现它?
这个也是可以的,我们可以用双向链表,当然单向的也是可以的,一个用于指向peek另一个指向peek后面一个。
这个方法可以,不过后来经过前辈的提醒把链表头逆向更加的方便。
2.讲一讲快排的原理
这个也简单,我一开始是想用"挖空"这个思想来讲的不过有点挫了给讲出问题来力,后来直接用普通的说法直接过了。
3.Http请求是哪个层的?是有链接还是无链接的?Http缓存是什么?
应用层,有链接 基于TCP/IP嘛 缓存当时答不上来,因为学过DNS缓存却没学过HTTP缓存。

4.操作系统的虚拟内存问题
这个当时真答不上来,大二上学期学的,现在都给忘得差不多。
5.哈希表包括什么?区别呢?
HashMap HashTable 后者线程安全(当时说成线性安全 �澹�

6.http的常用Header
这个当时也就说出两个setContentType/setCharCoding 因为每次用的时候都是临时查询,哎太不专业了。

7.常用的Http返回码
200 ok 404 NOT FOUND 500
其他的一时没想起来。

8.cache机制的理解
首先我说了cache的几种目标,比如速度、稳定性、及时性 然后经过前辈的指点还有一个命中率。
接着又问我如果自己设置一个Cache系统要怎么设计?
我一开始说了用数据库建立一张表,纪录点击数,如果访问量(点击数)够高的话就把它放进cache。
这个方法应该是可以的,但略显��嗦,所以前辈又说你能不能不依赖数据库建立一个呢?
这个我就没答上来了。
9.Spring的核心
IOC并且我简述了一下IOC 以及DI的意义,除此之外还有一个核心,但是我当时无论如何也没想到。就是AOP,因为这个面向切片编程自己仅仅是通过书中学习并没使用,简单的说了下它的作用一般就是用来在不改动代码的情况下修改某些需求比如添加日志功能等。

10.算法:假如给你一系列数字:
a 3
b 2
c 3
要求你随机输出,但是要去在大数据的情况下出现的比例要符合输入,写出可执行的代码。
一开始没理解题意,题意的意思是这样说的比如输出总共1000次,不管任何顺序a要有3/8次,b2/8次,c3/8次。也就是说他们的所占比例必须服从输入。
这道题目一开始很没思路还想用概率论的知识,但是前辈马上告诉我没那么复杂。
后来想不出来,现场感觉有点紧张头脑都转不出来,前辈给我放水改简单点,我想说前辈的真的是太好了。
后来想了,我们可以定义一个随机数,随机出现区间为0,7(7是因为所以的次数加起来-1),如果出现0,1,2打印a,出现3,4打印b,出现5,6,7打印c。

除此之外还问了很多自己不理解的关于开发以及人生以及美团未来走向问题,前辈很耐心解答,由于牵涉到公司隐私等这里就不展开了。
评价:这次面试算是认真对待,但是还是有很多自己不足,比如算法能力还是有点low,也是通过这次面试发现了算法的重要性。总的来说,目前正在等消息,不管消息怎么样,也算是一次很好的体验,很好的学习!


Read full article from 美团2016校招笔试问题总结 丨 永不冷�龅娜松�


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts