學(xué)習(xí)總結(jié)

總結(jié):
1、工作中認(rèn)真對(duì)待每一個(gè)項(xiàng)目,寫(xiě)模擬程序增加并發(fā)量測(cè)試,優(yōu)化項(xiàng)目增加穩(wěn)定性。
2、增加分布式系統(tǒng)模塊提取抽象思維
3、消息隊(duì)列保證消費(fèi)一次,分布式一致性等問(wèn)題加強(qiáng)了解

項(xiàng)目:
印象深刻的項(xiàng)目,穩(wěn)定性做了什么優(yōu)化
虛擬機(jī)優(yōu)化
分布式實(shí)操

消息隊(duì)列面試題集合?
分布式框架面試題集合?(dubbo,spring cloud)
分布式事務(wù)面試題集合?
緩存redis,高可用,

多線程

  1. Java 的信號(hào)燈?

  2. synchronized 的實(shí)現(xiàn)原理以及鎖優(yōu)化?

  3. volatile 的實(shí)現(xiàn)原理?

  4. synchronized 在靜態(tài)方法和普通方法的區(qū)別?

  5. 怎么實(shí)現(xiàn)所有線程在等待某個(gè)事件的發(fā)生才會(huì)去執(zhí)行?

  6. CAS?CAS 有什么缺陷,如何解決?

  7. synchronized 和 lock 有什么區(qū)別?

  8. Hashtable 是怎么加鎖的 ?

  9. HashMap 的并發(fā)問(wèn)題?

  10. ConcurrenHashMap 介紹?1.8 中為什么要用紅黑樹(shù)?

  11. AQS

  12. 如何檢測(cè)死鎖?怎么預(yù)防死鎖?

  13. Java 內(nèi)存模型?

  14. 如何保證多線程下 i++ 結(jié)果正確?

  15. 線程池的種類(lèi),區(qū)別和使用場(chǎng)景?

  16. 分析線程池的實(shí)現(xiàn)原理和線程的調(diào)度過(guò)程?

  17. 線程池如何調(diào)優(yōu),最大數(shù)目如何確認(rèn)?

  18. ThreadLocal原理,用的時(shí)候需要注意什么?

  19. ConcurrentHashMap 和 HashTable 中線程安全的區(qū)別?為啥建議用 ConcurrentHashMap ?能把 ConcurrentHashMap 里面的實(shí)現(xiàn)詳細(xì)的講下嗎?

  20. 保證線程安全的還有其他的方式嗎?

  21. 講下 Synchronized?

  22. 講下 RecentLock 可重入鎖? 什么是可重入鎖?為什么要設(shè)計(jì)可重入鎖?

  23. Synchronized 和 RecentLock 有什么區(qū)別?這兩個(gè)有沒(méi)有深入了解源碼?

  24. 講下 Volatile 吧?他是怎樣做到同步的?

  25. Volatile 為什么不支持原子性?舉個(gè)例子

  26. Atomic 怎么設(shè)計(jì)的?有用過(guò)里面的類(lèi)嗎?

  27. 線程安全類(lèi)和線程不安全的類(lèi),項(xiàng)目使用的時(shí)候你會(huì)怎么選擇?怎么判斷項(xiàng)目代碼哪里會(huì)有線程不安全問(wèn)題?

  28. Map、List、Set 分別說(shuō)下你了解到它們有的線程安全類(lèi)和線程不安全的類(lèi)?

  29. TreeSet 清楚嗎?能詳細(xì)說(shuō)下嗎?

  30. ThreadLocal 了解嗎?項(xiàng)目有用過(guò)嗎?可以說(shuō)說(shuō)
    JUC 里面你還知道什么其他的類(lèi)嗎?比如 CountDownLatch、Condition

  31. 從源碼詳細(xì)說(shuō)下 Java 里面的線程池吧,使用線程池有什么要注意的地方?你們公司有規(guī)范嗎?

  32. 詳細(xì)jvm內(nèi)存模型

  33. 講講什么情況下回出現(xiàn)內(nèi)存溢出,內(nèi)存泄漏?

  34. 說(shuō)說(shuō)Java線程棧

  35. JVM 年輕代到年老代的晉升過(guò)程的判斷條件是什么呢?

  36. JVM 出現(xiàn) fullGC 很頻繁,怎么去線上排查問(wèn)題?

  37. 類(lèi)加載為什么要使用雙親委派模式,有沒(méi)有什么場(chǎng)景是打破了這個(gè)模式?

  38. 類(lèi)的實(shí)例化順序

  39. JVM垃圾回收機(jī)制,何時(shí)觸發(fā)MinorGC等操作

