1 瞭解JavaScript編程、jQuery框架以及AJAX等前臺技術。 2 熟悉SpringMVC、Spring、Mybatis開源框架。瞭解Struts二、Hibernate、Spring Boot框架。 3 熟悉MySQL、SQL Server數據庫,使用過Redis,瞭解數據庫優化。 4 熟悉Linux操做系統環境及常見命令的使用,瞭解分佈式系統架構。 5 瞭解C、C++語言,並可以使用進行基本編程。 6 瞭解經常使用數據結構及算法。
1,JavaScript,JQuery,AJAX都是作什麼的?php
HTML:展現數據
CSS: 使展現的數據更好看
JavaScript:是頁面的數據具備動畫效果
JQ:JavaScript框架前端
AJAX:異步的 JavaScript 和 XMLjava
1,Ajax是一種用於快速建立動態頁面技術;經過後臺與前臺的少許交互,Ajax使頁面實現異步更新,也就是不更新整個頁面的狀況下,實現更新某個部分,傳統的不使用Ajax的頁面,更新的話,只能進行從新加載整個頁面。
2,Ajax實現異步與同步,只須要修改async爲false就好了,以下:jquery
1 若是是jquery 2 $.ajax({ 3 url: some.php, 4 async: false, 5 success : function(){ 6 } 7 }); 8 若是是原生的js 9 xmlHttp.open("POST",url,false);
2,框架用過哪些,具體某一個框架的工做流程,使用方法(主要配置)?nginx
3,解釋下SSM與SSH的區別?主要框架的區別?c++
1,SSM與SSH的區別?程序員
SSH一般指的是Struts2作控制器(controller),Spring管理各層的組件,Hibernate負責持久化層。
SSM則指的是SpringMVC控制器(controler),Spring管理各層的組件,MyBatis負責持久化層。
共同點:
1,Spring依賴注入DI來管理各層組件;
2,使用面向切面編程AOP管理事物、日誌、權限等;
不一樣點:
1,Struts 2和SpringMVC控制器控制視圖模型的交互機制的不一樣;
2,Struts 2是Action類級別,SpringMVC是方法級別,更容易實現RESTful風格。
3,Hibernate 和 MyBatis 作持久化時的處理不一樣。web
2,struts2和springMVC之間的區別? ajax
1.springMVC的入口是servlet即前端控制器,struts2的入口是filter過濾器;
2.SpringMVC是基於方法開發的(一個url對應一個方法),請求參數傳遞到方法的形參,能夠設計爲單例或多例(通常爲單例);Struts 2是基於類開發的,傳遞參數經過類的屬性,只能設計爲多例;
3.Struts 2採用值棧存儲請求和響應的數據,經過ognl存取數據,springMVC經過參數解析器是將request請求內容解析,並給方法形參賦值,將數據和視圖封裝成ModelAndView對象,最後又將ModelAndView中的模型數據經過request域傳輸到頁面.jsp視圖解析器默認使用jstl.算法
3,Hibernate和mybatis的區別?
1.Mybatis不徹底是一個ORM框架,由於它須要程序員本身編寫sql語句,而Hibernate徹底是一個ORM框架;
2.MyBatis學習門檻低,簡單易學,並且Hibernate學習門檻高,不易精通;
3.MyBatis直接編寫原生態sql,能夠嚴格控制sql執行的性能,進行更爲細緻的sql優化,靈活度高,很是適合對關係型數據模型要求不高的軟件開發,而Hibernate不須要編寫sql語句,靈活性不高,對於關係模型要求高的軟件,用它開發能夠節省不少代碼,提升開發效率。
4.Mybatis自己提供的緩存機制不佳,而Hibernate有更好的一級緩存與二級緩存機制,可使用第三方緩存,如Ecach。
4,Spring Boot是怎麼樣的框架?掌握程度如何?
5,數據庫優化你是怎麼作的?
1,數據庫語句優化:
1.查詢時,能不用*就不用,儘可能寫全字段名;
2.鏈接時注意:小表 join 大表的原則;
3.索引不是越多越好,每一個表控制在6個索引之內。範圍where條件的狀況下,索引不起做用,好比 where value <100;
4.多用explain和profile分析查詢語句;
5.有時候能夠1條大的sql分紅幾個小sql順序執行,速度會快不少;
6.每隔一段時間用 alter table table_name engine = innodb,優化表。
7.查看慢查詢的日誌,找出執行時間長的sql試着優化;
8.大部分狀況鏈接效率大於子查詢,可是有例外。當你對鏈接的效率都感到不能接受的時候,能夠試試用子查詢,雖然大部分狀況下你會更失望,可是總有驚喜的時候;
2,數據庫優化:
6,Redis在哪裏用到過,解決什麼樣的問題?
7,瞭解哪些數據庫系統?數據庫的分類?
關係型數據庫:
Oracle(商業,收費,甲骨文)【性能高】
SQL Server(中型,.net經常使用,微軟)
Mysql(小型,輕量,開源,免費,Sun)<MariaDB是MySQL數據庫的一個分支>
Access(小型,與Office集成方便用於窗體和報表,我的,微軟)
非關係型數據庫(NoSQL):
Redis(Key-Value鍵值型數據庫,結構相似哈希表)
HBase(列式存儲,三維有序存儲)
8,Linux經常使用命令,所瞭解的Linux系統有哪些?或者用過哪些?
Ubuntu
Redhat 紅帽
Centos
9,分佈式架構是怎麼樣考慮的?
分佈式結構就是將一個完整的系統,按照業務功能,拆分紅一個個獨立的子系統,在分佈式結構中,每一個子系統就被稱爲「服務」。這些子系統可以獨立運行在web容器中,它們之間經過RPC方式通訊。
就商城項目而言。按照微服務的思想,咱們須要按照功能模塊拆分紅多個獨立的服務,如:用戶服務、產品服務、訂單服務、後臺管理服務、數據分析服務等等。這一個個服務都是一個個獨立的項目,能夠獨立運行。若是服務之間有依賴關係,能夠經過RPC方式相互調用。
這樣的好處有不少:
系統之間的耦合度大大下降,能夠獨立開發、獨立部署、獨立測試,系統與系統之間的邊界很是明確,排錯也變得至關容易,開發效率大大提高。
10,使用過服務器嗎?具體是作什麼的?什麼樣的配置?什麼系統?
使用過,第一次接觸還不是真正意義上的服務器,本身在虛擬機上架設了hostoj,使用花生殼和Nginx進行反向代理與域名解析,把本身的電腦映射出去,供你們訪問。後期遷移到學校的Windows Server服務器上,訪問地址:http://www.betterang.club/。以後作項目的時候,使用服務器進行項目發佈,在服務器上安裝假設:Zookeeper ,Dubbo,nginx,FastDFS,Redis,Solr/SolrCloud,ActiveMQ等
11,C/C++與Java的區別?還了解其餘語言嗎?用語言作過哪些?
1.內存分配
java中對內存的分配是動態的,JVM自動對內存進行掃描,對長期不用的空間做爲」垃圾」進行收集,使得系統資源獲得更充分地利用.按照這種機制,程序員沒必要關注內存管理問題,這使Java程序的編寫變得簡單明瞭,而且避免了了因爲內存管理方面的差錯而致使系統出問題.而C語言經過malloc()和free()這兩個庫函數來分別實現分配內在和釋放內存空間的,C++語言中則經過運算符new和delete來分配和釋放內存.
2.數據類型的長度
Java對每種數據類型都分配固定長度.Java對每種數據類型都分配固定長度.好比,在Java中,int類型老是32位的,而在C和C++中,對於不一樣的平臺,同一個數據類型分配不一樣的字節數,一樣是int類型,在PC機中爲二字節即16位,而在VAX-11中,則爲32位.這使得C語言形成不可移植性,而Java則具備跨平臺性(平臺無關性).
3.指針
編程者沒法找到指針來直接訪問內存,而且增添了自動的內存管理功能,從而有效地防止了c/c++語言中指針操做失誤,如野指針所形成的系統崩潰。但也不是說JAVA沒有指針,虛擬機內部仍是使用了指針,只是外人不得使用而已。這有利於Java程序的安全。
4.繼承
c++支持多重繼承,這是c++的一個特徵,它容許多父類派生一個類。儘管多重繼承功能很強,但使用複雜,並且會引發許多麻煩,編譯程序實現它也很不容易。Java不支持多重繼承,但容許一個類繼承多個接口(extends+implement),實現了c++多重繼承的功能,又避免了c++中的多重繼承實現方式帶來的諸多不便。
5.數據類型及類
Java是徹底面向對象的語言,全部函數和變量都必須是類的一部分。除了基本數據類型以外,其他的都做爲類對象,包括數組。對象將數據和方法結合起來,把它們封裝在類中,這樣每一個對象均可實現本身的特色和行爲。而c++容許將函數和變量定義爲全局的。
6.操做符重載
Java不支持操做符重載。操做符重載被認爲是c++的突出特徵,在Java中雖然類大致上能夠實現這樣的功能,但操做符重載的方便性仍然丟失了很多。Java語言不支持操做符重載是爲了保持Java語言儘量簡單。
7.預處理功能
Java不支持預處理功能。c/c++在編譯過程當中都有一個預編澤階段,即衆所周知的預處理器。預處理器爲開發人員提供了方便,但增長了編譯的複雜性。JAVA虛擬機沒有預處理器,但它提供的引入語句(import)與c++預處理器的功能相似。
8.goto語句
「可怕」的goto語句是c和c++的「遺物」,它是該語言技術上的合法部分,引用goto語句引發了程序結構的混亂,不易理解,goto語句子要用於無 條件轉移子程序和多結構分支技術。鑑於以廣理由,Java不提供goto語句,它雖然指定goto做爲關鍵字,但不支持它的使用,使程序簡潔易讀。
9.異常
java中有異常機制用於捕獲異常,爲c++中沒有
12,經常使用的數據結構?