开放性题目
该文档存放的是面试过程中遇到的一些开放性的问题,其中答案部分放在对应目录下的 questionsAndAnswers.md 文件中,答案部分也只是个人所做的答案,可能存在不正确的地方,欢迎大家共同讨论,找出一个更好的答案。希望大家能够多学一点知识,能够对面试有所有帮助。
1. 有关数组去重的问题
首先问:["a", "b", "c", "d", "d", "f", "a","f", "g"]
这个数组去重?
根据你的答案,会问你,复杂度是多少?有没有更高效的做法?
然后问一个延伸问题:[0,1,2,3,...9999]这样的一个数组,如何打乱它?
// -------------------打印分界线-----------------------
2. 实现一下冒泡排序算法。
3. 怎么判断一个链表成环?
4. 结合编译原理,简述一下下面代码是怎么做的?(语言精粹这本书)
let b = { c: "2" };
let a = [1, 2, 3, b];