常見(jiàn)面時(shí)套路問(wèn)題

  1. 自我介紹
  2. 你總結(jié)下自身優(yōu)缺點(diǎn)?
  3. 你有哪些offer
  4. 你為什么要離開(kāi)商家公司
  5. 上家公司的同事和領(lǐng)導(dǎo)怎么評(píng)價(jià)你的
  6. 介紹下你的上家公司是做哪塊的吧
  7. 在上家公司你做了哪些項(xiàng)目?
  8. 你在項(xiàng)目中是什么角色?
  9. 這個(gè)項(xiàng)目的數(shù)據(jù)量和并發(fā)量多大?
  10. 這個(gè)項(xiàng)目用的什么技術(shù)?
  11. 項(xiàng)目過(guò)程中有遇到什么很印象深刻的問(wèn)題嗎?
  12. 是怎么解決的這些問(wèn)題?
  13. 項(xiàng)目有沒(méi)有還可以繼續(xù)優(yōu)化的地方?
  14. 該怎么優(yōu)化?有什么思路沒(méi)?
  15. 叫你設(shè)計(jì)一個(gè)并發(fā)xxx,數(shù)據(jù)存儲(chǔ)量xxx 量級(jí)的系統(tǒng),你該如何設(shè)計(jì)?從你知道的點(diǎn)盡可能的多說(shuō)出些?

1.Java IO流的層次結(jié)構(gòu)?

2.請(qǐng)說(shuō)出常用的異常類(lèi)型?

3.SKU的全稱是什么,SKU與SPU的區(qū)別及關(guān)系?

4.FileInputStream 在使用完以后,不關(guān)閉流,想二次使用可以怎么操作?

5.設(shè)計(jì)一個(gè)分步式登錄系統(tǒng)?

6.Spring加載過(guò)程?

7.自己有沒(méi)有寫(xiě)過(guò)類(lèi)似Spring這樣的AOP事務(wù)?

8.Java中 try..catch 關(guān)閉流的語(yǔ)法糖?

9.如何設(shè)計(jì)一個(gè)秒殺系統(tǒng)?要考慮什么?

10.有沒(méi)有遇到進(jìn)線上GC,出現(xiàn)的癥狀是什么樣的,怎么解決的?

11spring的加載過(guò)程?

12.atomic 與 volatile的區(qū)別?

13.Thread的 notify()給notifyAll()的區(qū)別?

14.notifiy()是喚醒的那一個(gè)線程?

15.Thread.sleep()喚醒以后是否需要重新競(jìng)爭(zhēng)?

16.單例有多少種寫(xiě)法? 有什么區(qū)別? 你常用哪一種單例,為什么用這種?

17.問(wèn)一個(gè)Thread.join()相關(guān)的問(wèn)題?

18.商品相關(guān)模塊系統(tǒng)怎么設(shè)計(jì)數(shù)據(jù)模型?

19.寫(xiě)一個(gè)JAVA死鎖的列子?

20.如何解決死鎖?

21.GC回收算法,及實(shí)現(xiàn)原理?

22.HashMap數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)? key重復(fù)了怎么辦? 是如何解決的?

