手撕算法:反轉單鏈表手撕算法:實現類似微博子結構的數據結構,輸入一系列父子關系,輸出一個類似微博評論的父子結構圖手寫java多線程手寫java的soeket編程,服務端和客戶端手撕算法:爬樓梯,寫出狀態轉移方程智力題:時針分針什么時候重合以上是總結的Java面試中有關算法的高頻問題 。
自學java?
“這是一篇完整的java程序員學習線路圖,一共分為六個階段 。我以java為例,展示完整的學習步驟 。希望對于想通過java自學的朋友有幫助 。java程序員學習線路流程第一步:Java語言基礎從最簡單的開始,hello world開始Java之旅1.編程基礎常量與變量數據類型運算符流程控制語句方法數組2.面向對象面向對象思想類與對象成員變量和局部變量封裝this關鍵字構造方法3.集合集合概述集合特點ArrayList集合HashMap集合常用集合優劣比較4.輸入/輸出 IO字符輸入流字符輸出流字符緩沖輸入流字符緩沖輸出流復制文件集合與文件中數據相互讀寫5.練習階段屬于你自己的helloword第二步:java語言高級再結合java高級部分,里面的部分內容,這個階段你不一定能理解很徹底 。
但有一點,如果你今后想進入高階俱樂部,這些內容你必須掌握牢固 。舉個栗子,如果你面試通過進入了公司,我一定會在早期仔細review你的代碼 。代碼的功力是欺騙不了人的,不同人寫一個接口,呈現的結果也是千差萬別(所以才有了規范) 。1.面向對象繼承多態重寫(Override)重載(Overload)封裝接口java包 package2.異常處理異常概述異常分類異常處理方案自定義異常3.多線程Java線程:概念與原理Java線程:創建與啟動Java線程:多線程的實現方案Java線程:線程生命周期Java線程:線程池Java線程:線程狀態的轉換Java線程:線程的同步與鎖Java線程:線程的交互等等線程的幾個主要概念在多線程編程時,你需要了解以下幾個概念線程同步線程間通信線程死鎖線程控制:掛起、停止和恢復4.輸入與輸出IO文件和I/O讀寫文件Java 流(Stream)文件(File)緩沖流5.泛型(Generic )泛型的使用場景泛型類型泛型方法泛型通配符?6.網絡編程網絡機制Socket原理機制UDP、TCP傳輸等7.反射(reflection)類加載機制原理反射構造方法、字段、方法Properties配置文件8.注解(annotation)注解的使用和原理三種內置annotation自定義annotation注解類的反射調用動態代理類如何處理9.Java高級特性和類庫java類加載器class loaderjava 程序運行的基礎知識,java編譯后的bytecode的整個運行機制,這一點對應.net的IL(intermediate language) 。
理解Java nio,關于這一點網上有非常多的教程,這一條需要重點掌握,對于高并發的掌握很重要 。java juc(java.util.concurrent)等等10.JVM原理和調優JVM最重要的三個部分必須要非常清楚,內存劃分、class加載機制以及GC策略 。搞清楚這三部分不僅僅是為了面試,也是為了讓你對于Java有更深刻的理解,這對于你的Java生涯非常有幫助 。
內存劃分簡單說分為三個部分,Young Generation(年輕代)、Old Generation(年老代)以及Perm Generation(永久代) 。其中的Young Generation(年輕代),又分為Eden、From和To,其中From和To又統稱為Survivor Spaces(幸存區) 。
關于classloader機制的學習,可以結合tomcat去學習,了解清楚tomcat的classloader機制,看tomcat是如何保證各個APP之間的類隔離的 。如果可能的話,看一下tomcat中classloader的源碼,當中也包含了與tomcat類加載機制相似的部分 。至于GC,需要清楚GC Roots都有哪些,以及如何判斷一個對象可以被回收 。
此外,GC的算法和策略也要有大概的了解 。第三步:java web階段1.前段技術掌握htmlcssjsjquerybootstrap2.動態網頁技術Java Servlet APIVelocityFreeMarkerJSP等常用模板引擎比如,淘寶前端層使用的是velocity模板,部分公司采用jsp、freemarker等,基本類似 。
推薦閱讀
- 設計師專屬室內設計PPT模板來了,畢業設計ppt寫什么意思
- 預答辯都會問什么,本科答辯都會問什么問題
- 微電影劇本《畢業不說再見》二稿,畢業設計微電影題目和背景怎么寫
- 如何寫開題報告,開題報告寫什么
- 畢業論文課題研究的可行性分析怎么寫,在畢業論文中課題研究的意義怎么寫
- 本科畢業論文課題來源怎么寫,畢業論文項目來源怎么寫
- 百煉成仙 怎么樣,javascript百煉成仙怎么樣
- 研究生如何確定課題,如何確定課題題目
- 論文開題報告怎么寫模板,工科論文開題報告怎么寫
- 大專畢業設計怎么寫,畢業設計序言怎么寫
