阿里巴巴Java方向面試題匯總(含答案)2020最新
收集一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題以及自己面試過(guò)程中無(wú)法解決的問(wèn)題,小偏整理了阿里巴巴Java方向面試題匯總(含答案)2020最新,謝謝您的認(rèn)真閱讀。
阿里巴巴Java方向面試題匯總(含答案)2020最新
一、String, StringBuffer, StringBuilder的區(qū)別是什么?String為什么是不可變的?
1、String是字符串常量,StringBuffer和StringBuilder都是字符串變量。后兩者的字符內(nèi)容可變,而前者創(chuàng)建后內(nèi)容不可變。
2、String不可變是因?yàn)樵贘DK中String類被聲明為一個(gè)final類。
3、StringBuffer是線程安全的,而StringBuilder是非線程安全的。
補(bǔ)充說(shuō)明:線程安全會(huì)帶來(lái)額外的系統(tǒng)開(kāi)銷,所以StringBuilder的效率比StringBuffer高。如果對(duì)系統(tǒng)中的線程是否安全很掌握,可用StringBuffer,在線程不安全處加上關(guān)鍵字Synchronize。
二、Vector, ArrayList, LinkedList的區(qū)別是什么?
1、Vector、ArrayList都是以類似數(shù)組的形式存儲(chǔ)在內(nèi)存中,LinkedList則以鏈表的形式進(jìn)行存儲(chǔ)。
2、List中的元素有序、允許有重復(fù)的元素,Set中的元素?zé)o序、不允許有重復(fù)元素。
3、Vector線程同步,ArrayList、LinkedList線程不同步。
4、LinkedList適合指定位置插入、刪除操作,不適合查找;ArrayList、Vector適合查找,不適合指定位置的插入、刪除操作。
5、ArrayList在元素填滿容器時(shí)會(huì)自動(dòng)擴(kuò)充容器大小的約50%,而Vector則是100%,因此ArrayList更節(jié)省空間。
三、HashTable, HashMap, TreeMap的區(qū)別是什么?
1、HashTable線程同步,HashMap非線程同步。
2、HashTable不允許<鍵,值>有空值,HashMap允許<鍵,值>有空值。
3、HashTable使用Enumeration,HashMap使用Iterator。
4、HashTable中hash數(shù)組的默認(rèn)大小是11,增加方式的old2+1,HashMap中hash數(shù)組的默認(rèn)大小是16,增長(zhǎng)方式一定是2的指數(shù)倍。
5、TreeMap能夠把它保存的記錄根據(jù)鍵排序,默認(rèn)是按升序排序。
面小易說(shuō):以上三個(gè)問(wèn)題所涉及的都是Java語(yǔ)言中的一些比較高級(jí)的數(shù)據(jù)結(jié)構(gòu),從字符串相關(guān)到容器再到哈希表和樹(shù)等數(shù)據(jù)結(jié)構(gòu),因此我們?cè)趯W(xué)習(xí)Java語(yǔ)言的時(shí)候,也需要更加深入地去對(duì)比比較類似的數(shù)據(jù)結(jié)構(gòu)的使用場(chǎng)景以及其優(yōu)缺點(diǎn)。
四、Tomcat,Apache,JBoss的區(qū)別?
1、Apache是HTTP服務(wù)器,Tomcat是Web服務(wù)器,JBoss是應(yīng)用服務(wù)器。
2、Apache解析靜態(tài)的Html文件;Tomcat可解析jsp動(dòng)態(tài)頁(yè)面、也可充當(dāng)
容器。
面小易說(shuō):對(duì)于服務(wù)器而言,在面試中可能并不會(huì)過(guò)多涉及,相對(duì)而言,面小易認(rèn)為像是Liunx、Tomcat這些背后的原理可能更受面試官的青睞。
五、GET,POST請(qǐng)求之間的區(qū)別?
基礎(chǔ)知識(shí):HTTP的請(qǐng)求格式如下。
主要包含三個(gè)信息:1、請(qǐng)求的類型(GET或POST),2、要訪問(wèn)的資源(如resimga.jif),3、HTTP版本(http/1.1)
區(qū)別:
1、Get是從服務(wù)器端獲取數(shù)據(jù),Post則是向服務(wù)器端發(fā)送數(shù)據(jù)。
2、在客戶端,Get方式通過(guò)URL提交數(shù)據(jù),在URL地址欄可以看到請(qǐng)求消息,該消息被編碼過(guò);Post數(shù)據(jù)則是放在Html header內(nèi)提交。
3、對(duì)于Get方式,服務(wù)器端用Request.QueryString獲取變量的值;對(duì)用Post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)值。
4、Get方式提交的數(shù)據(jù)最多1024字節(jié),而Post則沒(méi)有限制。
5、Get方式提交的參數(shù)及參數(shù)值會(huì)在地址欄顯示,不安全,而Post不會(huì),比較安全。
六、Session, Cookie的區(qū)別是什么?
1、Session由應(yīng)用服務(wù)器維護(hù)的一個(gè)服務(wù)器端的存儲(chǔ)空間;Cookie是客戶端的存儲(chǔ)空間,由瀏覽器維護(hù)。
2、用戶可以通過(guò)瀏覽器設(shè)置決定是否保存Cookie,而不能決定是否保存Session,因?yàn)镾ession是由服務(wù)器端維護(hù)的。
3、Session中保存的是對(duì)象,Cookie中保存的是字符串。
4、Session和Cookie不能跨窗口使用,每打開(kāi)一個(gè)瀏覽器系統(tǒng)會(huì)賦予一個(gè)SessionID,此時(shí)的SessionID不同,若要完成跨瀏覽器訪問(wèn)數(shù)據(jù),可以使用 Application。
5、Session、Cookie都有失效時(shí)間,過(guò)期后會(huì)自動(dòng)刪除,減少系統(tǒng)開(kāi)銷。
七、HTTP 報(bào)文包含內(nèi)容
主要包含四部分:
1、request line
2、header line
3、blank line
4、request body
面小易說(shuō):上面的三個(gè)問(wèn)題是網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)問(wèn)題,作為Java工程師也需要掌握HTTP的知識(shí),而如今HTTPS同樣也成為了標(biāo)準(zhǔn),也需要大家進(jìn)一步了解。此外,相對(duì)于大家在課本或者課堂中所學(xué)習(xí)的HTTP 1.0/1.1這些協(xié)議而言,很多公司已經(jīng)邁入了HTTP 2.0時(shí)代,因此兩者之間的差別也需要我們進(jìn)一步了解。
八、Servlet的生命周期
大致分為4部:Servlet類加載–>實(shí)例化–>服務(wù)–>銷毀
Tomcat中Servlet的時(shí)序圖如下所示:
1、Web Client向Servlet容器(Tomcat)發(fā)出HTTP請(qǐng)求。
2、Servlet容器接收Client端的請(qǐng)求。
3、Servlet容器創(chuàng)建一個(gè)HttpRequest對(duì)象,將Client的請(qǐng)求信息封裝到這個(gè)對(duì)象中。
4、Servlet創(chuàng)建一個(gè)HttpResponse對(duì)象。
5、Servlet調(diào)用HttpServlet對(duì)象的service方法,把HttpRequest對(duì)象和HttpResponse對(duì)象作為參數(shù)傳遞給HttpServlet對(duì)象中。
6、HttpServlet調(diào)用HttpRequest對(duì)象的方法,獲取Http請(qǐng)求,并進(jìn)行相應(yīng)處理。
7、處理完成HttpServlet調(diào)用HttpResponse對(duì)象的方法,返回響應(yīng)數(shù)據(jù)。
8、Servlet容器把HttpServlet的響應(yīng)結(jié)果傳回客戶端。
其中的3個(gè)方法說(shuō)明了Servlet的生命周期:
1、init():負(fù)責(zé)初始化Servlet對(duì)象。
2、service():負(fù)責(zé)響應(yīng)客戶端請(qǐng)求。
3、destroy():當(dāng)Servlet對(duì)象推出時(shí),負(fù)責(zé)釋放占用資源。
九、Statement與PreparedStatement的區(qū)別,什么是SQL注入,如何防止SQL注入?
1、PreparedStatement支持動(dòng)態(tài)設(shè)置參數(shù),Statement不支持。
2、PreparedStatement可避免如類似 單引號(hào) 的編碼麻煩,Statement不可以。
3、PreparedStatement支持預(yù)編譯,Statement不支持。
4、在SQL語(yǔ)句出錯(cuò)時(shí)PreparedStatement不易檢查,而Statement則更便于查錯(cuò)。
5、PreparedStatement可防止SQL助于,更加安全,而Statement不行。
補(bǔ)充說(shuō)明-什么是SQL注入以及應(yīng)對(duì)策略: 通過(guò)SQL語(yǔ)句的拼接達(dá)到無(wú)參數(shù)查詢數(shù)據(jù)庫(kù)數(shù)據(jù)目的的方法。如將要執(zhí)行的SQL語(yǔ)句為 select from table where name = “+appName+”,利用appName參數(shù)值的輸入,來(lái)生成惡意的SQL語(yǔ)句,如將[‘or’1’=‘1’] 傳入可在數(shù)據(jù)庫(kù)中執(zhí)行。因此可以采用PrepareStatement來(lái)避免SQL注入,在服務(wù)器端接收參數(shù)數(shù)據(jù)后,進(jìn)行驗(yàn)證,此時(shí)PrepareStatement會(huì)自動(dòng)檢測(cè),而Statement不行,需要手工檢測(cè)。
十、sendRedirect, foward區(qū)別
1、foward是服務(wù)器端控制頁(yè)面轉(zhuǎn)向,在客戶端的瀏覽器地址中不會(huì)顯示轉(zhuǎn)向后的地址;sendRedirect則是完全的跳轉(zhuǎn),瀏覽器中會(huì)顯示跳轉(zhuǎn)的地址并重新發(fā)送請(qǐng)求鏈接。原理:forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問(wèn)目標(biāo)地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過(guò)來(lái),然后再將這些內(nèi)容返回給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的這些內(nèi)容是從哪來(lái)的,所以地址欄還是原來(lái)的地址。
2、redirect是服務(wù)器端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求的那個(gè)地址,瀏覽器會(huì)用剛才的所有參數(shù)重新發(fā)送新的請(qǐng)求。
面小易說(shuō):以上的三個(gè)問(wèn)題在之前網(wǎng)絡(luò)相關(guān)的知識(shí)上更進(jìn)一步,上升到了Java網(wǎng)絡(luò)編程的相關(guān)知識(shí),這部分意在考察面試者對(duì)于Java網(wǎng)絡(luò)編程相關(guān)知識(shí)的掌握程度。
十一、談?wù)凥ibernate的理解,一級(jí)和二級(jí)緩存的作用,在項(xiàng)目中Hibernate都是怎么使用緩存的?
Hibernate是一個(gè)開(kāi)發(fā)的對(duì)象關(guān)系映射框架(ORM)。它對(duì)JDBC進(jìn)行了非常對(duì)象封裝,Hibernate允許程序員采用面向?qū)ο蟮姆绞絹?lái)操作關(guān)系數(shù)據(jù)庫(kù)。
Hibernate的優(yōu)點(diǎn):
1、程序更加面向?qū)ο?/p>
2、提高了生產(chǎn)率
3、方便移植
4、無(wú)入侵性
Hibernate的缺點(diǎn):
1、效率比JDBC略差
2、不適合批量操作
3、只能配置一種關(guān)聯(lián)關(guān)系
Hibernate有四種查詢方式:
1、get、load方法,根據(jù)ID號(hào)查詢對(duì)象。
2、Hibernate Query Language, HQL
3、標(biāo)準(zhǔn)查詢語(yǔ)言
4、通過(guò)SQL查詢
Hibernate工作原理:
1、配置Hibernate對(duì)象關(guān)系映射文件、啟動(dòng)服務(wù)器
2、服務(wù)器通過(guò)實(shí)例化Configuration對(duì)象,讀取hibernate.cfg.xml文件的配置內(nèi)容,并根據(jù)相關(guān)的需求建好表以及表之間的映射關(guān)系。
3、通過(guò)實(shí)例化的Configuration對(duì)象建立SessionFactory實(shí)例,通過(guò)SessionFactory實(shí)例創(chuàng)建Session對(duì)象。
4、通過(guò)Session對(duì)象完成數(shù)據(jù)庫(kù)的增刪改查操作。
Hibernate中的狀態(tài)轉(zhuǎn)移:
臨時(shí)狀態(tài)(Transient)
1、不處于Session緩存中
2、數(shù)據(jù)庫(kù)中沒(méi)有對(duì)象記錄
補(bǔ)充說(shuō)明-Java是如何進(jìn)入臨時(shí)狀態(tài)的:1、通過(guò)new語(yǔ)句創(chuàng)建一個(gè)對(duì)象時(shí)。2、剛調(diào)用Session的delete()方法時(shí),從Session緩存中刪除一個(gè)對(duì)象時(shí)。
持久化狀態(tài)(Persisted)
1、處于Session緩存中
2、持久化對(duì)象數(shù)據(jù)庫(kù)中沒(méi)有對(duì)象記錄
3、Session在特定的時(shí)刻會(huì)保存兩者同步
補(bǔ)充說(shuō)明-Java如何進(jìn)入持久化狀態(tài):1、Session的save()方法。2、Session的load().get()方法返回的對(duì)象。3、Session的find()方法返回的list集合中存放的對(duì)象。4、Session的update().save()方法。
流離狀態(tài)(Detached)
1、不再位于Session緩存中
2、游離對(duì)象由持久化狀態(tài)轉(zhuǎn)變而來(lái),數(shù)據(jù)庫(kù)中還沒(méi)有相應(yīng)記錄。
補(bǔ)充說(shuō)明-Java如何進(jìn)入流離狀態(tài):1、Session的close()。2、 Session的evict()方法,從緩存中刪除一個(gè)對(duì)象。
具體如下圖所示:
Hibernate中的緩存主要有Session緩存(一級(jí)緩存)和SessionFactory緩存(二級(jí)緩存,一般由第三方提供)。
十二、談?wù)凥ibernate與iBatis的區(qū)別,哪個(gè)性能會(huì)更高一些
1、Hibernate偏向于對(duì)象的操作達(dá)到數(shù)據(jù)庫(kù)相關(guān)操作的目的;而iBatis更偏向于SQL語(yǔ)句的優(yōu)化。
2、Hibernate的使用的查詢語(yǔ)句是自己的HQL,而iBatis則是標(biāo)準(zhǔn)的SQL語(yǔ)句。
3、Hibernate相對(duì)復(fù)雜,不易學(xué)習(xí);iBatis類似SQL語(yǔ)句,簡(jiǎn)單易學(xué)。
性能方面:
1、如果系統(tǒng)數(shù)據(jù)處理量巨大,性能要求極為苛刻時(shí),往往需要人工編寫(xiě)高性能的SQL語(yǔ)句或存錯(cuò)過(guò)程,此時(shí)iBatis具有更好的可控性,因此性能優(yōu)于Hibernate。
2、同樣的需求下,由于Hibernate可以自動(dòng)生成HQL語(yǔ)句,而iBatis需要手動(dòng)寫(xiě)SQL語(yǔ)句,此時(shí)采用Hibernate的效率高于iBatis。
十三、對(duì)Spring的理解,項(xiàng)目中都用什么?怎么用的?對(duì)IOC、和AOP的理解及實(shí)現(xiàn)原理。
Spring是一個(gè)開(kāi)源框架,處于MVC模式中的控制層,它能應(yīng)對(duì)需求快速的變化,其主要原因它有一種面向切面編程(AOP)的優(yōu)勢(shì),其次它提升了系統(tǒng)性能,因?yàn)橥ㄟ^(guò)依賴倒置機(jī)制(IOC),系統(tǒng)中用到的對(duì)象不是在系統(tǒng)加載時(shí)就全部實(shí)例化,而是在調(diào)用到這個(gè)類時(shí)才會(huì)實(shí)例化該類的對(duì)象,從而提升了系統(tǒng)性能。這兩個(gè)優(yōu)秀的性能使得Spring受到許多J2EE公司的青睞,如阿里中使用最多的也是Spring相關(guān)技術(shù)。
Spring的優(yōu)點(diǎn):
1、降低了組件之間的耦合性,實(shí)現(xiàn)了軟件各層之間的解耦。
2、可以使用容易提供的眾多服務(wù),如事務(wù)管理,消息服務(wù),日志記錄等。
3、容器提供了AOP技術(shù),利用它很容易實(shí)現(xiàn)如權(quán)限攔截、運(yùn)行期監(jiān)控等功能。
Spring中AOP技術(shù)是設(shè)計(jì)模式中的動(dòng)態(tài)代理模式。只需實(shí)現(xiàn)jdk提供的動(dòng)態(tài)代理接口InvocationHandler,所有被代理對(duì)象的方法都由InvocationHandler接管實(shí)際的處理任務(wù)。面向切面編程中還要理解切入點(diǎn)、切面、通知、織入等概念。
Spring中IOC則利用了Java強(qiáng)大的反射機(jī)制來(lái)實(shí)現(xiàn)。所謂依賴注入即組件之間的依賴關(guān)系由容器在運(yùn)行期決定。其中依賴注入的方法有兩種,通過(guò)構(gòu)造函數(shù)注入,通過(guò)set方法進(jìn)行注入。
十四、描述Struts的工作流程
1、在web應(yīng)用啟動(dòng)時(shí),加載并初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,將它們存放到各個(gè)配置對(duì)象中。
2、當(dāng)ActionServlet接收到一個(gè)客戶請(qǐng)求時(shí),首先檢索和用戶請(qǐng)求相匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請(qǐng)求路徑無(wú)效信息。
3、如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中。
4、根據(jù)配置信息決定是否需要驗(yàn)證表單,如果需要,就調(diào)用ActionForm的validate()方法,如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的ActionErrors對(duì)象,就表示表單驗(yàn)證成功。
5、ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action,如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建一個(gè)實(shí)例,然后調(diào)用Action的execute()方法。
面小易說(shuō):以上部分的相關(guān)問(wèn)題考察面試者在實(shí)際軟件開(kāi)發(fā)中所使用的Java語(yǔ)言相關(guān)框架以及對(duì)于框架原理的了解程度,這一部分我們需要注意一些常見(jiàn)的框架,不僅需要知道它們是干什么的,還需要知道它們背后的原理,常會(huì)問(wèn)到的框架有Spring Boot/Spring Cloud全家桶、Hibernate、MyBaits、Netty、Kafka等,最重要的還有阿里巴巴開(kāi)源的Apache Dubbo框架。
十五、關(guān)于Java內(nèi)存模型,一個(gè)對(duì)象(兩個(gè)屬性,四個(gè)方法)實(shí)例化100次,現(xiàn)在內(nèi)存中的存儲(chǔ)狀態(tài),幾個(gè)對(duì)象,幾個(gè)屬性,幾個(gè)方法。由于Java中new出來(lái)的對(duì)象都是放在堆中,所以如果要實(shí)例化100次,將在堆中產(chǎn)生100個(gè)對(duì)象,一般對(duì)象與其中的屬性、方法都屬于一個(gè)整體,但如果 屬性和方法是靜態(tài)的,就是用static關(guān)鍵字聲明的,那么屬于類的屬性和方法永遠(yuǎn)只在內(nèi)存中存在一份。
十六、反射講一講,主要是概念,都在哪需要反射機(jī)制,反射的性能,如何優(yōu)化?
反射機(jī)制的定義:
是在運(yùn)行狀態(tài)中,對(duì)于任意的一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法,對(duì)任意一個(gè)對(duì)象都能夠通過(guò)反射機(jī)制調(diào)用一個(gè)類的任意方法,這種動(dòng)態(tài)獲取類信息及動(dòng)態(tài)調(diào)用類對(duì)象方法的功能稱為java的反射機(jī)制。
反射的作用:
1、動(dòng)態(tài)地創(chuàng)建類的實(shí)例,將類綁定到現(xiàn)有的對(duì)象中,或從現(xiàn)有的對(duì)象中獲取類型。
2、應(yīng)用程序需要在運(yùn)行時(shí)從某個(gè)特定的程序集中載入一個(gè)特定的類。
十七、線程同步,并發(fā)操作怎么控制?
Java中可在方法名前加關(guān)鍵字syschronized來(lái)處理當(dāng)有多個(gè)線程同時(shí)訪問(wèn)共享資源時(shí)候的問(wèn)題。syschronized相當(dāng)于一把鎖,當(dāng)有申請(qǐng)者申請(qǐng)?jiān)撡Y源時(shí),如果該資源沒(méi)有被占用,那么將資源交付給這個(gè)申請(qǐng)者使用,在此期間,其他申請(qǐng)者只能申請(qǐng)而不能使用該資源,當(dāng)該資源被使用完成后將釋放該資源上的鎖,其他申請(qǐng)者可申請(qǐng)使用。并發(fā)控制主要是為了多線程操作時(shí)帶來(lái)的資源讀寫(xiě)問(wèn)題。如果不加以空間可能會(huì)出現(xiàn)死鎖,讀臟數(shù)據(jù)、不可重復(fù)讀、丟失更新等異常。
并發(fā)操作可以通過(guò)加鎖的方式進(jìn)行控制,鎖又可分為樂(lè)觀鎖和悲觀鎖。
悲觀鎖:
悲觀鎖并發(fā)模式假定系統(tǒng)中存在足夠多的數(shù)據(jù)修改操作,以致于任何確定的讀操作都可能會(huì)受到由個(gè)別的用戶所制造的數(shù)據(jù)修改的影響。也就是說(shuō)悲觀鎖假定沖突總會(huì)發(fā)生,通過(guò)獨(dú)占正在被讀取的數(shù)據(jù)來(lái)避免沖突。但是獨(dú)占數(shù)據(jù)會(huì)導(dǎo)致其他進(jìn)程無(wú)法修改該數(shù)據(jù),進(jìn)而產(chǎn)生阻塞,讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)會(huì)相互阻塞。
樂(lè)觀鎖:
樂(lè)觀鎖假定系統(tǒng)的數(shù)據(jù)修改只會(huì)產(chǎn)生非常少的沖突,也就是說(shuō)任何進(jìn)程都不大可能修改別的進(jìn)程正在訪問(wèn)的數(shù)據(jù)。樂(lè)觀并發(fā)模式下,讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)之間不會(huì)發(fā)生沖突,只有寫(xiě)數(shù)據(jù)與寫(xiě)數(shù)據(jù)之間會(huì)發(fā)生沖突。即讀數(shù)據(jù)不會(huì)產(chǎn)生阻塞,只有寫(xiě)數(shù)據(jù)才會(huì)產(chǎn)生阻塞。
附面試技巧
seo面試84個(gè)問(wèn)題及答案:
1. 你最喜歡SEO的哪一部分? 站內(nèi)優(yōu)化
2. 你覺(jué)得SEO中最困難的是什么? 把客戶培養(yǎng)為忠實(shí)客戶(轉(zhuǎn)化率)
3. 你在SEO中犯過(guò)的最大錯(cuò)誤是什么? 沒(méi)有自己的站,以前刷過(guò)公司的站
4. 你在SEO中獲得的最大成功是什么? 知道如何去分析觀察SE.
5. 你有自己的網(wǎng)站嗎?網(wǎng)址是什么?你做這些網(wǎng)站的目的是什么?他們?nèi)〉昧嗽鯓拥某煽?jī)? NO
6. 你之前做SEO的網(wǎng)站是做什么生意的? NO
7. 你覺(jué)得自己作為一個(gè)SEO最有競(jìng)爭(zhēng)力的是哪一方面? SEO知識(shí)相當(dāng)扎實(shí),SEO策略還可以^_^
8. 你覺(jué)得MATT CUTTS(GOOGLE工程師)怎么樣 我不是很懂英文
考察SEO學(xué)習(xí)能力
9. 你最喜歡的SEO網(wǎng)站/博客是什么?為什么? ZAC,SEO研究中心,BSG等.
10.你在SEO界最尊敬的人是誰(shuí)?為什么? ZAC,權(quán)威和啟蒙老師
11.你在SEO界最不尊敬的人是誰(shuí)?為什么? 目前還沒(méi)有,真沒(méi)有.
12.你每天在哪個(gè)網(wǎng)站學(xué)習(xí)新知識(shí) ? moonseo.net BSG
統(tǒng)計(jì)
13.你用過(guò)哪些流量統(tǒng)計(jì)工具? 百度統(tǒng)計(jì),CNZZ
14.通過(guò)統(tǒng)計(jì)工具設(shè)定目標(biāo)轉(zhuǎn)換的流程是什么? 本人做信息站所以目的是留下用戶,所以....大家都懂撒.我在扯蛋,這里不是很懂.
15.解釋一下這個(gè)流程(設(shè)定目標(biāo)轉(zhuǎn)換)的高端部分,然后說(shuō)說(shuō)為什么要這么用? 站內(nèi)布局^_^
16.如果要你來(lái)制定一個(gè)當(dāng)前的統(tǒng)計(jì)工具沒(méi)有的或者不完善的新功能,你會(huì)怎么做? EXCEL記錄一些重要數(shù)據(jù),分析對(duì)比.