网易笔试总结
今天下午三点的笔试,肝了两小时,有点感悟,和大家交流一下。
这次题目不难,考察基本知识,估计80、90分的应该很多,毕竟笔试也不是用来刷人的,质量感人。
选择题:选择题东一道西一道有的跨度还是很大的,如果复习的面不是很广的话可能在某道题上面会有纠结。考察的内容对于每个知识点都不是很深入,算是考察基本功。我一直最纠结的就是第一题。。我觉得第二个和第三个选项都可以做sql的查找,到最后也不知道哪个是有问题的,其他的题目还好,选择题一个题2分,偶尔打错几个,应该问题不大。
编程题:我是最后做编程题的。我做编程题一般直接暴力,因为觉得时间不多,在优秀的算法上可能会投入大量时间。不如先暴力出三道题再优化,猜一猜测试用例也能提高case,做到TLE就先放下做下一道。最后做完再回来优化,怕时间不够用。
第一题:瞌睡 90%
第一题是瞌睡,这道题我是暴力的,直接遍历遇到1就加上,遇到0开一个for循环遍历后面的0时间,注意别越界。做完之后跑一下,TLE,90% 对我来说已经很完美了,先看下一题。
第二题:丰收 100%
第二题是最简单的一道,直接读数据的时候处理数组,把他们向前加起来,二分查找。开始的时候没有想起来二分查找,跑了一下,30%还TLE,嗯?什么情况?转头就想到了二分,这里因为我是JAVA编写,所以直接用了Arrays.binarySelect方法,我看下面评论有人问这个方法应该怎么用,说一下:这个方***二分查到位置,如果数字不存在则返回一个负值表示应该被插入的位置,根据这道题,我们直接把这个负值设成正数(如果他是正数说明正好和数组里的数据撞上了,那就把它加一)输出就可以了,这个工具让我少写了将近10行代码,跑一下 100%。
第三题:字典 90%
第三题比较复杂,一点也不难,我的思路是先建树再查,用两个递归来做,因为是串行递归,时间复杂度不是很高。跟节点是n个a,m个z的情况,根的左结点是n-1个a和m个z的情况,根的右结点是n个a和m-1个z的情况,我这样一说大家思路就有了,还是做好边界控制,90%不是梦。写到这里时间没了,直接上厕所去了。。(溜了溜了)真正的算法选手,应该会AC三个吧,如果你和我一样,也是非算法,那么这种答题思路我个人觉得还是可以的(逃。
简答题:我做的是JAVA,给了两个最基本的问题,JVM和锁。尽情的写吧!说实话,我看到题目有点后悔,为什么不最后做简答题呢?因为我还要去做编程题不知道时间来不来得及,所以我写的不多。每道题差不多1000个字左右就收了手,太真实了。如果上天能给我一次重来的机会,我一定按照他给我的顺序答题。。。
有什么问题在下面交流一下哈。
#网易##笔试题目##秋招#