楼主:
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
推