1,對於數據庫優化你有什麼辦法?javascript
一、一、調整數據結構的設計。這一部分在開發信息系統以前完成,程序員須要考慮是否使用ORACLE數據庫的分區功能,對於常常訪問的數據庫表是否須要創建索引等。html
二、二、調整應用程序結構設計。這一部分也是在開發信息系統以前完成,程序員在這一步須要考慮應用程序使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,仍是使用Browser/Web/Database的三層體系結構。不一樣的應用程序體系結構要求的數據庫資源是不一樣的。
三、三、調整數據庫SQL語句。應用程序的執行最終將歸結爲數據庫中的SQL語句執行,所以SQL語句的執行效率最終決定了ORACLE數據庫的性能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。
四、四、調整服務器內存分配。內存分配是在信息系統運行過程當中優化配置的,數據庫管理員能夠根據數據庫運行情況調整數據庫系統全局區(SGA區)的數據緩衝區、日誌緩衝區和共享池的大小;還能夠調整程序全局區(PGA區)的大小。須要注意的是,SGA區不是越大越好,SGA區過大會佔用操做系統使用的內存而引發虛擬內存的頁面交換,這樣反而會下降系統。
五、五、調整硬盤I/O,這一步是在信息系統開發以前完成的。數據庫管理員能夠將組成同一個表空間的數據文件放在不一樣的硬盤上,作到硬盤之間I/O負載均衡。
六、六、調整操做系統參數,例如:運行在UNIX操做系統上的ORACLE數據庫,能夠調整UNIX數據緩衝池的大小,每一個進程所能使用的內存大小等參數。
實際上,上述數據庫優化措施之間是相互聯繫的。ORACLE數據庫性能惡化表現基本上都是用戶響應時間比較長,須要用戶長時間的等待。但性能惡化的緣由倒是多種多樣的,有時是多個因素共同形成了性能惡化的結果,這就須要數據庫管理員有比較全面的計算機知識,可以敏感地察覺到影響數據庫性能的主要緣由所在。java
2,強制提升網站性能有什麼辦法?jquery
若是是佔用客戶端的資源比較高的話,多是JS的問題。--檢查js,優化之
若是是服務器響應慢的話。多是網絡問題--無解,多是某個功能模塊的問題(通常都是數據庫操做和外部系統交互有問題)--去分析服務器的日誌、javacore、dump文件,優化之,多是機器性能問題--換機器/加服務器,搞負載均衡程序員
3,千萬級,億級數據查詢慢,有什麼優化辦法?web
1,若是是單表或者是多表鏈接,返回一個不大的結果集,加入查詢條件上有可用的索引,不會太慢,若是返回一個不大的結果集就慢,直接優化索引和sql寫法,固然也不排除執行計劃,緩存這些影響性能的因素,這一點是說正常狀況下慢的一些緣由
2,若是對千萬級億萬級的單表或者是多表查詢,即使是有索引,一個查詢返回數百萬條結果集,神仙也沒辦法,即使是數據庫可以返回這個查詢的結果集,你應用程序短的時間內也接收不了這麼大的結果集
3,若是返回結果集不大,可是是對大數量的聚合操做(sum,count,avg,max,min)等,也不會快,緣由是數據庫要運算
4,對於2,3兩點,我以爲是設計問題,你動不動就遍歷和千萬級的表,動不動就對全表作聚合運算,動不動是十幾個千萬級的別作join,絕對是設計的問題
5,以上設計沒有問題,也沒有大批量的查詢或者大數據的聚合,查詢一個不大的結果集,就慢,那問題可能出在硬件上,別拿個PC級作服務器,內存不夠使,CPU不夠使,網絡不夠使
sql
4,彙集索引,非彙集索引的區別是什麼?怎麼用?什麼場合用?數據庫
彙集索引的缺點是對錶進行修改速度較慢,這是爲了保持表中的記錄的物理順序與索引的順序一致,而把記錄插入到數據頁的相應位置,必須在數據頁中進行數據重排,下降了執行速度。建議使用匯集索引的場合爲:
a.此列包含有限數目的不一樣值;
b.查詢的結果返回一個區間的值;
c.查詢的結果返回某值相同的大量結果集。
非彙集索引指定了表中記錄的邏輯順序,但記錄的物理順序和索引的順序不一致,彙集索引和非彙集索引都採用了B+樹的結構,但非彙集索引的葉子層並不與實際的數據頁相重疊,而採用葉子層包含一個指向表中的記錄在數據頁中的指針的方式。非彙集索引比彙集索引層次多,添加記錄不會引發數據順序的重組。建議使用非彙集索引的場合爲:
a.此列包含了大量數目不一樣的值;
b.查詢的結束返回的是少許的結果集;
c.order by 子句中使用了該列。瀏覽器
http://blog.csdn.net/liu_ben_qian/article/details/8472902緩存
5,經常使用的集合類是哪些?哪些效率高?效率高的緣由是什麼?
http://www.cnblogs.com/linjiqin/archive/2013/05/30/3107785.html
http://blog.163.com/haoge03180318@126/blog/static/119585844201249114044122
6,權限管理,具體到增刪改查,你如何控制頁面顯示哪些操做功能?
http://bbs.csdn.net/topics/320014491
7,索引爲何能夠提升訪問速度原理是什麼?
http://blog.chinaunix.net/uid-10673338-id-2936909.html
8,說一說簡單工廠模式應用場景是什麼?
http://www.cnblogs.com/shenliang123/archive/2012/05/10/2494412.html
http://www.cnblogs.com/zhangchenliang/p/3700820.html
9,說一說垃圾回收的原理,講一下過程?
java垃圾回收的優勢:它使得Java程序員在編寫程序的時候再也不須要考慮內存管理。因爲有個垃圾回收機制,Java中的對象再也不有"做用域"的概念,只有對象的引用纔有"做用域"。垃圾回收能夠有效的防止內存泄露,有效的使用可使用的內存。
java垃圾回收的原理: 垃圾回收器一般是做爲一個單獨的低級別的線程運行,不可預知的狀況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清除和回收,程序員不能實時的調用垃圾回收器對某個對象或全部對象進行垃圾回收。回收機制有分代複製垃圾回收和標記垃圾回收,增量垃圾回收。
http://www.importnew.com/15802.html
http://www.cnblogs.com/dolphin0520/p/3783345.html
10,說一下單例模式的應用場景,都有哪些模式,區別是什麼?
http://blog.csdn.net/tanyujing/article/details/14160941
11,iis如何實現一個簡單的集羣,Session存在哪裏?如何實現共享?
http://www.cnblogs.com/gowhy/archive/2012/12/19/2824999.html
http://blog.csdn.net/fuxiaohui/article/details/45440829
12,說下HttpModule和HttpHandle的區別?
http://www.cnblogs.com/kissdodog/p/3567448.html
13,說下頁面的生命週期?從瀏覽器請求到結束這個過程?
http://blog.csdn.net/gatr/article/details/6804405
http://www.blogjava.net/fastzch/archive/2010/08/24/329729.html
14,說下webForm與MVC分別的優點是什麼?
http://www.cnblogs.com/chay1227/archive/2013/03/11/2953301.html
http://blog.csdn.net/yisuowushinian/article/details/17646121
15,有沒有用過WCF?說下webService的基礎技術是什麼?它是靠什麼支撐的?
http://blog.csdn.net/avi9111/article/details/5655563
16,說下NPOI你是怎麼使用的?說下你用過的數據導入,導出?
http://blog.csdn.net/lploveme/article/details/8551359
17,說下你在項目中用的緩存數據怎麼實現?說下經常使用方式?
http://blog.csdn.net/madun/article/details/8569860
18,Memcached的內部結構是什麼?它的原理是什麼?
http://blog.csdn.net/madding/article/details/5753870
21,有沒有用過除了Jquery之外的其餘框架?
25,你經常使用的存儲過程有哪些?爲何使用存儲過程?存儲過程的優點是什麼?
存儲過程是一組予編譯的SQL語句
它的優勢:
1.容許模塊化程序設計,就是說只須要建立一次過程,之後在程序中就能夠調用該過程任意次。
2.容許更快執行,若是某操做須要執行大量SQL語句或重複執行,存儲過程比SQL語句執行的要快。
3.減小網絡流量,例如一個須要數百行的SQL代碼的操做有一條執行語句完成,不須要在網絡中發送數百行代碼。
4.更好的安全機制,對於沒有權限執行存儲過程的用戶,也可受權他們執行存儲過程。
1.存儲過程只在創造時進行編譯,之後每次執行存儲過程都不需再從新編譯,而通常 SQL 語句每執行一次就編譯一次,因此使用存儲過程可提升數據庫執行速度。
2.當對數據庫進行復雜操做時(如對多個表進行 Update,Insert,Query,Delete 時),可將此複雜操做用存儲過程封裝起來與數據庫提供的事務處理結合一塊兒使用。這些操做,若是用程序來完成,就變成了一條條的 SQL 語句,可能要屢次鏈接數據庫。而換成存儲,只須要鏈接一次數據庫就能夠了。
3.存儲過程能夠重複使用,可減小數據庫開發人員的工做量。
4.安全性高,可設定只有某此用戶才具備對指定存儲過程的使用權。
http://blog.csdn.net/seelye/article/details/8502660
29,說一說session,session的分類,說一說登錄信息存儲如何實現多服務器共享?你有什麼方案?
http://www.cnblogs.com/wangtao_20/archive/2013/10/29/3395518.html
36,JavaScript做用域鏈說一說?繼承如何實現?
http://www.cnblogs.com/dolphinX/p/3280876.html
http://blog.csdn.net/daiwei15/article/details/7631442
http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html
37,jquery選擇器都有哪些?
http://www.cnblogs.com/hulang/archive/2011/01/12/1933771.html
39,多線程和鎖的問題你是怎麼解決的?
http://blog.csdn.net/werm520/article/details/38731095
40,說一說抽象類和接口區別,你對類的理解?