23.Spring AOP的實(shí)現(xiàn)原理,底層用什么實(shí)現(xiàn)的?

阿里技術(shù)面試2

電話面試主要考察3塊內(nèi)容:

Java的相關(guān)基礎(chǔ)知識(shí),開(kāi)源框架的原理,JVM,多線程,高并發(fā),中間件等;

之前項(xiàng)目經(jīng)歷,運(yùn)用的技術(shù),遇到的問(wèn)題,如何解決,個(gè)人有什么收獲和成長(zhǎng);

對(duì)于技術(shù)的熱情(平時(shí)是否看些技術(shù)書(shū)籍,逛論壇,寫(xiě)博客,寫(xiě)源代碼或程序等);

JAVA開(kāi)發(fā)技術(shù)面試可能問(wèn)到的問(wèn)題?

我們主要考核的是網(wǎng)絡(luò)nio 分布式數(shù)據(jù)庫(kù)高并發(fā)大數(shù)據(jù)

自定義表格的實(shí)現(xiàn)?

動(dòng)態(tài)表單設(shè)計(jì)?

in-jvm(必考)以及jmm緩存模型如何調(diào)優(yōu)?

常用的RPC框架

nio和io

并發(fā)編程,設(shè)計(jì)模式

地圖組件?

hashmap有什么漏洞會(huì)導(dǎo)致他變慢?

如何給hashmap的key對(duì)象設(shè)計(jì)他的hashcode?

泛型通配符?在什么情況下使用?

后端方面:redis?分布式框架dubbo(阿里巴巴開(kāi)源框架)?設(shè)計(jì)模式?

場(chǎng)景式的問(wèn)題:秒殺,能列出常見(jiàn)的排隊(duì)、驗(yàn)證碼、庫(kù)存扣減方式對(duì)系統(tǒng)高并發(fā)的影響?

能根據(jù)實(shí)際的需要構(gòu)建緩存結(jié)構(gòu)提高提高網(wǎng)站的訪問(wèn)速度,熟練使用ehcache、oscache,了解memcache。

了解基于dns輪詢的負(fù)載均衡,熟練配置web服務(wù)器實(shí)現(xiàn)負(fù)載均衡,程序級(jí)能綜合使用基于hash或取模等手段實(shí)現(xiàn)軟負(fù)載。

熟悉分布式數(shù)據(jù)庫(kù)設(shè)計(jì)和優(yōu)化技術(shù),熟練使用mysql、oracle、SqlServer等主流數(shù)據(jù)庫(kù),熟悉hadoop hbase mangodb redis ehcache、oscache memcache。對(duì)于大數(shù)據(jù)量的數(shù)據(jù)庫(kù)處理采用分表分庫(kù)、數(shù)據(jù)庫(kù)讀寫(xiě)分離、建立緩存等手段優(yōu)化性能。

熟練掌握l(shuí)ucene,能基于lucene開(kāi)發(fā)大型的搜索引擎,并能用lucene來(lái)改善和優(yōu)化數(shù)據(jù)庫(kù)的like查詢。

JAVA方向技術(shù)考察點(diǎn)(補(bǔ)充):

掌握J(rèn)ava編程語(yǔ)言,包含io/nio/socket/multi threads/collection/concurrency等功能的使用;

熟練掌握jvm(sun hotspot和ibm j9)內(nèi)存模型、gc垃圾回收調(diào)優(yōu)等技能;

精通JVM,JMM,MVC架構(gòu),熟練使用struts2。

熟練使用spring、struts、ibatis構(gòu)建應(yīng)用系統(tǒng)。

熟練使用Servlet,jsp,freemark等前端技術(shù)。

熟練使用axis搭建基于SOAP協(xié)議的WebService服務(wù)接口。

熟練使用MAVEN構(gòu)建項(xiàng)目工程。

熟練使用tomcat等web服務(wù)。

