※ 引述《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最爱考的面试题"
很多面试官也是这样找题目的