PTT推薦

Re: [討論] 這樣能進入軟體業嗎??

看板Soft_Job標題Re: [討論] 這樣能進入軟體業嗎??作者
tbpfs
( http://pse.is/tbpfs )
時間推噓49 推:60 噓:11 →:50

※ 引述《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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.4.220 (臺灣)
PTT 網址

evo199410/18 18:18測試那個是project建起來預設的 應該不是他寫的

newhandfun10/18 18:24認真有推

snailpon10/18 18:24質量等於密度乘以體積

oioppp10/18 18:31認真推

t1996080410/18 18:37好人給推

jeff4010810/18 18:49安卓是真的比前端門檻高,但薪水就不一定

Csongs10/18 19:04推好心

yupog200310/18 19:35推好心,給的建議都對第一印象影響蠻大的

Handsomeshen10/18 19:50好人

Sirctal10/18 20:10程式碼很重(拖走)

skizard10/18 20:26佛心...

pttano10/18 20:30明明初級都考bubble sort

fantasystar10/18 20:46請問質量是什麼意思?

JasperChang10/18 20:50也只是 AOSP coding style 才喜歡那個 m

JasperChang10/18 20:50非 AOSP 看到那個 prefix m 我一定先扣十分

ukuk66688810/18 22:07推推

eastwarm10/18 22:16推好心.....可惜你好久沒玩kof 了

Chen33410/18 23:02質量

asdg6255810/18 23:24推 好人

Eric060510/18 23:36佛心

chen0988510/18 23:38安卓第一份起薪幾乎有4萬以上,搶飯碗的人少有差

derekjj10/18 23:55推,好清楚阿

ftrhalcyon10/19 00:12推好心

a97136428510/19 00:38質量

a78998042a10/19 00:40

qwe7030210/19 01:34https://i.imgur.com/s0agmfq.jpg

圖 這樣能進入軟體業嗎??

iq1000x10/19 07:55那個m為什麼加10分

ckscks03803810/19 08:06推認真...

cowbaoh10/19 08:20認真回覆 給推

SKII58810/19 08:44你是個好心人

jixian10/19 09:46code的重量單位是啥

B098869808810/19 09:51光看到質量就可以先噓了

GLaDOS110510/19 09:59我以為只有 node_modules 才最有質量

NCUking10/19 10:42葛萊分多加10分

NTULioner10/19 10:47thread sleep要看使用原因 不是直接大忌

ShenJing10/19 11:31推好心,那unit test是真的滿尷尬的XD,也祝原po求職順

ShenJing10/19 11:31

chifatty10/19 12:50這個 code 跑起來會有動能嗎?

sniper282410/19 13:22他是說2000是大忌 誰知道2000是什麼magic number

muscle10/19 13:25code很重?

etc27610/19 13:30質量

allenxxx10/19 13:572000跟200沒人收,是商家大忌?

fantasychese10/19 15:07不認得預設的unit test然後看見thread sleep就開槍?

nmns011010/19 15:31祝好心人一生平安

fantasychese10/19 16:092000就splash畫面停兩秒啊 根本超級常見的寫法

fantasychese10/19 16:10有在寫Android的怎麼可能會不知道目的是什麼

fantasychese10/19 16:16然後這年頭IDE都飛天了不要再鼓吹匈牙利命名法好嗎

fantasychese10/19 16:18我看到亂抄mVariable還不求甚解的絕對是大扣分

fantasychese10/19 16:20推你熱心有點基本觀念但是不熟就不要這麼高姿態嘛

sniper282410/19 16:26我就想知道誰仔細想一下會不知道是停兩秒

sniper282410/19 16:26問題就是不要別人仔細想 看過去就知道啊==

sniper282410/19 16:29你這邊來一點hard code 那邊來一點hard code 都很好懂

sniper282410/19 16:30就是拖慢別人維護的時間而已啊

evo199410/19 18:16樓主的意思應該是盡量別用sleep把 thread block住 要的

evo199410/19 18:16話用至少也用Handler

evo199410/19 18:19不過匈牙利命名法google已經不推薦了 可能沒辦法加10分~

ap95421210/19 19:55支那語警察好多

lukelove10/19 20:15這code有20公斤

zmcx1610/19 20:51推認真review

testPtt10/19 20:54我4認為區域變數而已簡寫不影響啦

NTULioner10/19 20:59s大 怎麼可能重點在2000這個數字xd

NTULioner10/19 20:59連想都不用想 看到就知道睡2秒

NTULioner10/19 20:59只是為什麼要睡這件事要知道原因才做

testPtt10/19 21:13我以前看人家硬體沒設計好只好靠sleep來解決

energyy110410/19 22:04code的質量怎麼算的? 一個變數一公克?

yc001513910/19 22:05問一下 現在的 IDE 都會把成員變數用顏色標起來

yc001513910/19 22:05那有還必要用 mVariable 之類的 naming 嗎...?

netburst10/19 22:29就停兩秒有啥好想的

stosto10/19 22:32以前code效率太好我也是先睡個幾秒,過個幾個月在減個一秒

netburst10/19 22:34calendar這個在kotlin力推的scope function連命名都不

netburst10/19 22:35不用了還在c 啥

wulouise10/20 00:57ide可以review code的話就沒差,不然m還是方便

nanjolno10/20 07:29質量

panbanana10/20 10:43code 是很重嗎

Brinoh10/20 11:43推好心人

stfang92510/20 12:13佛心

gilingking10/20 12:14好人推推

iq1000x10/20 13:30所以那個m+10分真的是因為用匈牙利就加分喔…

iq1000x10/20 13:30我還一直在想原因 因為我以為10年前就已經不建議匈牙利法

iq1000x10/20 13:31

aids6151710/20 14:35fantasychese嗆這麼大你知道什麼叫memory leak嗎?

aids6151710/20 14:36這種寫法剛好是Android memory leak的基本題型

aids6151710/20 14:37有sense的都知道要用其他方式實作delay 2秒的功能

j095832208010/20 15:02好多支語警察

del68020210/20 15:30支語警察還在混啊

hiarpu10/20 16:41

zaa021010/20 16:56有寫名字才有分

milk644910/20 17:38真的好感謝樓上的大大們,但今天要回營區了,假日有時

milk644910/20 17:38間我會好好的看完,感謝幫我review

Qaucat10/20 17:42

milk644910/20 17:55會用2000

milk644910/20 17:55其實只是想讓我的app有開機畫面而已(好像沒其他作用)

milk644910/20 17:55030

tsl333310/20 19:34mText對我來說扣分 現在已經不適合了

Acetoxy10/21 02:24支語警察出沒注意

remember31810/21 02:38這篇教學的質量被「質量」二字給毀了

hyouun10/21 11:02匈牙利法絕對扣分,超難閱讀

diamondsyo10/22 00:10大大人真好

jerry77121010/22 00:56大家噓的是對岸用語還是一定要寫quality或品質?

shooter55510/22 10:27為什麼sleep兩秒會造成memleak?

Ekmund10/22 14:18我也想問質量到底指什麼?就算是用品質或是quality

Ekmund10/22 14:18要怎樣才能說code "品質很好"?

Ekmund10/22 14:19頂多是面對一些架構方式或演算法 聽過有人形容elegant

Ekmund10/22 14:20但質量這個真的無法理解意義

aids6151710/22 14:28shooter555 https://www.itread01.com/p/827251.html

aids6151710/22 14:28裡面的1.3 1.4 1.5 1.6都在講同樣的事

aacj264210/22 23:09太好了吧!

a5502829410/24 20:32認真推

samdynasty10/25 23:48認真推,但匈牙利對我來說真的是扣分

netburst10/26 00:57這裡會leak的機率? 用post也一樣有leak機率 根本無聊

aids6151710/26 13:14無聊?這邊應用也就剛好很單純,如果用在更複雜的情況

aids6151710/26 13:15像是更新UI元件,就看一堆87用if判斷activity.isFinish

aids6151710/26 13:17沒判斷就可能會閃退,後人要解這些問題我才覺得無聊

aids6151710/26 13:17如果你是資深工程師的話,說這種話我覺得滿失水準的

aids6151710/26 13:30就算用Handler也是可以避免leak,別說的好像是Handler

aids6151710/26 13:30有缺陷一樣

imjeffreylee10/26 13:37好人

netburst10/26 23:46事實上就是有缺陷 不然哪那麼多文章在寫這些

netburst10/26 23:47所以我說這裡單純應用會LEAK的機率? 無聊

streakray10/27 10:13

ruthertw03/21 15:40 自吹自己影片,你不害臊?滿嘴自以為幽默,有夠噁心!