熟練使用mysql等關(guān)系型數(shù)據(jù)庫(kù),熟悉mysql集群搭建。

熟練使用redis等NOSQL技術(shù)。

熟悉tcp、http協(xié)議。

熟悉nginx、haproxy等配置。

熟悉javascript、ajax等技術(shù)。

熟悉主流分布式文件系統(tǒng)FastDFS等。

熟悉JMS,可熟練使用ActiveMQ。

Java技術(shù)Leader要求能夠?qū)τ陧?xiàng)目本身知其然知其所以然,不僅技術(shù)功力深還要業(yè)務(wù)能力強(qiáng)有很好的idea和業(yè)務(wù)sense,并且對(duì)技術(shù)充滿興趣和渴望,千萬(wàn)不要面試官問(wèn)一個(gè)問(wèn)題答一個(gè),呆板的表情完全看不出任何自己的想法。

面試中描述你做的每一個(gè)項(xiàng)目:你做了什么工作?這些工作你解決了什么問(wèn)題?還有什么困難沒(méi)有解決?這些困難在后續(xù)如何優(yōu)化??jī)?yōu)化后可以實(shí)現(xiàn)什么功能?這些功能如何和中間件和分布式并行系統(tǒng)聯(lián)系在一起??Java中間件方向消息的傳輸方式mq長(zhǎng)連接短連接

Java 虛擬機(jī)有什么優(yōu)化?

底層計(jì)算機(jī)理解內(nèi)存管理/數(shù)據(jù)挖掘系統(tǒng)

可靠性和可用性如何理解~

jsp 和sever lap對(duì)比

數(shù)據(jù)庫(kù)到界面,字符集轉(zhuǎn)化

基棧

jvm優(yōu)化cup高的時(shí)候如果分析和監(jiān)控

java curb突出細(xì)節(jié)問(wèn)題

分布式緩存文檔如何分流

遷移數(shù)據(jù)庫(kù)垂直分割

高并發(fā)如何處理前端高并發(fā)應(yīng)用層

LB設(shè)計(jì)load balance

負(fù)載均衡

防網(wǎng)絡(luò)攻擊

數(shù)據(jù)日志事件監(jiān)控后通知

數(shù)據(jù)庫(kù)事務(wù)實(shí)現(xiàn)的底層機(jī)制

字符串空格輸入的網(wǎng)絡(luò)攻擊

Quartz框架的底層原理

數(shù)據(jù)庫(kù)同步中不通過(guò)數(shù)據(jù)庫(kù)引擎直接讀日志等方式同步數(shù)據(jù)

如果你想學(xué)好JAVA這門(mén)技術(shù),也想在IT行業(yè)拿高薪,可以進(jìn)來(lái)看看 ,群里有:Java工程化、高性能及分布式、高性能、深入淺出。高架構(gòu)。性能調(diào)優(yōu)、Spring,MyBatis,Netty源碼分析和大數(shù)據(jù)等多個(gè)知識(shí)點(diǎn)。

如果你想拿高薪的,想學(xué)習(xí)的,想就業(yè)前景好的,想跟別人競(jìng)爭(zhēng)能取得優(yōu)勢(shì)的,想進(jìn)阿里面試但擔(dān)心面試不過(guò)的,你都可以來(lái),群號(hào):587372254 (小白和廣告勿擾)

阿里面試題

二叉樹(shù)的遍歷方式,前序、中序、后序和層序

volatile關(guān)鍵字

synchronized

concurrentHashMap

鎖的優(yōu)化策略

操作系統(tǒng)

項(xiàng)目部分

緩存的使用,如果現(xiàn)在需要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的緩存,供搜索框中的ajax異步請(qǐng)求調(diào)用,使用什么結(jié)構(gòu)?

內(nèi)存中的緩存不能一直存在,用什么算法定期將搜索權(quán)重較低的entry去掉?

TCP如何保證安全性

紅黑樹(shù)的問(wèn)題,B+數(shù)

