作者:
tbpfs (http://0rz.tw/Uk989)
2020-10-18 18:09:44※ 引述《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最愛考的面試題"
很多面試官也是這樣找題目的
作者:
evo1994 (Evo)
2020-10-18 18:18:00測試那個是project建起來預設的 應該不是他寫的
作者: newhandfun (新手方) 2020-10-18 18:24:00
認真有推
作者:
snailpon (にくきゅう)
2020-10-18 18:24:00質量等於密度乘以體積
作者: oioppp 2020-10-18 18:31:00
認真推
作者:
jeff40108 (死得腥羶豔油劑是他)
2020-10-18 18:49:00安卓是真的比前端門檻高,但薪水就不一定
作者:
Csongs (西歌)
2020-10-18 19:04:00推好心
作者: Handsomeshen (洗澡是骯髒人的事) 2020-10-18 19:50:00
好人
作者:
Sirctal (母豬母豬 夜裡哭哭)
2020-10-18 20:10:00程式碼很重(拖走)
作者:
skizard ( )
2020-10-18 20:26:00佛心...
作者:
pttano (pttano)
2020-10-18 20:30:00明明初級都考bubble sort
也只是 AOSP coding style 才喜歡那個 m非 AOSP 看到那個 prefix m 我一定先扣十分
作者:
eastwarm (ekari)
2020-10-18 22:16:00推好心.....可惜你好久沒玩kof 了
作者:
Chen334 (古先生)
2020-10-18 23:02:00質量
作者: asdg62558 (吐司皮克) 2020-10-18 23:24:00
推 好人
作者:
Eric0605 (我還有點餓)
2020-10-18 23:36:00佛心
作者:
derekjj (忘記帳號的男子)
2020-10-18 23:55:00推,好清楚阿
作者: ftrhalcyon (futurehalcyon) 2020-10-19 00:12:00
推好心
作者:
qwe70302 (為何一到90分就會輸)
2020-10-19 01:34:00作者:
iq1000x (台串彭于晏)
2020-10-19 07:55:00那個m為什麼加10分
作者: ckscks038038 (yang) 2020-10-19 08:06:00
推認真...
作者: SKII588 2020-10-19 08:44:00
你是個好心人
作者:
jixian (litMager)
2020-10-19 09:46:00code的重量單位是啥
作者:
NCUking (中大王)
2020-10-19 10:42:00葛萊分多加10分
作者:
NTULioner (LionsHeart)
2020-10-19 10:47:00thread sleep要看使用原因 不是直接大忌
作者:
ShenJing (ShenJing)
2020-10-19 11:31:00推好心,那unit test是真的滿尷尬的XD,也祝原po求職順利
他是說2000是大忌 誰知道2000是什麼magic number
作者:
muscle (練練練)
2020-10-19 13:25:00code很重?
作者:
etc276 (consiapp)
2020-10-19 13:30:00質量
作者:
allenxxx (fufuxxx)
2020-10-19 13:57:002000跟200沒人收,是商家大忌?
不認得預設的unit test然後看見thread sleep就開槍?
作者: nmns0110 (奶油塔) 2020-10-19 15:31:00
祝好心人一生平安
2000就splash畫面停兩秒啊 根本超級常見的寫法有在寫Android的怎麼可能會不知道目的是什麼然後這年頭IDE都飛天了不要再鼓吹匈牙利命名法好嗎我看到亂抄mVariable還不求甚解的絕對是大扣分推你熱心有點基本觀念但是不熟就不要這麼高姿態嘛
我就想知道誰仔細想一下會不知道是停兩秒問題就是不要別人仔細想 看過去就知道啊==你這邊來一點hard code 那邊來一點hard code 都很好懂就是拖慢別人維護的時間而已啊
作者:
evo1994 (Evo)
2020-10-19 18:16:00樓主的意思應該是盡量別用sleep把 thread block住 要的話用至少也用Handler不過匈牙利命名法google已經不推薦了 可能沒辦法加10分~
作者:
ap954212 (death is like the wings)
2020-10-19 19:55:00支那語警察好多
作者:
zmcx16 (zmcx16)
2020-10-19 20:51:00推認真review
作者:
testPtt (測試)
2020-10-19 20:54:00我4認為區域變數而已簡寫不影響啦
作者:
NTULioner (LionsHeart)
2020-10-19 20:59:00s大 怎麼可能重點在2000這個數字xd連想都不用想 看到就知道睡2秒只是為什麼要睡這件事要知道原因才做
作者:
testPtt (測試)
2020-10-19 21:13:00我以前看人家硬體沒設計好只好靠sleep來解決
問一下 現在的 IDE 都會把成員變數用顏色標起來那有還必要用 mVariable 之類的 naming 嗎...?
作者:
netburst (133 134 592)
2020-10-19 22:29:00就停兩秒有啥好想的
作者:
stosto (樹多)
2020-10-19 22:32:00以前code效率太好我也是先睡個幾秒,過個幾個月在減個一秒
作者:
netburst (133 134 592)
2020-10-19 22:34:00calendar這個在kotlin力推的scope function連命名都不不用了還在c 啥
作者:
wulouise (在線上!=在電腦前)
2020-10-20 00:57:00ide可以review code的話就沒差,不然m還是方便
作者:
nanjolno (nanjolno)
2020-10-20 07:29:00質量
作者: Brinoh 2020-10-20 11:43:00
推好心人
作者:
iq1000x (台串彭于晏)
2020-10-20 13:30:00所以那個m+10分真的是因為用匈牙利就加分喔…我還一直在想原因 因為我以為10年前就已經不建議匈牙利法了
fantasychese嗆這麼大你知道什麼叫memory leak嗎?這種寫法剛好是Android memory leak的基本題型有sense的都知道要用其他方式實作delay 2秒的功能
作者:
hiarpu (up)
2020-10-20 16:41:00推
作者: zaa0210 (ZAA) 2020-10-20 16:56:00
有寫名字才有分
作者:
milk6449 (Charles)
2020-10-20 17:38:00真的好感謝樓上的大大們,但今天要回營區了,假日有時間我會好好的看完,感謝幫我review
作者: Qaucat 2020-10-20 17:42:00
推
作者:
milk6449 (Charles)
2020-10-20 17:55:00會用2000其實只是想讓我的app有開機畫面而已(好像沒其他作用)030
作者:
tsl3333 (我們都寂寞)
2020-10-20 19:34:00mText對我來說扣分 現在已經不適合了
作者:
Acetoxy (阿斯)
2020-10-21 02:24:00支語警察出沒注意
作者:
hyouun (彩音)
2020-10-21 11:02:00匈牙利法絕對扣分,超難閱讀
作者: diamondsyo 2020-10-22 00:10:00
大大人真好
大家噓的是對岸用語還是一定要寫quality或品質?
作者:
Ekmund (是一隻小叔)
2020-10-22 14:18:00我也想問質量到底指什麼?就算是用品質或是quality要怎樣才能說code "品質很好"?頂多是面對一些架構方式或演算法 聽過有人形容elegant但質量這個真的無法理解意義
作者: a55028294 (崔哥) 2020-10-24 20:32:00
認真推
作者:
netburst (133 134 592)
2020-10-26 00:57:00這裡會leak的機率? 用post也一樣有leak機率 根本無聊
無聊?這邊應用也就剛好很單純,如果用在更複雜的情況像是更新UI元件,就看一堆87用if判斷activity.isFinish沒判斷就可能會閃退,後人要解這些問題我才覺得無聊如果你是資深工程師的話,說這種話我覺得滿失水準的就算用Handler也是可以避免leak,別說的好像是Handler有缺陷一樣
作者:
netburst (133 134 592)
2020-10-26 23:46:00事實上就是有缺陷 不然哪那麼多文章在寫這些所以我說這裡單純應用會LEAK的機率? 無聊
作者: streakray (條紋衣boy) 2020-10-27 10:13:00
推