成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

金三銀四季,阿里工作10多年Java大牛的“心得”,獻給迷茫中的你

開發 后端
當你從事Java一年后,重新找工作時,才會真實的感受到“金三銀四”這四個字背后的意思。

當你從事Java一年后,重新找工作時,才會真實的感受到“金三銀四”這四個字背后的意思。

工作第一年,往往是什么都充滿新鮮感,什么都學習,沖勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據項目的需要來不斷學習新東西;所以,很多時候感覺,自己用過的東西很多呀!但是真正深入研究的東西卻不多。

面試,是跳槽后第一個需要面對的問題;而且不同公司面試的著重點不同;但是卻有一個共同點:Java基礎是必考的。

工作第一年,可能問你String對象創建的理解,常用的框架是什么等等;

-

工作第三年,就問你Java內存分配機制是什么,類是如何加載的等等; 

  -

工作第五年,就問你常用的設計模式是什么,你在工作中充當什么角色,怎么獨立完成一個模塊等等;可以看出——這是一個典型的程序員的成長過程:

使用Java-----→深入理解Java積累經驗-----→獨立設計分析能力-----→獨當一面的多面手!

因此,必須學習:數據庫最常用的是Oracle了(當然銀行項目等需要DB2等),熟練掌握使用存儲過程,觸發器等;UML項目中經常要寫文檔,項目經理的基本功,程序員走向設計的基本功;linux系統需要掌握常用的linux命令——部署在windows操作系統上的項目很少吧。其他就不多說了,大家可以補充。學習上,興趣是最大的老師;項目驅動也是不錯的選擇,總之,不學習不行。

[[319933]]

第一. 積累行業背景

行業背景非常重要;工作3年后必須確定自己的行業背景

比如:一直從事電信行業,一直從事銀行項目,一直從事ERP行業等等。一個程序員不可能是一直寫代碼的,就是寫代碼也要知道業務邏輯,滿足什么需求;俗話說隔行如隔山,每個行業的業務都不一樣,甚至差別很大。

比如:你一直從事流媒體的研究,讓你跳槽到一家銀行項目,完了,一切從頭學吧,以前的行業經驗都用不上了;而且,一個公司公司招人,就是希望找到那些很容易上手,不需要培訓業務很久的程序員;頻繁跳槽的朋友,一定要注意這點;一直在一個行業呆久了,就可以成為這個行業的專家;我們可以經??吹?,一個項目組的某個leader,代碼寫的一般,但是卻可以跟客戶流暢的溝通,控制著新需求的提出,bug的修正等等;而客戶也很愿意跟他打交道,因為那些老的項目只有他能維護,他甚至熟悉系統的每一張表結構——-可想在這個行業呆的時間有多久啦。

[[319934]]

第二. 合理的職業規劃

什么是職業規劃—-就是你短期或者長期的一個職業計劃!大道理不講,咱簡單點。先問你幾個問題:

a.你工作幾年了,你愿意一直和新入行的新手一樣就是個簡單的程序員嗎?

    -

b. 你愿意一直寫代碼,而不關心其他嗎?

    -

c. 一個項目的前期需求,設計,后期部署維護,領導找到你,你說咱搞不定,行嗎?程序員不是敲代碼的機器。第一年太多東西不懂,你可以一切聽從老大的安排,敲敲代碼,看看數據庫,測試自己和別人的代碼;但是第二年,你還是這樣嗎?不可能的,一年的經驗你完全可以入行了,是時候該學習怎么進行需求分析,怎么設計數據庫,怎么寫各類文檔,怎么寫更好的代碼?這是高級程序員的要求!

什么是高級程序員?

  •  具有分析設計能力;
  •  能進行技術攻關;
  •  具有某行業深厚背景的程序員。

所以,一個項目立項后,你要積極的參與到前期設計中,跟老同志們一道思考分析問題,學習經驗!OK,你這就成長啦!千萬不要認為程序員就是寫代碼的哦!??!

而且,通過一個項目的開發,你要能粗略的統計出一個功能的開發時間;比如一個模塊有20個小功能點,你開發了80個小時,每個小功能點平均2小時——這時在前期就能評估工作量啦。

當然每個人的效率和工作質量是不同的,因人而異,但是大概的工作量應該是可以統計出來的,用于統計一個項目的工作周期;具備上面的能力,你起碼已經是一個項目組的骨干啦!

此時,就可以帶領小弟做開發而不是一個平凡的被帶領者啦。很多公司的項目骨干和項目經理都不是通過招聘的來的,都是培養出來的——-工作2年,思考能力不錯,善于動手,很上道!OK,此時項目經理和公司中層可能就注意到你了,就會給你多分配任務慢慢的鍛煉你,這時候千萬不要鬧別扭哦(曾遇上這樣一個同事,技術很好,人也不錯,領導突然給他分配很多任務,他開始是默默承受,后來鬧意見啦!領導找他談話后,他算明白啦!頂過一段時間就基本適應,可以快速的做完;后來他成了我們那批人中新的項目leader啦),跟帶你的人好好學習,多勞動,很快就出頭啦!如果你工作了多年,屬于老鳥了,也要善于帶人,能提攜小弟!因為只有小弟成長了,你身上的擔子才會輕,項目才會順暢的進行!