JDK1.8中對(duì)HashMap的增強(qiáng),如果一個(gè)桶上的節(jié)點(diǎn)數(shù)量過(guò)多,鏈表+數(shù)組的結(jié)構(gòu)就會(huì)轉(zhuǎn)換為紅黑樹(shù)。

項(xiàng)目中使用的單機(jī)服務(wù)器,如果將它部署成分布式服務(wù)器?

MySQL的常見(jiàn)優(yōu)化方式、定為慢查詢

手寫(xiě)一個(gè)線程安全的單例模式

進(jìn)阿里必會(huì)知識(shí):

算法和數(shù)據(jù)結(jié)構(gòu)數(shù)組、鏈表、二叉樹(shù)、隊(duì)列、棧的各種操作(性能,場(chǎng)景)

二分查找和各種變種的二分查找

各類(lèi)排序算法以及復(fù)雜度分析(快排、歸并、堆)

各類(lèi)算法題(手寫(xiě))

理解并可以分析時(shí)間和空間復(fù)雜度。

動(dòng)態(tài)規(guī)劃(筆試回回有。。)、貪心。

紅黑樹(shù)、AVL樹(shù)、Hash樹(shù)、Tire樹(shù)、B樹(shù)、B+樹(shù)。

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

計(jì)算機(jī)網(wǎng)絡(luò)OSI7層模型(TCP4層)每層的協(xié)議

url到頁(yè)面的過(guò)程

HTTPhttp/https 1.0、1.1、2.0

get/post 以及冪等性

http 協(xié)議頭相關(guān)

網(wǎng)絡(luò)攻擊(CSRF、XSS)

TCP/IP三次握手、四次揮手

擁塞控制(過(guò)程、閾值)

流量控制與滑動(dòng)窗口

TCP與UDP比較

子網(wǎng)劃分(一般只有筆試有)

DDos攻擊

(B)IO/NIO/AIO三者原理,各個(gè)語(yǔ)言是怎么實(shí)現(xiàn)的

Netty

Linux內(nèi)核select poll epoll

數(shù)據(jù)庫(kù)(最多的還是mysql,Nosql有redis)索引(包括分類(lèi)及優(yōu)化方式,失效條件,底層結(jié)構(gòu))

sql語(yǔ)法(join,union,子查詢,having,group by)

引擎對(duì)比(InnoDB,MyISAM)

數(shù)據(jù)庫(kù)的鎖(行鎖,表鎖,頁(yè)級(jí)鎖,意向鎖,讀鎖,寫(xiě)鎖,悲觀鎖,樂(lè)觀鎖,以及加鎖的select sql方式)

隔離級(jí)別,依次解決的問(wèn)題(臟讀、不可重復(fù)讀、幻讀)

事務(wù)的ACID

B樹(shù)、B+樹(shù)

優(yōu)化(explain,慢查詢,show profile)

數(shù)據(jù)庫(kù)的范式。

分庫(kù)分表,主從復(fù)制,讀寫(xiě)分離。

Nosql相關(guān)(redis和memcached區(qū)別之類(lèi)的,如果你熟悉redis,redis還有一堆要問(wèn)的)

操作系統(tǒng):進(jìn)程通信IPC(幾種方式),與線程區(qū)別

OS的幾種策略(頁(yè)面置換,進(jìn)程調(diào)度等,每個(gè)里面有幾種算法)

互斥與死鎖相關(guān)的

linux常用命令(問(wèn)的時(shí)候都會(huì)給具體某一個(gè)場(chǎng)景)

Linux內(nèi)核相關(guān)(select、poll、epoll)

編程語(yǔ)言(這里只說(shuō)Java):把我之后的面經(jīng)過(guò)一遍,Java感覺(jué)覆蓋的就差不多了,不過(guò)下面還是分個(gè)類(lèi)。

