阿里校招準備-總綱

第一階段 6.7.8月

一些底層的原理和項目中出現問題後的解決方案。java

點子: 大數據與算法結合的博客??? 是否能夠寫起來python

技術崗的筆試通常會考察基礎知識(客觀題)+編程實操(在線oj)mysql

java等其餘基礎先放下.  進入下一隊列linux

 三個月時間,有效學習時間大約60天,天天分爲上午下午晚上,有一個時間段固定來作科研,一個時間段補基礎,另外一個時間段競賽刷題等苦力活面試

對於基礎:60個學天,大約6個主題,每一個主題10天,大約20個學時; redis

第一遍下來主要是基礎知識的積累;由於技能樹太繁雜與時間緣由,可能第一遍下來,只能停留在書本知識點層次,在準備期間,考思考接下來如何如何能提升下!算法

三門課:數據結構算法與編程語言 ,機器學習數據挖掘與大數據 , cs基礎操做系統,數據庫,網絡spring

------------------------sql

通俗說只有40天的時間,1/3的時間都被我浪費了,然而進度依然是零; 這纔是真實的本身嗎???mongodb

這40天,究竟要作什麼那? 大數據? 算法?  基礎知識? 刷筆試題? 懶是一部分,可是策略失敗確定也是一大部分;

這第一階段剩下的時間,究竟作什麼?  

0.刷題,算法題,天天有時間就要兩道題,而後注意總結!!! 早上來到,晚上晚自習開始的時候

1.跟着師兄師姐體驗bat等今年秋招;

2.大數據工具必定熟悉起來,必定必定,由於這個是第一順位的崗位了! 下午時間

3.競賽,這個必定要開始關注了,已經沒有時間了!!!之後全部的晚上時間都來作競賽,除了意外! 全部

4.算法知識的補充,趁着如今,再結合大數據和算法搞一下, 記住要結合大數據工具!!! 複習一遍,看看各個地方能不能有新的突破, 在大數據工具學習之餘學習算法,天天一點點吧,做爲大數據工具的補充

5.科研與實驗室工做,異常事件檢測的小論文問題,無人機快遞的比賽問題; 這些都放在上午去作; 異常事件檢測這幾個月最好能鼓搗出小論文的模樣, 包括試驗和論文

 

不作什麼,貪多嚼不爛,以個人性格,連吃可能都不去吃了

1.其餘基礎知識的補充學習,

調整職業規劃與重複完善知識體系!

筆試刷題是王道,面試套路得人心!

總綱 2018.6.1

今天是2018年6月1日,從今天起,準備校招,拿出準備考研初試的態度來,準備明年春季的阿里3月份春招!

總共6,7,8,9,10,11,12,1,2總計9個月的時間;按照以前的經驗分爲三個階段。

6,7,8爲第一個階段,基礎階段:主要是弄清楚主要的準備思路各部分都要很熟悉,達到可以工做的水平,,這個階段點要廣,能力達到及格水平,能夠熟練的面對筆試面試題目。

9,10,11,12爲第二個階段是提升階段:把以前三個月積累的各個點再往下深挖,鞏固知識點。

1,2月份是最終的兩個月時間,須要把前面全部的東西都理清楚,模擬面試等

方向

算法工程師(偏算法研究方面):一般負責數據清洗和過濾、特徵工程、算法效果提高,以及算法的調研、實現,並將其應用於業務,注意,算法工程師一般不侷限於機器學習算法,這種對知識背景要求也比較高一些。

數據挖掘工程師(偏業務部門):,主要是應用機器學習和數據挖掘算法,進行用戶行爲分析和用戶屬性挖掘,爲算法和業務場景提供支持,Java、Python、Scala 、R,會一門就差很少了,固然這是大數據時代,熟悉 Hadoop/Spark 更好

數據研發工程師:ELT,hadoop,spark,hbase,通常就是負責數據倉庫建立或者數據分析平臺的開發、設計、運,要對 Hadoop、Hive、Spark、Storm 等框架原理比較熟悉

基礎知識課程(須要在接下來一段時間,搞清楚須要的技術棧,專項學習)

編程語言java:

1. 把我以後的面通過一遍,Java感受覆蓋的就差很少了,不過下面仍是分個類。

2. Java基礎(面向對象、四個特性、重載重寫、static和final等等不少東西)

3. 集合(HashMap、ConcurrentHashMap、各類List,最好結合源碼看)

4. 併發和多線程(線程池、SYNC和Lock鎖機制、線程通訊、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)

5. JVM(內存模型、GC垃圾回收,包括分代,GC算法,收集器、類加載和雙親委派、JVM調優,內存泄漏和內存溢出)

6. IO/NIO相關

7. 反射和代理、異常、Java8相關、序列化

8. 設計模式(經常使用的,jdk中有的)