而且高級程序員(本科為例)工作四年左右工資就達到一個瓶頸了(一線城市是9K—25K),這時候必須“轉型”—–高級程序員只是你能力的一部分,系統分析師,架構師,項目經理才是你應該告訴別人的職務,薪資才能再次提升。

[[319935]]

第三. 關于跳槽

跳槽要學習的技術就多了跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚為什么要跳槽。

切不可跟風,看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準備充分),到底是因為技術原因(影響自己的發展,偏移自己規劃的軌跡),還是錢給少了,不受重視。準備不充分的面試,完全是浪費時間,更是對自己的不負責(如果title很高,當我沒說)。

今天給大家分享下在這次跳槽中整理的Java面試大綱,其中大部分都是面試過程中的面試題,可以對照這查漏補缺,當然了,這里所列的肯定不可能覆蓋全部方式。

項目介紹大部分情況,這是一場面試的考門題,面試官問這個問題,主要是考察你的概述能力和全局視野。有的人經常抱怨自己每天在堆業務,但沒有成長。事實上,很多情況下確實在堆業務,但并不是沒有成長的。并非做中間件或者技術架構才是成長,例如我們的需求分析能力,溝通協作能力,產品思維能力,抽象建模能力等都是一個非常重要的硬實力。

好的,現在進入正文:

  1.  明確項目是做什么的
  2.  明確項目的價值。(為什么做這個項目,它解決了用戶什么痛點,它帶來什么價值?)
  3.  明確項目的功能。(這個項目涉及哪些功能?)
  4.  明確項目的技術。(這個項目用到哪些技術?)
  5.  明確個人在項目中的位置和作用。(你在這個項目的承擔角色?)
  6.  明確項目的整體架構。
  7.  明確項目的優缺點,如果重新設計你會如何設計。
  8.  明確項目的亮點。(這個項目有什么亮點?)
  9.  明確技術成長。(你通過這個項目有哪些技術成長?)

Java基礎

  •  List 和 Set 的區別
  •  HashSet 是如何保證不重復的
  •  HashMap 是線程安全的嗎,為什么不是線程安全的(最好畫圖說明多線程環境下不安全)?
  •  HashMap 的擴容過程
  •  HashMap 1.7 與 1.8 的 區別,說明 1.8 做了哪些優化,如何優化的?
  •  final finally finalize
  •  強引用 、軟引用、 弱引用、虛引用
  •  Java反射
  •  Arrays.sort 實現原理和 Collection 實現原理
  •  LinkedHashMap的應用
  •  cloneable接口實現原理
  •  異常分類以及處理機制
  •  wait和sleep的區別
  •  數組在內存中如何分配

Java 并發

  •  synchronized 的實現原理以及鎖優化?
  •  volatile 的實現原理?
  •  Java 的信號燈?
  •  synchronized 在靜態方法和普通方法的區別?
  •  怎么實現所有線程在等待某個事件的發生才會去執行?
  •  CAS?CAS 有什么缺陷,如何解決?
  •  synchronized 和 lock 有什么區別?
  •  Hashtable 是怎么加鎖的 ?
  •  HashMap 的并發問題?
  •  ConcurrenHashMap 介紹?1.8 中為什么要用紅黑樹?
  •  AQS
  •  如何檢測死鎖?怎么預防死鎖?
  •  Java 內存模型?
  •  如何保證多線程下 i++ 結果正確?
  •  線程池的種類,區別和使用場景?
  •  分析線程池的實現原理和線程的調度過程?
  •  線程池如何調優,最大數目如何確認?
  •  ThreadLocal原理,用的時候需要注意什么?
  •  CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差別?
  •  LockSupport工具
  •  Condition接口及其實現原理
  •  Fork/Join框架的理解
  •  分段鎖的原理,鎖力度減小的思考
  •  八種阻塞隊列以及各個阻塞隊列的特性

Spring

  •  BeanFactory 和 FactoryBean?
  •  Spring IOC 的理解,其初始化過程?
  •  BeanFactory 和 ApplicationContext?
  •  Spring Bean 的生命周期,如何被管理的?
  •  Spring Bean 的加載過程是怎樣的?
  •  如果要你實現Spring AOP,請問怎么實現?
  •  如果要你實現Spring IOC,你會注意哪些問題?
  •  Spring 是如何管理事務的,事務管理機制?
  •  Spring 的不同事務傳播行為有哪些,干什么用的?
  •  Spring 中用到了那些設計模式?
  •  Spring MVC 的工作原理?
  •  Spring 循環注入的原理?
  •  Spring AOP的理解,各個術語,他們是怎么相互工作的?
  •  Spring 如何保證 Controller 并發的安全?