Java基礎(chǔ)(面向?qū)ο?、四個(gè)特性、重載重寫(xiě)、static和final等等很多東西)

集合(HashMap、ConcurrentHashMap、各種List,最好結(jié)合源碼看)

并發(fā)和多線程(線程池、SYNC和Lock鎖機(jī)制、線程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)

JVM(內(nèi)存模型、GC垃圾回收,包括分代,GC算法,收集器、類(lèi)加載和雙親委派、JVM調(diào)優(yōu),內(nèi)存泄漏和內(nèi)存溢出)

IO/NIO相關(guān)

反射和代理、異常、Java8相關(guān)、序列化

設(shè)計(jì)模式(常用的,jdk中有的)

Web相關(guān)(servlet、cookie/session、Spring

作者:Java后端技術(shù)的博客
來(lái)源:CSDN
原文:https://blog.csdn.net/gupaoxueyuan/article/details/79915166
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

宏觀方面
一、 JAVA。要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA。一般的程序員或許只需知道一些JAVA的語(yǔ)法結(jié)構(gòu)就可以應(yīng)付了。但要成為JAVA(高級(jí)) 工程師,您要對(duì)JAVA做比較深入的研究。您應(yīng)該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您 對(duì)JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發(fā)現(xiàn)其實(shí)您想實(shí)現(xiàn)的很多功能,通過(guò)JAVA的API都可以實(shí)現(xiàn)了,就不必自己費(fèi)太多的腦經(jīng) 了。

二、 設(shè)計(jì)模式。其實(shí)寫(xiě)代碼是很容易的事情,我相信您也有同感。但如何寫(xiě)得好就比較難了。這個(gè)“好”字包括代碼可重用性,可維護(hù)性,可擴(kuò)展性等。如何寫(xiě)出好的代 碼往往要借助一些設(shè)計(jì)模式。當(dāng)然長(zhǎng)期的代碼經(jīng)驗(yàn)積累,只要您用心,會(huì)使您形成自己代碼風(fēng)格。相信您的代碼也比較符合代碼的可重用性,可維護(hù)性,可擴(kuò)展性。 但既然前人已經(jīng)給我們總結(jié)出了經(jīng)驗(yàn),我們何不踩著前人的肩膀前進(jìn)?

三、 XML。現(xiàn)在的系統(tǒng)中不使用XML幾乎是不可能的。XML的功能非常強(qiáng)大,它可以做數(shù)據(jù)轉(zhuǎn)換、做系統(tǒng)的配置、甚至可保存您的系統(tǒng)業(yè)務(wù)數(shù)據(jù)。因此您必須了解 XML,包括它的語(yǔ)法,結(jié)構(gòu)。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因?yàn)樵谖覀円话愕捻?xiàng)目中,XML往往擔(dān)當(dāng)系統(tǒng)配置 信息的作用,您需要用這些API解析這些配置信息,開(kāi)發(fā)完美的項(xiàng)目。

四、 精通使用一種或兩種框架。像在《如何成為java初級(jí)程序員》中提到的那樣,“框架都會(huì)有許多可重用的代碼,良好的層次關(guān)系和業(yè)務(wù)控制邏輯,基于框架的開(kāi) 發(fā)使你可以省出很多的開(kāi)發(fā)成本”。但我這里希望您能精通,更多的是希望您能通過(guò)框架的使用了解框架的思想。這樣您在開(kāi)發(fā)一個(gè)項(xiàng)目時(shí)思路會(huì)開(kāi)闊一些,比如您 會(huì)想到把SQL語(yǔ)句與您的JAVA代碼分開(kāi),再比如您會(huì)考慮把您的業(yè)務(wù)邏輯配置到XML或者數(shù)據(jù)庫(kù)中,這樣整個(gè)項(xiàng)目就很容易擴(kuò)張了。

