記錄一下今天的面試,公司是成都四方偉業,問的大部分都是計算機基礎知識(數據庫、數據結構等),由於沒有好好系統的複習這方面的知識,最後的結果是涼涼,但是還是收穫很多,給自己提個了醒,不能丟了最基礎的東西呀!!!。
下面就看看問了哪些問題,涉及到哪些知識點吧,有的問題我會附上參考答案(僅供參考~),有的問題的答案之後再補上,有不對的地方歡迎大家指出~
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、平常是怎麼學習前端的
大致就是以上這些問題