Re: [問題] 物件導向的練習題

作者: lueichun (no anonymous)   2017-11-18 22:24:45
※ 引述《qrtt1 (有些事,有時候。。。)》之銘言:
: ※ 引述《rdfs (曙光女神之寬恕)》之銘言:
: : 請問有人知道哪邊有物件導向的練習題可以練嗎 ?
: : 學了一些語法, 不過好像沒甚麼練習可以做,
: : 不知哪邊有題目可以買或是網路上有 ?
: 單純概念練題的話,
: 用候捷早年放在網路上的 thinking in java 2/e 的 pdf
: 看完該章本文然後做它的習慣就行了。
: 章節集中在 6, 7, 8 章。
: 不過,不趕時間的話,還是有 4, 5 開始做吧。
: 目錄:
: https://i.imgur.com/xf50Cv8.png
: https://i.imgur.com/QwY0EYw.png
我也想問類似的問題 結果被搶先了 所以我就借這標題問一下
就是我目前從事java開發的工作已經兩年了
基本的語法大概都有印象 但是要具體描述自己到底哪裡會 不會還是不太行
剛好我找到TonyQ大以前的文 提到做個檢查表來檢視:
知道J2EE、J2SE、J2ME這三個領域的對象的差異
知道if-else、switch是什麼
if-else常用 但switch幾乎不會用到 不熟
知道for、while是什麼
都會用
知道 API Document的使用方法
需要的時候會查
知道String有哪些函式、怎麼切割字串跟組合字串。
切割用split 組合用concat
知道main的用途與main的參數用法
main是jvm首先執行的方法 main的參數沒用過
知道static method怎麼設計
不會 只有用過math.random() integer.parseInt()這類方法
知道class跟instance method怎麼設計
工作上還沒設計過 只有自己練習coding設計簡單的
知道Classpath是什麼,能引用第三方的套件。(通常是jar檔)
classpath就是java檔被編譯後形成的class檔 所在的路徑
在eclipse新增dynamic web project時 會詢問你class檔要放哪
套件的話 ojdbc spring hibernate struts 1 都用過
但都只會基本功能
知道什麼是IDE,並瞭解IDE提供開發流程中哪些協助,扮演什麼角色。
這個不太會講
2.資料結構基礎
知道什麼是Array
只知道中文叫陣列 長度是固定的...
知道什麼是List (ArrayList、LinkedList)
只會用get set size 知道arrayList預設長度是10
arrayList會隨著元素數量動態增減長度 其他的不會解釋...
知道什麼是Map (HashMap、TreeMap的不同點?)
一樣只會用基本的方法
知道如何瀏覽Map及其他Collection的瀏覽法(iterator())
只會forEach 另外知道forEach是語法蜜糖
編譯器會把forEach轉成iterator()的格式
3.演算法基礎
知道什麼是演算法
講不出來Orz

有時間複雜度的概念
有空間複雜度的概念
知道什麼叫遞迴 (實務上偶爾會有機會用到)
太久沒用都忘光光QQ

對基本的演算法有一定瞭解
基本排序法(buble、selection、insertion、quick、merge)
動態規劃(Dynamic Programming)
以上都忘光光...
4.Java進階應用
能用java.text.* 做日期的格式化、數字的格式化
能用java.io.* 做文字檔的讀檔、存檔 (java.util.Scanner也行)
能用 java.lang.Math 做一些數學運算
這些都是要用到時才會去GOOGLE
知道什麼是Jar檔,並瞭解class是能夠被反編譯(de-compile)的。
一種java檔的壓縮檔 若要在專案引入框架或其他工具
常常需要引入jar檔 class是可以被反編譯 但我幾乎沒做過o.o
知道什麼是 JDBC ,能對資料庫操作有基本瞭解。
一種讓程式跟資料庫得以連接起來的介面
各家資料庫廠商實作了這個介面 並打包成jar檔 只要再專案引入jar檔
即可將專案連接到資料庫
能熟悉使用IDE,減少多餘開發時間在製造錯誤跟重複的行為上。
有時候同事會說我對工具不熟悉 甚至全選 複製的動作可以用滑鼠
點兩下全選再複製 而非用滑鼠拖曳再複製都是同事教的
能瞭解在Object這個基底類別中,toString、equals、hashcode
這三個method扮演什麼樣的角色。
toString用來轉型成字串 equals用來比較物件的值 其他的不會= =
1.Java高階應用

會利用 java.net.* 處理網路上的溝通
(ex. Socket、ServerSocket,也可以用URL抓抓網頁之類)
會利用 javax.swing.* 、 java.awt.* (或者SWT)做GUI的處理
沒做過
瞭解什麼是介面,並能利用介面撰寫程式。
沒有設計過介面 只有拿既有的程式來改
瞭解什麼是 Design Pattern,並且能舉出java api中
使用Pattern的實例。
我只知道java io用到裝飾者模式
能以J2SE基礎切入J2EE的 JSP 網頁應用程式。(有興趣可再深入J2EE

JSP會基本的語法 知道如何將後端傳過來的值寫在JSP檔上
能以J2SE基礎編寫J2ME的應用程式(MIDP)
不會
有能力依需求編寫一個以上的Thread,並考慮到Thread-safe的問題。
工作上沒遇過多執行緒的狀況 都忘了QQ
2.工具部份
能瞭解 Framework 是什麼,並瞭解目前能見到的Framework的目標。
只有碰過Spring hibernate struts基本用法 不敢說會
也不敢說瞭解框架是什麼
能瞭解 Ant 這個建立開發的自動化流程的工具
沒用過
作者: pttworld (批踢踢世界)   2017-11-18 23:00:00
工作是獨立完成專案的標準,不要再用學生角度看事情
作者: sqrt998001 (平方根999)   2017-11-19 01:08:00
你自己都承認不熟就先把每一題弄到熟吧,光design pattern就可以看很久了
作者: qrtt1 (有些事,有時候。。。)   2017-11-19 01:11:00
工作是『在時間內』完成得交付的事項啊。不是獨立就行了xd

Links booklink

Contact Us: admin [ a t ] ucptt.com