五、 熟悉主流數(shù)據(jù)庫(kù)。其實(shí)真正比較大的項(xiàng)目都是有人專(zhuān)門(mén)做數(shù)據(jù)庫(kù)的,但往往很多項(xiàng)目要求作為(高級(jí))工程師的您也參與數(shù)據(jù)庫(kù)的設(shè)計(jì)以及SQL的編寫(xiě)。所以為了 更好的為國(guó)家做貢獻(xiàn),建議您還是多了解一些主流數(shù)據(jù)庫(kù),比如SQLSERVER,ORACLE,多連接SQL和存儲(chǔ)過(guò)程以及觸發(fā)器。如果您不是“科班”出 身,您還需要補(bǔ)充一些數(shù)據(jù)庫(kù)原理方面的知識(shí)。

六、 精通一種或兩種WEBServer。盡管我再《如何成為java初級(jí)程序員》里講過(guò)它,我還是要強(qiáng)調(diào)您要精通一種或兩種。因?yàn)樽鳛镴AVA工程師,特別時(shí) 想成為高級(jí)JAVA工程師的您,您不可避免地要部署您的項(xiàng)目到WebServer上,而且只有當(dāng)您精通一種WebServer,您才可能最大限度地使用它 的資源,這往往可以節(jié)省很多時(shí)間和精力。

七、 UML。我知道您肯定想成為高級(jí)工程師,因此您有必要了解或熟練或精通UML,這取決于您有多大決心想成為高級(jí)工程師和項(xiàng)目經(jīng)理。在比較正規(guī)的開(kāi)發(fā)團(tuán)隊(duì) 中,UML是討論項(xiàng)目的交流工具,您要想做一個(gè)軟件工程師,您至少要能看懂,您要想做高級(jí)工程師,您要能通過(guò)它來(lái)描述您對(duì)項(xiàng)目的理解,盡管這不是必須,但 卻很重要。

八、 站在高度分析問(wèn)題:這不是一個(gè)知識(shí)點(diǎn),也不是通過(guò)書(shū)本就能學(xué)得到的。只所以提到這一點(diǎn),是因?yàn)槲冶饶€著急,我希望您更快的成為一個(gè)高級(jí)的軟件工程師,而 不是一個(gè)一般的軟件工程師。希望您在工作中多向您的系統(tǒng)分析員、需求分析員、系統(tǒng)設(shè)計(jì)員學(xué)習(xí),多站在他們角度上去看您在開(kāi)發(fā)的項(xiàng)目。在最好在項(xiàng)目之初先在 您的腦海里對(duì)項(xiàng)目有個(gè)大致的分析、設(shè)計(jì),然后和他們進(jìn)行比較,找找差別,想想缺點(diǎn)。
九、 工具。與在《如何成為java初級(jí)程序員》里提到的不同,您在這個(gè)階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對(duì) ROSE,Together要多了解一些,因?yàn)槟?huà)UML了。不要再對(duì)Dreamweaver等HTML編輯器情有獨(dú)鐘了,那些JSP頁(yè)面讓初級(jí)程序員 去寫(xiě)吧

微觀方面

