作者tbpfs ( http://pse.is/tbpfs )
看板Soft_Job
標題Re: [討論] 這樣能進入軟體業嗎??
時間Sun Oct 18 18:09:44 2020
※ 引述《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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1603015788.A.8B6.html
1F:→ evo1994: 測試那個是project建起來預設的 應該不是他寫的 10/18 18:18
2F:推 newhandfun: 認真有推 10/18 18:24
3F:推 snailpon: 質量等於密度乘以體積 10/18 18:24
4F:推 oioppp: 認真推 10/18 18:31
5F:推 t19960804: 好人給推 10/18 18:37
6F:推 jeff40108: 安卓是真的比前端門檻高,但薪水就不一定 10/18 18:49
7F:推 Csongs: 推好心 10/18 19:04
8F:推 yupog2003: 推好心,給的建議都對第一印象影響蠻大的 10/18 19:35
9F:推 Handsomeshen: 好人 10/18 19:50
10F:推 Sirctal: 程式碼很重(拖走) 10/18 20:10
11F:推 skizard: 佛心... 10/18 20:26
12F:噓 pttano: 明明初級都考bubble sort 10/18 20:30
13F:→ fantasystar: 請問質量是什麼意思? 10/18 20:46
14F:→ JasperChang: 也只是 AOSP coding style 才喜歡那個 m 10/18 20:50
15F:→ JasperChang: 非 AOSP 看到那個 prefix m 我一定先扣十分 10/18 20:50
16F:推 ukuk666888: 推推 10/18 22:07
17F:推 eastwarm: 推好心.....可惜你好久沒玩kof 了 10/18 22:16
18F:推 Chen334: 質量 10/18 23:02
19F:推 asdg62558: 推 好人 10/18 23:24
20F:推 Eric0605: 佛心 10/18 23:36
21F:推 chen09885: 安卓第一份起薪幾乎有4萬以上,搶飯碗的人少有差 10/18 23:38
22F:推 derekjj: 推,好清楚阿 10/18 23:55
23F:推 ftrhalcyon: 推好心 10/19 00:12
24F:噓 a971364285: 質量 10/19 00:38
25F:推 a78998042a: 推 10/19 00:40
27F:推 iq1000x: 那個m為什麼加10分 10/19 07:55
28F:推 ckscks038038: 推認真... 10/19 08:06
29F:推 cowbaoh: 認真回覆 給推 10/19 08:20
30F:推 SKII588: 你是個好心人 10/19 08:44
31F:噓 jixian: code的重量單位是啥 10/19 09:46
32F:噓 B0988698088: 光看到質量就可以先噓了 10/19 09:51
33F:噓 GLaDOS1105: 我以為只有 node_modules 才最有質量 10/19 09:59
34F:推 NCUking: 葛萊分多加10分 10/19 10:42
35F:→ NTULioner: thread sleep要看使用原因 不是直接大忌 10/19 10:47
36F:推 ShenJing: 推好心,那unit test是真的滿尷尬的XD,也祝原po求職順 10/19 11:31
37F:→ ShenJing: 利 10/19 11:31
38F:→ chifatty: 這個 code 跑起來會有動能嗎? 10/19 12:50
39F:推 sniper2824: 他是說2000是大忌 誰知道2000是什麼magic number 10/19 13:22
40F:噓 muscle: code很重? 10/19 13:25
41F:噓 etc276: 質量 10/19 13:30
42F:→ allenxxx: 2000跟200沒人收,是商家大忌? 10/19 13:57
43F:→ fantasychese: 不認得預設的unit test然後看見thread sleep就開槍? 10/19 15:07
44F:推 nmns0110: 祝好心人一生平安 10/19 15:31
45F:→ fantasychese: 2000就splash畫面停兩秒啊 根本超級常見的寫法 10/19 16:09
46F:→ fantasychese: 有在寫Android的怎麼可能會不知道目的是什麼 10/19 16:10
47F:→ fantasychese: 然後這年頭IDE都飛天了不要再鼓吹匈牙利命名法好嗎 10/19 16:16
48F:→ fantasychese: 我看到亂抄mVariable還不求甚解的絕對是大扣分 10/19 16:18
49F:→ fantasychese: 推你熱心有點基本觀念但是不熟就不要這麼高姿態嘛 10/19 16:20
50F:推 sniper2824: 我就想知道誰仔細想一下會不知道是停兩秒 10/19 16:26
51F:→ sniper2824: 問題就是不要別人仔細想 看過去就知道啊== 10/19 16:26
52F:推 sniper2824: 你這邊來一點hard code 那邊來一點hard code 都很好懂 10/19 16:29
53F:→ sniper2824: 就是拖慢別人維護的時間而已啊 10/19 16:30
54F:→ evo1994: 樓主的意思應該是盡量別用sleep把 thread block住 要的 10/19 18:16
55F:→ evo1994: 話用至少也用Handler 10/19 18:16
56F:→ evo1994: 不過匈牙利命名法google已經不推薦了 可能沒辦法加10分~ 10/19 18:19
57F:推 ap954212: 支那語警察好多 10/19 19:55
58F:推 lukelove: 這code有20公斤 10/19 20:15
59F:推 zmcx16: 推認真review 10/19 20:51
60F:→ testPtt: 我4認為區域變數而已簡寫不影響啦 10/19 20:54
61F:→ NTULioner: s大 怎麼可能重點在2000這個數字xd 10/19 20:59
62F:→ NTULioner: 連想都不用想 看到就知道睡2秒 10/19 20:59
63F:→ NTULioner: 只是為什麼要睡這件事要知道原因才做 10/19 20:59
64F:→ testPtt: 我以前看人家硬體沒設計好只好靠sleep來解決 10/19 21:13
65F:噓 energyy1104: code的質量怎麼算的? 一個變數一公克? 10/19 22:04
66F:推 yc0015139: 問一下 現在的 IDE 都會把成員變數用顏色標起來 10/19 22:05
67F:→ yc0015139: 那有還必要用 mVariable 之類的 naming 嗎...? 10/19 22:05
68F:→ netburst: 就停兩秒有啥好想的 10/19 22:29
69F:推 stosto: 以前code效率太好我也是先睡個幾秒,過個幾個月在減個一秒 10/19 22:32
70F:→ netburst: calendar這個在kotlin力推的scope function連命名都不 10/19 22:34
71F:→ netburst: 不用了還在c 啥 10/19 22:35
72F:推 wulouise: ide可以review code的話就沒差,不然m還是方便 10/20 00:57
73F:噓 nanjolno: 質量 10/20 07:29
74F:推 panbanana: code 是很重嗎 10/20 10:43
75F:推 Brinoh: 推好心人 10/20 11:43
76F:推 stfang925: 佛心 10/20 12:13
77F:推 gilingking: 好人推推 10/20 12:14
78F:推 iq1000x: 所以那個m+10分真的是因為用匈牙利就加分喔… 10/20 13:30
79F:→ iq1000x: 我還一直在想原因 因為我以為10年前就已經不建議匈牙利法 10/20 13:30
80F:→ iq1000x: 了 10/20 13:31
81F:推 aids61517: fantasychese嗆這麼大你知道什麼叫memory leak嗎? 10/20 14:35
82F:→ aids61517: 這種寫法剛好是Android memory leak的基本題型 10/20 14:36
83F:→ aids61517: 有sense的都知道要用其他方式實作delay 2秒的功能 10/20 14:37
84F:推 j0958322080: 好多支語警察 10/20 15:02
85F:推 del680202: 支語警察還在混啊 10/20 15:30
86F:推 hiarpu: 推 10/20 16:41
87F:→ zaa0210: 有寫名字才有分 10/20 16:56
88F:推 milk6449: 真的好感謝樓上的大大們,但今天要回營區了,假日有時 10/20 17:38
89F:→ milk6449: 間我會好好的看完,感謝幫我review 10/20 17:38
90F:推 Qaucat: 推 10/20 17:42
91F:推 milk6449: 會用2000 10/20 17:55
92F:→ milk6449: 其實只是想讓我的app有開機畫面而已(好像沒其他作用) 10/20 17:55
93F:→ milk6449: 030 10/20 17:55
94F:推 tsl3333: mText對我來說扣分 現在已經不適合了 10/20 19:34
95F:推 Acetoxy: 支語警察出沒注意 10/21 02:24
96F:噓 remember318: 這篇教學的質量被「質量」二字給毀了 10/21 02:38
97F:推 hyouun: 匈牙利法絕對扣分,超難閱讀 10/21 11:02
98F:推 diamondsyo: 大大人真好 10/22 00:10
99F:推 jerry771210: 大家噓的是對岸用語還是一定要寫quality或品質? 10/22 00:56
100F:→ shooter555: 為什麼sleep兩秒會造成memleak? 10/22 10:27
101F:→ Ekmund: 我也想問質量到底指什麼?就算是用品質或是quality 10/22 14:18
102F:→ Ekmund: 要怎樣才能說code "品質很好"? 10/22 14:18
103F:→ Ekmund: 頂多是面對一些架構方式或演算法 聽過有人形容elegant 10/22 14:19
104F:→ Ekmund: 但質量這個真的無法理解意義 10/22 14:20
106F:→ aids61517: 裡面的1.3 1.4 1.5 1.6都在講同樣的事 10/22 14:28
107F:推 aacj2642: 太好了吧! 10/22 23:09
108F:推 a55028294: 認真推 10/24 20:32
109F:推 samdynasty: 認真推,但匈牙利對我來說真的是扣分 10/25 23:48
110F:推 netburst: 這裡會leak的機率? 用post也一樣有leak機率 根本無聊 10/26 00:57
111F:→ aids61517: 無聊?這邊應用也就剛好很單純,如果用在更複雜的情況 10/26 13:14
112F:→ aids61517: 像是更新UI元件,就看一堆87用if判斷activity.isFinish 10/26 13:15
113F:→ aids61517: 沒判斷就可能會閃退,後人要解這些問題我才覺得無聊 10/26 13:17
114F:→ aids61517: 如果你是資深工程師的話,說這種話我覺得滿失水準的 10/26 13:17
115F:→ aids61517: 就算用Handler也是可以避免leak,別說的好像是Handler 10/26 13:30
116F:→ aids61517: 有缺陷一樣 10/26 13:30
117F:推 imjeffreylee: 好人 10/26 13:37
118F:→ netburst: 事實上就是有缺陷 不然哪那麼多文章在寫這些 10/26 23:46
119F:→ netburst: 所以我說這裡單純應用會LEAK的機率? 無聊 10/26 23:47
120F:推 streakray: 推 10/27 10:13
121F:噓 ruthertw: 自吹自己影片,你不害臊?滿嘴自以為幽默,有夠噁心! 03/21 15:40