面試筆記分享(大數據)

面試筆記分享(大數據)

總結時間:2014-7html

總結人: 江中煉mysql

開頭須知:

1.其實,我但願你們看了不是看完就算了,也不要謝謝個人總結,我但願的傳遞這種共享的精神就像,你拿到這個總結之後,你自私的整合了你的東西,後期你不與別人分享,之後就沒人與你來分享了,由於這種相信對於朋友,只有一次,若是受過傷,天然就不會繼續傳遞了web

2.但願咱們一塊兒傳遞正能力,傳遞開源和共享,作一個無私,並願意幫助別人並與別人分享的人。謝謝你們合做,我討厭自私的,更討厭那種用別人東西的人,還不與別人分享的人面試

 

我就講講咱們的項目吧:算法

項目

談咱們最近的聯通郵箱項目吧sql

既然是項目,咱們確定是有目的的,咱們那麼的目的是幹嗎呢?數據庫

是盈利?不是,是提升用戶的親密度,作產品推廣,既然是產品推廣,那麼個人考慮的問題就是如何推廣apache

既然是作推廣,咱們就得分析咱們的用戶人羣勒緩存

第1:用戶數據量的問題網絡

第2:用戶使用狀況

第3:統計分析

第4:針對性的去活動刺激、或者產品優化、反正就是知足這幫人羣

第5:再進行分析統計,而後分析咱們最終的效果

 

那麼上億級別的數據量,咱們用傳統框架,明顯不靠譜,這個mysql徹底不行,oracle太貴,效率通常,咱們從開發成本考慮到了用大數據hadoop來解決這個大數據量的問題

nutch

(知道的能夠講講,不知道的直接忽略跳過)

那麼我據說大家公司打算作站內搜索,據我瞭解,我對nutch是比較瞭解的,對於這款軟件,我想說:對luence的完美封裝,那麼咱們的技術開發成本較低,而且hadoop是nutch裏面的分割出來一個子項目,也就是nutch對hadoop是完美支持的,咱們如今的問題就是整合,把兩款軟件整合好,利用好,後期就是一些優化的工做勒

 

至於前臺的查詢索引,咱們仍是可使用開源框架solr,這款框架最大的用戶就是創建索引,方便快速查詢展示,咱們使用該框架式徹底能夠對咱們的數據庫創建相應的索引,固然用戶量不過能夠用關係型數據庫(mysql,oracle),數據量超標之後,這個咱們徹底能夠考慮使用hbase,目前據我瞭解,這兩款框架是能夠完美整合的。

 

那麼存儲有hadoop,數據快速查詢有hbase<針對用戶>,數據爬取有nutch,創建索引有solr,我想前期這一塊整合好,是很是有優點的。

 

最後就是前臺的web頁面,我感受就簡單了,作就行

Hadoop

談到了hadoop,那麼他有什麼好處呢?

1.  容錯性 (hdfs 冗餘備份機制/mapreduce 心跳機制,維持job正常完成)

2.  高效性  分佈式文件系統,處理海量數據這也是他的優點

3.  擴展性  就是能夠利用多臺機器,進行分佈式文件存儲

4.  廉價性  下降開發成本,開源免費,硬件要求不高

(講完之後,你就能夠畫一畫mapreduce的底層計算的原理)

Hive/hbase

(這兩個框架的底層原理,調優,實際的案例)

Hbase架構:http://www.cnblogs.com/shitouer/archive/2012/06/04/2533518.html

Hbase調優:http://blog.csdn.net/dajuezhao/article/details/6887575

Hive架構:http://my.oschina.net/repine/blog/192692

Hive調優:http://my.oschina.net/repine/blog/193869

 

Mahout推薦系統

什麼是mahout?

機器學習領域經典算法的實現,旨在幫助開發人員方便快捷地建立智能應用程序。

主要用於什麼以及爲何?

Mahout的主要目的是實現可伸縮的機器學習算法(就是算法的M-R化),但也不必定要求基於Hadoop平臺,核心庫中某些非分佈式的算法也具備很好的性能

目標是幫助開發人員快速創建具備機器智能的應用程序,目前比較成熟和活躍的主要包括:

  1. 1.     頻繁模式挖掘

  2. a)       Apriori算法

  3. b)       FP

  4. c)       FP-Growth算法

  5. d)       PFP算法

  6. 2.     聚類算法

  7. a)       K-means

  8. b)       Canopy聚類

  9. c)       模糊K均值

  10. 3.     分類器

  11. a)       貝葉斯

  12. b)       隨機森林

  13. c)       神經網絡

  14. d)       決策樹(ID3,C4.5

  15. 4.     推薦系統

  16. a)       kNN(k-nearest neighbor / Fix-size neighborhoods) 固定數量的鄰居

                   i.           基於用戶的協同過濾算法UserCF

                  ii.           基於物品的協同過濾算法ItemCF

  1. b)       Threshold-based neighborhoods基於類似度門檻的鄰居

                   i.           基於用戶的協同過濾算法UserCF

                  ii.           基於物品的協同過濾算法ItemCF

標準化的程序開發過程

以UserCF的推薦算法爲例,官方建議咱們的開發過程

模型à類似度à最近鄰à推薦算法

 

Spark

談到spark,如今mahout作數據挖掘,固然須要時時計算

因此apache mahout官網說:goodbye mapreduce