1.Core Java部分
這是最基礎(chǔ)的,對(duì)于一個(gè)java高級(jí)開(kāi)發(fā)/設(shè)計(jì)人員,你需要對(duì)這一部分達(dá)到精通的水平,重點(diǎn)內(nèi)容如下:
a.面向?qū)ο缶幊趟枷?封裝繼承多態(tài)接口)
b.字符串處理
c.java.lang包,java.util包等常用包
d.java異常處理
2.Java高級(jí)部分
a.Java I/O流
b.Java多線程技術(shù)
c.Java網(wǎng)絡(luò)編程
d.Java Swing
后兩項(xiàng)可以了解即可,如果項(xiàng)目需要可以深入研究
3.前端基本技能
* HTML + CSS網(wǎng)頁(yè)開(kāi)發(fā)
* JavaScript
* Jquery
* 瀏覽器兼容性 CSS hack(了解)
4.熟練使用JSP + Servlet進(jìn)行開(kāi)發(fā)
5.MVC設(shè)計(jì)模式,原理,以及相關(guān)框架,如Struts
6.SSH框架
7.緩存技術(shù) session & cookie
8.熟練使用一種以上Java開(kāi)發(fā)工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟練使用XML
JDOM w3c.dom SAX
10.Java設(shè)計(jì)模式
工廠模式,單例模式 ==
11.Java反射機(jī)制
反射的各種用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,環(huán)境變量
14.數(shù)據(jù)庫(kù)oracle必學(xué),其他最好了解一種以上(mysql,sql server,access==)
oracle:視圖,索引,存儲(chǔ)過(guò)程,觸發(fā)器,游標(biāo),包,常用函數(shù) ==
15.數(shù)據(jù)庫(kù)原理
事務(wù)的原理,鎖機(jī)制,表連接,復(fù)雜查詢語(yǔ)句(工作經(jīng)驗(yàn)),性能調(diào)優(yōu),鎖表以及解決方案==
16.JDBC,連接池
17.Ajax,反向Ajax
18.HTTP協(xié)議,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用過(guò)Linux/Unix系統(tǒng),可以編寫(xiě)shell腳本,可以在Linux上部署項(xiàng)目
20.了解windows系統(tǒng)批處理腳本bat
21.了解HTML5,最好學(xué)習(xí)過(guò)
22.熟悉一種JS框架,如Prototype
23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一門(mén)腳本語(yǔ)言,如python ,ruby
26.了解php/ asp
27.了解ftp協(xié)議及原理
28.熟練使用Junit測(cè)試,熟悉Mockito等測(cè)試工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究過(guò)一些的算法。
31.了解Flex(不學(xué)也沒(méi)關(guān)系)
32.了解敏捷開(kāi)發(fā)模式
33.工作流workflow至少用過(guò)一種,如OSworkflow,了解原理
34.使用過(guò)VPN了解其原理
35.熟悉jstl表達(dá)式和el表達(dá)式
36.熟悉webservice,WSDL,SOAP
37.圖片處理,如圖片上傳,預(yù)覽,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技術(shù),JSON+AJAX
40.分頁(yè)技術(shù),最好自己實(shí)現(xiàn)過(guò)不僅僅是用過(guò)要知道原理
41.Java Mail
42.Java讀寫(xiě)txt,excel,JXL技術(shù)
43.JVM原理,JVM內(nèi)存管理,GC,Java堆棧池
44.熟練使用下面的工具:
office辦公軟件,word,excel,ppt等
plsql,sqldevelop 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具
outlook大公司都用
ue編輯器
瀏覽器控制臺(tái),調(diào)試
SHH/PUTTY 遠(yuǎn)程
45.UML建模工具Rational Rose等

  1. 使用log4j
    47.使用過(guò)開(kāi)放Api如百度,騰訊街景,新浪微博等
    48.頁(yè)面靜態(tài)化技術(shù)(偽靜態(tài)頁(yè)面)
    49.報(bào)表技術(shù),使用過(guò)報(bào)表制作工具,如水晶易表。
    50.定時(shí)任務(wù),如Spring batch ,學(xué)會(huì)自定義batch任務(wù)(不適用第三方工具)
    51.了解uuid
    52.b/s 和 c/s架構(gòu)
    53.正則表達(dá)式
    54.了解jndi jms
    55.ERP
    56.UNICODE編碼,亂碼解決
    57.開(kāi)源網(wǎng)絡(luò)編輯器,如ckEditor
    58.二進(jìn)制原理
    59.使用過(guò),了解過(guò)開(kāi)源論壇框架,如discuzz
    60.GWT,Closure框架
    61.了解大數(shù)據(jù),云計(jì)算
    62.搜索引擎搜索技術(shù)
    63.軟件工程,項(xiàng)目管理
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容