※ 引述《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最愛考的面試題"
很多面試官也是這樣找題目的