9. Web相關(servlet、cookie/session、Spring<AOP、IOC、MVC、事務、動態代理>、Mybatis、Tomcat、Hibernate等)

10. 看jdk源碼

編程語言python:

----

操做系統與分佈式: linux,shell

核心問題:linux內存分配,CPU調度,

1. 進程通訊IPC(幾種方式),與線程區別

2. OS的幾種策略(頁面置換,進程調度等,每一個裏面有幾種算法)

3. 互斥與死鎖相關的

4. linux經常使用命令(問的時候都會給具體某一個場景)

5. Linux內核相關(select、poll、epoll)

計算機網絡:http,tcp/ip 實現 udp; 負載均衡

總之,網絡通訊問題能搞的多清楚就能夠搞的多清楚,最起碼把tcp應用層的各類socket API的用法細節搞清楚。

1. OSI7層模型(TCP4層)

§ 每層的協議

§ url到頁面的過程

2. HTTP

§ http/https 1.0、1.一、2.0

§ get/post 以及冪等性

§ http 協議頭相關

§ 網絡攻擊(CSRF、XSS)

3. TCP/IP

§ 三次握手、四次揮手 細節

§ 擁塞控制(過程、閾值)流量擁塞和控制機制、騰訊問過tcp和ip包頭常見有哪些字段),阻塞和非阻塞socket在send、recv函數上的行爲表現,異步connect函數的寫法,select函數的用法,epoll與select的區別,

§ 流量控制與滑動窗口

§ TCP與UDP比較

§ 子網劃分(通常只有筆試有)

§ DDos攻擊

4. (B)IO/NIO/AIO

§ 三者原理,各個語言是怎麼實現的

§ Netty

§ Linux內核select poll epoll

傳統數據庫與nosql; mysql redis memcache:

1. 索引(包括分類及優化方式,失效條件,底層結構)

2. sql語法(join,union,子查詢,having,group by)

3. 引擎對比(InnoDB,MyISAM)

4. 數據庫的鎖(行鎖,表鎖,頁級鎖,意向鎖,讀鎖,寫鎖,悲觀鎖,樂觀鎖,以及加鎖的select sql方式)

5. 隔離級別,依次解決的問題(髒讀、不可重複讀、幻讀)

6. 事務的ACID

7. B樹、B+樹

8. 優化(explain,慢查詢,show profile)

9. 數據庫的範式。

10. 分庫分表,主從複製,讀寫分離。

11. Nosql相關(redis和memcached區別之類的,若是你熟悉redis,redis還有一堆要問的)

數據結構與算法: LeetCode medium難度

1. 數組、鏈表、二叉樹、隊列、棧的各類操做(性能,場景)

2. 二分查找和各類變種的二分查找

3. 各種排序算法以及複雜度分析(快排、歸併、堆)

4. 各種算法題(手寫)

5. 理解並能夠分析時間和空間複雜度。

6. 動態規劃(筆試回回有。。)、貪心。

7. 紅黑樹、AVL樹、Hash樹、Tire樹、B樹、B+樹。

8. 圖算法(比較少,也就兩個最短路徑算法理解吧)

機器學習算法,深度學習相關算法:

-----

數據挖掘

-----

大數據工具

 hadoop,spark,等工具的原理和基本使用

 

其餘的點:

 分佈式架構:(瞭解原理就行,若是真的有實踐經驗更好)

§ CAP原理和BASE理論。

§ Nosql與KV存儲(redis,hbase,mongodb,memcached等)

§ 服務化理論(包括服務發現、治理等,zookeeper、etcd、springcloud微服務、)

§ 負載均衡(原理、cdn、一致性hash)

§ RPC框架(包括總體的一些框架理論,通訊的netty,序列化協議thrift,protobuff等)

§ 消息隊列(原理、kafka,activeMQ,rocketMQ)

§ 分佈式存儲系統(GFS、HDFS、fastDFS)、存儲模型(skipList、LSM等)

§ 分佈式事務、分佈式鎖等

上面五個專題,每週兩個,交叉着來,第一週的計劃是每一個都要開始學了,制定單獨的計劃!

專業技術

競賽和項目:天池大數據競賽,明天晚上選題大會,

開源和源碼能力: 放在jdk源碼,hadoop與spark源碼上開始! 從原理上來學習!

科研方面的工做和進展:

 

時間規劃

六月階段時間規劃試行:

天天時間規劃:11:40準備關手機,12:00準時眼罩睡覺,早上7:20鬧鐘,起牀; 中午在宿舍呆一個小時(從進宿舍開始算);這樣算,上午實驗室三個小時時間,下午三個半小時時間,晚上三個半小時;

上午,晚上作本身找工做的事情;下午作學業,實驗室工做等;

天天計劃安排:天天2,3,4個任務點; 每週一總結,都是周天晚上開始總結和計劃

