记录一下今天的面试,公司是成都四方伟业,问的大部分都是计算机基础知识(数据库、数据结构等),由于没有好好系统的复习这方面的知识,最后的结果是凉凉,但是还是收获很多,给自己提个了醒,不能丢了最基础的东西呀!!!。
下面就看看问了哪些问题,涉及到哪些知识点吧,有的问题我会附上参考答案(仅供参考~),有的问题的答案之后再补上,有不对的地方欢迎大家指出~
1、用SQL Server 、MySQL查找表A的前十行
答案:SQL Server:select top 10 from A
MySQL:select * from A limit 10
2、数据结构有哪些类型?栈与队列的区别,他们的特点分别是什么?单向链表、双向链表是什么?他们的区别及优缺点?
答案:数据结构类型:数组、链表、栈、队列、树、图、集合等
1)栈:只允许在一端插入或删除操作的线性表;
特性是后进先出;
常见应用有:括号的匹配、表达式求值、递归;
2)队列:只允许在表的一端进行插入操作,在表的另一端进行删除操作;
特性是先进先出;
常见应用:树的层次遍历;
3)单向链表:线性表的链式存储(因为顺序表不方便进行插入与删除操作,并且需要一块连续的地址空间,由此引入了线性表的链式存储),为了建立起每个节点之间的联系,每个节点除了存放自己的数据域之外,还存储一个指向其后的一个指针(指向下一个节点的地址);
优点:与顺序表相比,在一个节点之后删除或插入一个节点只需要进行指针指向的修改,而不需要移动大量 的元素;
缺点:对某个节点的前驱节点进行操作(删除、插入操作时),只能从头开始遍历,访问后继节点的时间复 杂度为O(1),而访问前驱节点的时间复杂度为O(n);
4)双向链表:每个节点除了自己的数据域之外,还有一个指向后继节点的指针和一个指向前驱节点的指针;
3、JS实现面向对象的方式有哪些?
一开始对这个问题没有get到面试官想要的答案,对这个题目我的理解是面向对象编程在JS中的实现,因为在其他面向对象语言(像c++/Java)都是基于类实现,而JavaScript(ES5及以前)是没有class的,是通过原型实现;
4、JS在项目使用中有使用过哪些数据结构?
答案:数组、队列、栈、链表、集合、图、二叉查找树
5、JS的设计模式
6、在实习的过程中遇到过哪些比较棘手的问题?怎么解决的?有没有其他的解决方法?
7、看过哪些源码?
8、平常是怎么学习前端的
大致就是以上这些问题