看板 Soft_Job 關於我們 聯絡資訊
※ 引述《milk6449 (Charles)》之銘言: : 背景:私大學士 非本科系畢業/ 無任何相關經驗/ 22歲 : 預計當兵到12月退伍,想走Android的軟體工程師 : 但礙於非本科系,手邊上有關Android作品只剩有大學的畢業專題。都是邊看上網教學邊 : 跟著操作,不懂就找Stackoverflow,或找YouTube和看一些Android官方的文件 : 作品在這 : https://github.com/milk588093/Snoring-detection : 內容大概就是用自製的電路板傳送鼾聲訊號給arduino做演算法的處理,再將結果經由藍 : 牙傳輸到app做分析(....) : 求大大們可以為小弟指一下方向 : 1.面試看到這種作品會丟出哪些問題? : 2.哪些地方需要修改或很怪的?? : 拜託版上的高手們了!!! : 簡單的幫你review一下 一般而言,面試官很忙的,所以會沒時間去把你的code拿下來build過在安裝 所以如果你覺得寫得很好的話,建議直接放上google play這樣面試官有機會把玩 然後我看code是有一定質量,所以junior的碼農缺基本上是沒啥問題的 (Android的缺一直都很多,但學的人比前端相對少 我真心認為學android比學前端好找工作XD) 所以你可以安心地去找工作投履歷了。 至於你推文提到不懂資料結構和演算法,可以看這系列補一補 資料結構:http://l.ovoy.click/dataStructure 演算法:http://l.ovoy.click/nq556 不過補完了也不用太高興,這只是入門而已,真正要搞的是後續的刷題 不過也不用太緊張,初階的engineer也不太需要考演算法 好,接下來進入正題 code review https://github.com/milk588093/Snoring-detection/blob/master/app/src/test/ java/com/example/project1220/ExampleUnitTest.java 一開始看到你有寫test code我眼睛一亮 哦~這個專業,結果點進去 public void addition_isCorrect() { assertEquals(4, 2 + 2); } ........................................ 痾...有事嗎? 與其寫這東西,不如把檔案拿掉。 不過強烈建議寫好test code面試大加分 然後點進去 https://github.com/milk588093/Snoring-detection/blob/master/app/src/main/ java/com/example/project1220/welcomeActivity.java new Thread(new Runnable() { @Override public void run() { try{ Thread.sleep(2000); startActivity(new Intent().setClass(welcomeActivity.this,MainActivity.class)); }catch (InterruptedException e) { e.printStackTrace(); } } }).start(); 我不知道你寫這個的目的是什麼 但是Thread.sleep(2000)基本上是大忌 然後 Calendar c = Calendar.getInstance(); 就算很直覺c是calendar 還是請你打 calendar junior和senior的差別就是這麼簡單,別懷疑 https://github.com/milk588093/Snoring-detection/tree/master/app/src/main/ java/com/example/project1220/ui/notifications koo.java ploo.java 這兩個檔案的命名會毀了你整個好程式 tvContent.setText("" + Utils.formatNumber(ce.getHigh(), 0, true)); 不要這樣寫,至於為什麼,就給你當功課 private MutableLiveData<String> mText; 我不知道你為什麼這邊取名叫mText 但是看到m先給你加10分 無論你是copy來的還是知道其含意 另外順便看到mText = new MutableLiveData<>(); 沒意外的話<>應該可以拿掉 不過好一點的寫法是mText = new MutableLiveData<String>(); https://github.com/milk588093/Snoring-detection/blob/master/app/src/main/ java/com/example/project1220/ui/dashboard/DashboardFragment.java 空行處理一下 set1 = new BarDataSet(values, "正常"); 中文字一律放String.xml 你不看前後文可以跟我講 textView77 = root.findViewById(R.id.textView888); 是什麼嗎? https://github.com/milk588093/Snoring-detection/blob/master/app/src/main/ java/com/example/project1220/ui/dashboard/DayAxisValueFormatter.java if (chart.getVisibleXRange() > 30 * 6) { hard code數字用static final 定義會加5分 先這樣吧 另外你可以去google "面試android最愛考的面試題" 很多面試官也是這樣找題目的 -- 紫楓碎碎念 YouTube頻道:https://www.youtube.com/user/tbpfs FB粉專:https://www.facebook.com/tbpfs2/ blog: http://tbpfs1.blogspot.com/開始學會寫程式:http://l.ovoy.click/itiron 軟體工程師薪資大解密: http://l.ovoy.click/R3M42 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.4.220 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1603015788.A.8B6.html
evo1994: 測試那個是project建起來預設的 應該不是他寫的 10/18 18:18
newhandfun: 認真有推 10/18 18:24
snailpon: 質量等於密度乘以體積 10/18 18:24
oioppp: 認真推 10/18 18:31
t19960804: 好人給推 10/18 18:37
jeff40108: 安卓是真的比前端門檻高,但薪水就不一定 10/18 18:49
Csongs: 推好心 10/18 19:04
yupog2003: 推好心,給的建議都對第一印象影響蠻大的 10/18 19:35
Handsomeshen: 好人 10/18 19:50
Sirctal: 程式碼很重(拖走) 10/18 20:10
skizard: 佛心... 10/18 20:26
pttano: 明明初級都考bubble sort 10/18 20:30
fantasystar: 請問質量是什麼意思? 10/18 20:46
JasperChang: 也只是 AOSP coding style 才喜歡那個 m 10/18 20:50
JasperChang: 非 AOSP 看到那個 prefix m 我一定先扣十分 10/18 20:50
ukuk666888: 推推 10/18 22:07
eastwarm: 推好心.....可惜你好久沒玩kof 了 10/18 22:16
Chen334: 質量 10/18 23:02
asdg62558: 推 好人 10/18 23:24
Eric0605: 佛心 10/18 23:36
chen09885: 安卓第一份起薪幾乎有4萬以上,搶飯碗的人少有差 10/18 23:38
derekjj: 推,好清楚阿 10/18 23:55
ftrhalcyon: 推好心 10/19 00:12
a971364285: 質量 10/19 00:38
a78998042a: 推 10/19 00:40
qwe70302: https://i.imgur.com/s0agmfq.jpg 10/19 01:34
iq1000x: 那個m為什麼加10分 10/19 07:55
ckscks038038: 推認真... 10/19 08:06
cowbaoh: 認真回覆 給推 10/19 08:20
SKII588: 你是個好心人 10/19 08:44
jixian: code的重量單位是啥 10/19 09:46
B0988698088: 光看到質量就可以先噓了 10/19 09:51
GLaDOS1105: 我以為只有 node_modules 才最有質量 10/19 09:59
NCUking: 葛萊分多加10分 10/19 10:42
NTULioner: thread sleep要看使用原因 不是直接大忌 10/19 10:47
ShenJing: 推好心,那unit test是真的滿尷尬的XD,也祝原po求職順 10/19 11:31
ShenJing: 利 10/19 11:31
chifatty: 這個 code 跑起來會有動能嗎? 10/19 12:50
sniper2824: 他是說2000是大忌 誰知道2000是什麼magic number 10/19 13:22
muscle: code很重? 10/19 13:25
etc276: 質量 10/19 13:30
allenxxx: 2000跟200沒人收,是商家大忌? 10/19 13:57
fantasychese: 不認得預設的unit test然後看見thread sleep就開槍? 10/19 15:07
nmns0110: 祝好心人一生平安 10/19 15:31
fantasychese: 2000就splash畫面停兩秒啊 根本超級常見的寫法 10/19 16:09
fantasychese: 有在寫Android的怎麼可能會不知道目的是什麼 10/19 16:10
fantasychese: 然後這年頭IDE都飛天了不要再鼓吹匈牙利命名法好嗎 10/19 16:16
fantasychese: 我看到亂抄mVariable還不求甚解的絕對是大扣分 10/19 16:18
fantasychese: 推你熱心有點基本觀念但是不熟就不要這麼高姿態嘛 10/19 16:20
sniper2824: 我就想知道誰仔細想一下會不知道是停兩秒 10/19 16:26
sniper2824: 問題就是不要別人仔細想 看過去就知道啊== 10/19 16:26
sniper2824: 你這邊來一點hard code 那邊來一點hard code 都很好懂 10/19 16:29
sniper2824: 就是拖慢別人維護的時間而已啊 10/19 16:30
evo1994: 樓主的意思應該是盡量別用sleep把 thread block住 要的 10/19 18:16
evo1994: 話用至少也用Handler 10/19 18:16
evo1994: 不過匈牙利命名法google已經不推薦了 可能沒辦法加10分~ 10/19 18:19
ap954212: 支那語警察好多 10/19 19:55
lukelove: 這code有20公斤 10/19 20:15
zmcx16: 推認真review 10/19 20:51
testPtt: 我4認為區域變數而已簡寫不影響啦 10/19 20:54
NTULioner: s大 怎麼可能重點在2000這個數字xd 10/19 20:59
NTULioner: 連想都不用想 看到就知道睡2秒 10/19 20:59
NTULioner: 只是為什麼要睡這件事要知道原因才做 10/19 20:59
testPtt: 我以前看人家硬體沒設計好只好靠sleep來解決 10/19 21:13
energyy1104: code的質量怎麼算的? 一個變數一公克? 10/19 22:04
yc0015139: 問一下 現在的 IDE 都會把成員變數用顏色標起來 10/19 22:05
yc0015139: 那有還必要用 mVariable 之類的 naming 嗎...? 10/19 22:05
netburst: 就停兩秒有啥好想的 10/19 22:29
stosto: 以前code效率太好我也是先睡個幾秒,過個幾個月在減個一秒 10/19 22:32
netburst: calendar這個在kotlin力推的scope function連命名都不 10/19 22:34
netburst: 不用了還在c 啥 10/19 22:35
wulouise: ide可以review code的話就沒差,不然m還是方便 10/20 00:57
nanjolno: 質量 10/20 07:29
panbanana: code 是很重嗎 10/20 10:43
Brinoh: 推好心人 10/20 11:43
stfang925: 佛心 10/20 12:13
gilingking: 好人推推 10/20 12:14
iq1000x: 所以那個m+10分真的是因為用匈牙利就加分喔… 10/20 13:30
iq1000x: 我還一直在想原因 因為我以為10年前就已經不建議匈牙利法 10/20 13:30
iq1000x: 了 10/20 13:31
aids61517: fantasychese嗆這麼大你知道什麼叫memory leak嗎? 10/20 14:35
aids61517: 這種寫法剛好是Android memory leak的基本題型 10/20 14:36
aids61517: 有sense的都知道要用其他方式實作delay 2秒的功能 10/20 14:37
j0958322080: 好多支語警察 10/20 15:02
del680202: 支語警察還在混啊 10/20 15:30
hiarpu: 推 10/20 16:41
zaa0210: 有寫名字才有分 10/20 16:56
milk6449: 真的好感謝樓上的大大們,但今天要回營區了,假日有時 10/20 17:38
milk6449: 間我會好好的看完,感謝幫我review 10/20 17:38
Qaucat: 推 10/20 17:42
milk6449: 會用2000 10/20 17:55
milk6449: 其實只是想讓我的app有開機畫面而已(好像沒其他作用) 10/20 17:55
milk6449: 030 10/20 17:55
tsl3333: mText對我來說扣分 現在已經不適合了 10/20 19:34
Acetoxy: 支語警察出沒注意 10/21 02:24
remember318: 這篇教學的質量被「質量」二字給毀了 10/21 02:38
hyouun: 匈牙利法絕對扣分,超難閱讀 10/21 11:02
diamondsyo: 大大人真好 10/22 00:10
jerry771210: 大家噓的是對岸用語還是一定要寫quality或品質? 10/22 00:56
shooter555: 為什麼sleep兩秒會造成memleak? 10/22 10:27
Ekmund: 我也想問質量到底指什麼?就算是用品質或是quality 10/22 14:18
Ekmund: 要怎樣才能說code "品質很好"? 10/22 14:18
Ekmund: 頂多是面對一些架構方式或演算法 聽過有人形容elegant 10/22 14:19
Ekmund: 但質量這個真的無法理解意義 10/22 14:20
aids61517: shooter555 https://www.itread01.com/p/827251.html 10/22 14:28
aids61517: 裡面的1.3 1.4 1.5 1.6都在講同樣的事 10/22 14:28
aacj2642: 太好了吧! 10/22 23:09
a55028294: 認真推 10/24 20:32
samdynasty: 認真推,但匈牙利對我來說真的是扣分 10/25 23:48
netburst: 這裡會leak的機率? 用post也一樣有leak機率 根本無聊 10/26 00:57
aids61517: 無聊?這邊應用也就剛好很單純,如果用在更複雜的情況 10/26 13:14
aids61517: 像是更新UI元件,就看一堆87用if判斷activity.isFinish 10/26 13:15
aids61517: 沒判斷就可能會閃退,後人要解這些問題我才覺得無聊 10/26 13:17
aids61517: 如果你是資深工程師的話,說這種話我覺得滿失水準的 10/26 13:17
aids61517: 就算用Handler也是可以避免leak,別說的好像是Handler 10/26 13:30
aids61517: 有缺陷一樣 10/26 13:30
imjeffreylee: 好人 10/26 13:37
netburst: 事實上就是有缺陷 不然哪那麼多文章在寫這些 10/26 23:46
netburst: 所以我說這裡單純應用會LEAK的機率? 無聊 10/26 23:47
streakray: 推 10/27 10:13
ruthertw: 自吹自己影片,你不害臊?滿嘴自以為幽默,有夠噁心! 03/21 15:40