一些底層的原理和項目中出現問題後的解決方案。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日,從今天起,準備校招,拿出準備考研初試的態度來,準備明年春季的阿里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 等框架原理比較熟悉。
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源碼
核心問題:linux內存分配,CPU調度,
1. 進程通訊IPC(幾種方式),與線程區別
2. OS的幾種策略(頁面置換,進程調度等,每一個裏面有幾種算法)
3. 互斥與死鎖相關的
4. linux經常使用命令(問的時候都會給具體某一個場景)
5. Linux內核相關(select、poll、epoll)
總之,網絡通訊問題能搞的多清楚就能夠搞的多清楚,最起碼把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
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還有一堆要問的)
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
來源:牛客網
做者:linkinparkzlz
連接:https://www.nowcoder.com/discuss/84588?type=2&order=0&pos=11&page=4
來源:牛客網
面試題基礎最多,操做系統 數據庫 數據結構等,都很重要。
操做系統: 線程進程區別;進程通訊方式;死鎖(代碼實現);經常使用linux命令;做業調度方式等等。
數據庫:sql優化;索引原理;事務等等。能夠看《Mysql技術內幕:Innodb存儲引擎》
數據結構:鏈表;二叉樹;紅黑樹;堆等;還有幾大排序,快速排序或者堆排序很容易在手寫代碼中問到,我被問到幾回。
計算機網絡:TCP/UDP區別;擁塞控制;流量控制;多層協議;三次握手/四次揮手等等
其餘面試題:下面列舉一些真實遇到的面試題,有些都被問到不少次,能夠參考。
如何判斷一個單鏈表是否有環?
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的堆和棧的區別
... ... 我本身總結了不少關於面試的問題,有須要的同窗能夠私信或者文末聯繫我。僅供參考。