那麼spark究竟是一個什麼呢?

 

1. Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的並行計算框架

2. Spark基於map reduce算法實現的分佈式計算,擁有Hadoop MapReduce所具備的優勢;3. 但不一樣於MapReduce的是Job中間輸出和結果能夠保存在內存中,從而再也不須要讀寫

HDFS

4. 因爲RDD的特性,Spark不適用那種異步細粒度更新狀態的應用,例如web服務的存儲或者是增量的web爬蟲和索引。就是對於那種增量修改的應用模型不適合

(RDD是什麼呢?

Spark還引入了一個抽象概念,即彈性分佈式數據集RDD(resilient distributed datasets )。RDD是一個分佈在一組節點之間的只讀的對象集合。這些集合是彈性的,即可以在部分數據集丟失的狀況下重建。重建部分數據集的過程須要一種維護血統(lineage,即重建部分數據集所需的信息,說明數據是根據什麼過程產生的)的容錯機制支持。

一個RDD能夠是:(1)一個從文件建立的Scala對象,或(2)一個並行切片(分佈在各個節點之間),或(3)從其餘RDD轉換得來,或(4)改變已有RDD的持久性,如請求將已有RDD緩存在內存中。

總結:所以Spark能更好地適用於數據挖掘與機器學習等須要迭代的map reduce的算法。

Spark與Hadoop的結合

Spark能夠直接對HDFS進行數據的讀寫,一樣支持Spark on YARN。

Spark能夠與MapReduce運行於同集羣中,共享存儲資源與計算,數據倉庫Spark實現上借用Hive,幾乎與Hive徹底兼容。

 

 

 

面試的公司

我總結的比較少:

1.面試了不少家企業吧,小公司,大公司,加起來將近15家左右,其實就像不少人想的同樣,去大公司,或者創業型公司(其餘公司就儘量不去考慮,都是爲了利益,因此請謹慎選擇

 

2.我前期是以本科學歷去面試,基本上技術都過了,可是價格談不高,我也不知道爲何,總感受好像他們沒有意識到你的價值所在;或者說你的水平沒有體現出來,還有就是你對本身的人生規劃沒有規劃好,別人就不打算考慮你勒(

我想:我tm這麼小的孩子,能規劃好本身的人生,我tm還來你這個破地方幹嗎,我知道本身將來是什麼樣子,我早就去創業去了,我艹,這些人tm就閒的蛋疼!

不過這些人的存在仍是有必定道理的,就是判斷你是一個什麼樣的人,就像我能從你的話語中知道你將來的發展是什麼樣子的,因此那麼單純一點,要麼老成一點,不要太彆扭了,不知道就說不知道,不要吞吞吐吐的,人生的規劃是一個長期的想法,因此你臨時拼湊的話別人是看的出來的。

若是不知道就說:我如今只想好好的工做,盡本身的最大能力去完成並優化本身的工做,提高公司效率,其餘的我沒想過,就這麼簡單那,不要搞得太複雜了,有時候你回去,聽你本身的話,你都感受到可笑,更況且那些都是職場老手,見過的人,比你喝過的水都多,因此見機行事

3.最後我想通了,作真誠的人,我就以高中學歷開始投,其實不少公司,特別是創業型公司,不會看重你的學歷,還有一些正在向上發展得上市公司,對學歷要求每那麼高,要的是能力,

對於百度,我只想說:人家看的不光是能力,還有學歷。以我這個水平,作ETL,我感受15k徹底能夠拿下,對於我來講,沒問題,我能作,可是我沒學歷。這是事實,因此更要讓本身牛逼,讓別人爲你破格。這都是後話

其實這並無錯,錯的是咱們之前沒有 努力的去學習,因此堅持學習,奮鬥,坦誠的作事,我相信會有結果的

 

4.大家會說:我運氣好,我找到工做,其實我也是這樣認爲的,我運氣還不錯;就像不少人說誠實在中國的確是一個奢侈品。就像無私分享在中國也是奢侈品同樣

 

5.不過對大家剛找工做的人來講,或者經驗機會沒有的人來講:你能夠包裝,其實這個你能力夠,你能夠作到的,甚至你的能力都超過了工做過幾年的人。

可是若是你想真誠的作事,心安理得:就投個實習生,而後寫出你會的公司,作過的項目,個人能力是能夠爲個人經驗少做支撐的,我相信,儘管這樣的公司不多(就像我如今一直堅持開源共享同樣,我沒有吹牛逼,我真的是這樣作,個人學歷都改了,都是真實的,項目固然這個事須要包裝的,這個跟你的經驗不要緊,跟你的靈活性有關了,若是你獨立的作一個項目出來,寫出項目,和流程,優化;別人願意培養的,你放心,可是仍是須要耐心)

 

 

 

對於這個面試必備的東西,沒有版權問題,隨便傳遞,可是請不要作一個自私的人。

記得咱們的口號:

開源共享

座右銘:

你在你擅長的領域牛逼,

並帶着一羣小白變牛逼,

別人會發自心裏的去尊重你的。

         --請點擊加入咱們

 

如今算法這一塊仍是比較欠缺,我想找一個朋友幫忙完善一下博客

若是你們這樣願意分享交流的朋友,請及時推薦給我,謝謝

聯繫方式:(外號:小頭)

QQ529815144  ||  QQ羣:214293307

相關文章
相關標籤/搜索