互聯網公司總結

阿里

網易

百度

騰訊

今日頭條

京東

滴滴

小米

華爲

海康威視

大華

攜程

搜狐

深信服

蘑菇街

惟品會

 

 做者:Jellybean3
連接:https://www.nowcoder.com/discuss/56158?type=2&order=0&pos=19&page=3
來源:牛客網

    • Java
      • JVM內存分配機制、內存模型
      • GC(minor GC、major GC、觸發條件、GC算法等)
      • 類加載機制(類隔離和類共享)
      • Java集合(List、set、HashMap、HashTable、ConcurrentHashMap等)
      • interface和abstract class
      • socket編程及NIO
      • synchronize、final、static理解
      • 異常(檢測異常和未檢測異常、繼承關係等)
      • 反射、動態代理
      • Spring的IOC、AOP
    • 數據庫
      • 第1、第2、第三範式之間的理解和比較
      • 數據庫的事務、ACID及隔離級別
      • 索引優化(組合索引、最左匹配原則)、優缺點
      • 手動寫建立索引的語句
      • 併發訪問場景和全部可能出現的結果、鎖做用和實現
      • 主主複製、主從複製
      • B-tree的應用
      • int和varchar
      • io優化
      • 分表分庫設計
    • 操做系統/Linux/集羣
      • shell腳本、查找文件命令
      • top命令、netstat命令、ifconfig和ipconfig
      • 樂觀鎖和悲觀鎖
      • session集羣共享
      • Hadoop集羣擴容問題
      • 集羣負載均衡
      • 虛擬路由
      • Hadoop集羣單點故障
    • 計算機網絡
      • 傳輸層協議TCP和UDP
      • http和https(對稱加密、非對稱加密)
      • ftp和sftp
      • 從訪問一個網址到頁面出現,描述中間發生的全部事情。
    • 數據結構&算法&設計模式
      • Hash及衝突解決
      • 二叉搜索樹
      • 手寫快速排序算法、單鏈表反轉、字符串部分逆序(如moc.anis.www轉爲www.sina.com)
      • 手寫二叉樹層序遍歷、二分查找、遞歸算法實現
      • 超大文件尋找top K算法設計(單機1M內存、Hadoop集羣、外部排序+uniq命令)
      • 算法設計:給定函數a能夠等機率產生1-5這5個數,僅調用a實現等機率產生1-7這7個數
      • 用棧實現隊列
      • 訂單超大併發訪問-隊列批量處理
      • 觀察者模式、工廠模式、適配器模式
    • 智力題
      • 估算武漢市須要多少個消防站。
      • 有兩根粗細不均勻的香(燒香拜佛的香),每一根燒完都花一個小時,怎麼樣可以獲得15min?
      • 下一場雨,估算武漢市總降雨量噸數。
      • 盒子裏放水果,猜哪一個盒子放什麼水果。
    • 項目
      • 每一個項目從總體架構設計、擴展性、後續優化到任何實現細節都有可能會問。對作過的事情須要多總結和優化思考。項目這塊是須要花大量心思準備的。

做者:linkinparkzlz
連接:https://www.nowcoder.com/discuss/84588?type=2&order=0&pos=11&page=4
來源:牛客網

面試題基礎最多,操做系統 數據庫 數據結構等,都很重要。
操做系統: 線程進程區別;進程通訊方式;死鎖(代碼實現);經常使用linux命令;做業調度方式等等。
數據庫:sql優化;索引原理;事務等等。能夠看《Mysql技術內幕:Innodb存儲引擎》
數據結構:鏈表;二叉樹;紅黑樹;堆等;還有幾大排序,快速排序或者堆排序很容易在手寫代碼中問到,我被問到幾回。
計算機網絡:TCP/UDP區別;擁塞控制;流量控制;多層協議;三次握手/四次揮手等等
其餘面試題:下面列舉一些真實遇到的面試題,有些都被問到不少次,能夠參考。

    1. 給你一萬個數,如何找出裏面全部重複的數?用全部你能想 到的方法,時間複雜度和空間複雜度分別是多少
    2. 如何判斷一個單鏈表是否有環?
      3.Unchecked Exception和Checked Exception,各列舉幾個
      4.HashMap的原理,內部數據結構
      5.HashMap 怎樣解決衝突,講一下擴容過程
      6.如何設計實現一個LRU Cache
      7.兩種單例模式,怎樣解決線程安全問題。
      8.Java併發包,源碼瞭解嗎
      9.Java內存模型
      10.垃圾回收算法
      11.Java反射機制
      12.Spring 的IOC AOP原理
      13.Java的堆和棧的區別

      ... ... 我本身總結了不少關於面試的問題,有須要的同窗能夠私信或者文末聯繫我。僅供參考。

相關文章
相關標籤/搜索