Netty

  •  BIO、NIO和AIO
  •  Netty 的各大組件
  •  Netty的線程模型
  •  TCP 粘包/拆包的原因及解決方法
  •  了解哪幾種序列化協議?包括使用場景和如何去選擇
  •  Netty的零拷貝實現
  •  Netty的高性能表現在哪些方面

分布式相關

  •  Dubbo的底層實現原理和機制
  •  描述一個服務從發布到被消費的詳細過程
  •  分布式系統怎么做服務治理
  •  接口的冪等性的概念
  •  消息中間件如何解決消息丟失問題
  •  Dubbo的服務請求失敗怎么處理
  •  重連機制會不會造成錯誤
  •  對分布式事務的理解
  •  如何實現負載均衡,有哪些算法可以實現?
  •  Zookeeper的用途,選舉的原理是什么?
  •  數據的垂直拆分水平拆分。
  •  zookeeper原理和適用場景
  •  zookeeper watch機制
  •  redis/zk節點宕機如何處理
  •  分布式集群下如何做到唯一序列號
  •  如何做一個分布式鎖
  •  用過哪些MQ,怎么用的,和其他mq比較有什么優缺點,MQ的連接是線程安全的嗎
  •  MQ系統的數據如何保證不丟失
  •  列舉出你能想到的數據庫分庫分表策略;分庫分表后,如何解決全表查詢的問題
  •  zookeeper的選舉策略
  •  全局ID

數據庫

  •  mysql分頁有什么優化
  •  悲觀鎖、樂觀鎖
  •  組合索引,最左原則
  •  mysql 的表鎖、行鎖
  •  mysql 性能優化
  •  mysql的索引分類:B+,hash;什么情況用什么索引
  •  事務的特性和隔離級別

緩存

  •  Redis用過哪些數據數據,以及Redis底層怎么實現
  •  Redis緩存穿透,緩存雪崩
  •  如何使用Redis來實現分布式鎖
  •  Redis的并發競爭問題如何解決
  •  Redis持久化的幾種方式,優缺點是什么,怎么實現的
  •  Redis的緩存失效策略
  •  Redis集群,高可用,原理
  •  Redis緩存分片
  •  Redis的數據淘汰策略

JVM

  •  詳細jvm內存模型
  •  講講什么情況下回出現內存溢出,內存泄漏?
  •  說說Java線程棧
  •  JVM 年輕代到年老代的晉升過程的判斷條件是什么呢?
  •  JVM 出現 fullGC 很頻繁,怎么去線上排查問題?
  •  類加載為什么要使用雙親委派模式,有沒有什么場景是打破了這個模式?
  •  類的實例化順序
  •  JVM垃圾回收機制,何時觸發MinorGC等操作
  •  JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
  •  各種回收器,各自優缺點,重點CMS、G1
  •  各種回收算法
  •  OOM錯誤,stackoverflow錯誤,permgen space錯誤 

 

責任編輯:龐桂玉 來源: JAVA高級架構
相關推薦

2016-03-17 11:06:46

跳槽加薪面試

2020-04-10 08:22:45

CSS語言層疊樣式表

2016-04-08 10:13:24

程序員IT從業者跳槽

2012-06-18 15:05:54

開發

2018-03-23 17:24:03

2024-04-17 13:04:37

Vue組件開發

2019-02-20 14:10:22

2012-06-18 09:49:03

開發人員程序員

2015-08-04 09:46:38

2009-03-03 08:37:38

北電虧損財報

2019-08-12 09:19:12

阿里結構化思維

2021-05-08 14:20:27

Redis面試數據庫

2021-03-12 09:24:58

Redis面試場景

2021-03-23 10:25:05

Redis數據結構

2020-06-05 08:10:51

失業就業裸辭

2015-08-19 16:13:30

51CTO開發技術周刊

2021-03-18 08:46:57

MQ消費端擴容

2018-05-24 09:24:27

2012-07-05 15:42:39

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区中文字幕 | 一区二区精品 | 欧美日韩在线一区 | 情侣av | 国产精品视频免费观看 | 亚洲成人av在线播放 | 国产精品久久久久久 | 91精品国产乱码久久久久久久久 | 日韩中文在线观看 | 国产97在线 | 日韩 | 久久久久网站 | 国产精品久久av | 一区二区三区在线免费观看视频 | 91麻豆产精品久久久久久 | 日韩精品 电影一区 亚洲 | 免费观看毛片 | 精品久久久久久久 | 精品成人av| 成人免费视频久久 | 成人三区四区 | 中文字幕91av | 91夜夜夜| 99re在线视频 | 免费一区二区三区 | 日韩精品一区二区三区中文字幕 | 91.xxx.高清在线 | 欧美bondage紧缚视频 | 中文天堂网 | 天天射天天操天天干 | 国内精品一区二区三区 | 在线免费观看黄a | www.五月婷婷.com | 美国一级黄色片 | 草比网站 | 在线色网址 | 欧美精品一区二区三区在线播放 | 亚洲精品久久久久久久久久吃药 | 亚洲一区二区三区免费视频 | 免费精品视频 | 一区二区三区国产精品 | 中文字幕一区二区三区精彩视频 |