记第一次参加机试

今晚鲁大师参加美团的在线机试,和杜老师一起帮忙做了一下,也算是我第一次参加互联网企业的开发岗机试了(大概?)。

机试题目分为三部分,逻辑思维题,选择题,在线coding。

逻辑思维题目即常见的IQ测试题类型,如给出两幅图找规律确定第三幅图是什么,或者给出三组数补充第三组数中缺失的数字,又或者三个人中只有一个说真话猜是哪个。十分费解这类脑筋急转弯题目存在的意义是什么,而且找规律那几个题着实花了我们好长的时间,本来建议时间20min的题目被我们做成了40min。

选择题即计算机基础题目,如网络、数据结构、汇编、系统等,这部分我们基本上是靠百度过去的,只会做和数据结构或者编程语言相关的题目orz。

在线coding为两个题目,讲道理感觉这两个题目难度并不高,虽然我们最后还是没写完……第一个题目要求输入一个长为L的长字符串如"ababsbabbba…"和一个长为l的短字符串如"bbbbabba",将短字符串与长字符串逐段对比,计算与每段的海明距离然后求和。这个题目读起来是十分清晰好理解的,就是在L-l+1次循环中每次计算两个等长的字符串海明距离,当然我是再用一个循环逐位对比的,不清楚有没有其他更优的方法。

第二个题目是给定一串任意多个0~9的数字组成的字符串,如"5534"是由一个3一个4两个5组成,求这个字符串所不能组成的最小的正整数,如对于这个字符串输出结果为"1",再如输入"0123456789"输出则应为11。刚看到这个问题,考虑过于简单,直接建立hash表,统计各数字出现次数,然后从0开始寻找哪个数字没出现过,若是'0'则输出"10",若是其他*则输出"*"。之后再加考虑,若所有数字都出现过应该如何,想了一会儿后突然想到应该找出现次数最少的那个数,如'2'只出现过3次,最少,则应输出"2222"。如此提交后仍只有70的准确率。在剩下半分钟的时候,想到若是'0'出现的次数最少,假设'2'出现次数第二少,为3次,则应输出"1000",但是已经没有时间修改,真的很遗憾。

总体来看,题目的难度没有想象中的那么大,尤其是coding部分,但那很搞笑的逻辑思维题目浪费时间太多,之后应该注意。接下来该把数据结构过一遍,也要开始刷Leetcode了。_(°:з」∠)_

posted @ 2018-03-23 00:29  隔夜橘子皮  阅读(147)  评论(0)    收藏  举报