笔试合集
Published by Shangyu Liu,
一、网易内推笔试(2017-08-12)
1、coding较为简单,递归题目总结一下:
题目:01字符串,找到最小的交错字串。
思路是递归,先看当前串是否为交错串,是则返回长度,不是的话看去掉字符串第一个,查找剩下的最长交错串,然后判断,第一个元素是否应该添加进去。问题,判断第一个时出问题,只是判断第一个和第二个是否不同,不同则加入,但忽略了第二个元素未必在字串中。
张路遥思路:判断当前串是否为交错串,是则返回长度,不是的话,分别去掉头和尾返回最长子串,取较大,问题是每一步两次递归,超时。
改进:将判断是否为交错串的函数改掉,返回非交错位置,此位置之前必为交错串,比较其长度,与之后串的最大子串长度,返回较大值。
完全被递归先入为主了!!!直接找就可以。
启示:递归在分支时一定要想清楚,容易出bug!
2、10^10个数中,选取最小的20个数,哪种方法最快:快排,归并,堆排,插入。
答案:只有每次都能选出最值的算法才行!此题要把所有的排序算法搞清楚,此题做错了!应该是堆排序!!!。
3、adapter模式:
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 具体实现挖坑待填。
4、哪些不是input元素类型:
忘记哪个不是了,但html5新增了如下input标签:
email,url,number,range,date pickers(date,month,week,time,datetime,datetime-local),search,color。各位请从html页面中分别尝试,看看它们是什么样子的。
5、section
总体来说,看起来是给网页中的文章用的,要求是带标题的部分,具体参考:https://www.zhihu.com/question/20227599
6、正则:测试模版:
与正则相关的函数众多:match,exec、search、replace、split,具体用法挖坑待填。
test方法检查给定字符串与正则表达式是否匹配,返回布尔值。
/正则表达式/.test(字符串)
7、完全二叉树第四层3个叶子,第三层几个结点。
所谓完全二叉树就是每一层尽量从左到右填满。
8、哪些不是window属性:history,self,document,message。self指向window本身。
9、出入栈问题:
