Board logo

标题: 终于知道为什么国内Android应用那么烂了。。。 [打印本页]

作者: I'Mbug    时间: 2013-10-21 18:57     标题: 终于知道为什么国内Android应用那么烂了。。。

今天去一家还算比较大型的公司面试高级Android工程师, 面试也整的很正规, 听说好多外地的都过来面试。
面试的过程中让我做了一些简单的介绍, 然后一个资深技术人员开始问我问题:
1. 请问你熟悉哪些设计模式?
2. 请介绍下多线程, 多线程开发要注意些什么?
3. 问了一些数据结构的问题.
4. 请介绍下MVC.
5. 面向对象的一些设计原则你知道吗? 请介绍下
6. 期间问了些蓝牙方面的东西

然后, 然后就没了...
我没做过J2EE, 他问的问题我基本也能答上来, 但问题是, 你这是在招聘Android程序员吗?
作者: jia    时间: 2013-10-21 19:05

非码农听不懂你在说什么。
作者: Crusher    时间: 2013-10-21 19:07

posted by wap, platform: iPhone

SE就这要求?

普通马龙水准吧

不过java系的马龙太多了,良莠不齐
作者: I'Mbug    时间: 2013-10-21 19:11

引用:
原帖由 Crusher 于 2013-10-21 19:07 发表
posted by wap, platform: iPhone

SE就这要求?

普通马龙水准吧

不过java系的马龙太多了,良莠不齐
大哥, 你做Android开发, 需要知道那么多什么JVM原理、JIT、smali汇编、Arm汇编之类的知识吗?
问OpenGL、Matrix矩阵、UI绘制原理、Surface、NDK之类的有效用多了吧? Java貌似只是一种开发语言吧
作者: nintenyun    时间: 2013-10-21 19:13

posted by wap, platform: iPad

基础知识。问问也正常
作者: I'Mbug    时间: 2013-10-21 19:16

引用:
原帖由 nintenyun 于 2013-10-21 19:13 发表
posted by wap, platform: iPad

基础知识。问问也正常
问题是, 人家几乎一个Android的问题都没问, 包括Android中最重要的UI部分。
Android中的一个难点, 就是设计师给出一种 UI交互效果, 你当场给出 代码的详细解决方案。
作者: Eclipses    时间: 2013-10-21 19:17

posted by wap, platform: 华为

人家看重是是基本功吧,我们面试网络程序员也不会问人家懂不懂ssh
作者: I'Mbug    时间: 2013-10-21 19:18

举个最简单的, android中的上拉刷新效果(这是最常用的), 你让应聘者当场写代码, 我觉得几乎没几个能写出来
作者: I'Mbug    时间: 2013-10-21 19:20

引用:
原帖由 Eclipses 于 2013-10-21 19:17 发表
posted by wap, platform: 华为

人家看重是是基本功吧,我们面试网络程序员也不会问人家懂不懂ssh
那我很想知道, 为什么按照所谓要面试程序员的基本功的方式来面试, 为什么我们的那些所谓大公司做出来的android程序还是那么的糟糕? 简直可以用一坨屎来形容?
无论是UI(大多是抄袭), 还是性能体验
作者: I'Mbug    时间: 2013-10-21 19:22

市面上很多所谓大公司的一些Android产品, 无不是在国外的一些UI框架下进行改进, 就说网易新闻客户端, 从软件体验的角度来看, 简直可以用毫无新意来形容。

而且, 我很想知道, 做这么一个客户端(网易新闻), 难道真的需要那么扎实的所谓基本功么?
作者: Crusher    时间: 2013-10-21 19:25

posted by wap, platform: iPhone

如果招普通马龙 随便理工科大学毕业培训三个月都能上岗
既然说是SE,那要求就不同的,

看公司类型,你说的这些,现在已经抽象的很好了,完全不需要你理解,只要会用就行,
线程的使用倒是更影响最终使用,java你不知道jvm原理怎么能写出最高效的代码?都只能依样画葫芦

设计模式,现在的情况是java类大部分公司都是模式滥用,而不是不用

另外,越是不起眼的技能越难招,下半年计划招一位nodejs专项的SE,javascrip
t简单吧,25k,但现在还没到位,愁死我了
作者: mting    时间: 2013-10-21 19:27

这个是有可能的
大公司需要的是综合素质
不会临时去找一个解决问题的能手那样的
救火式的小公司 才会问很细节的技术问题
作者: I'Mbug    时间: 2013-10-21 19:29

请回答9#以及10#的问题
作者: I'Mbug    时间: 2013-10-21 19:30

为什么你们按照高综合素质的模式来招聘Android程序员, 为什么做出来的Android程序还是那么的糟糕, 尤其UI部分, 简直可以说毫无创新只会抄袭 来形容
作者: I'Mbug    时间: 2013-10-21 19:34

我有时候想知道一点, 一个没有创新精神的程序员, 是一个好的程序员吗?
所谓的知识, 充其量只是智慧的尸体而已, 你学那么多知识, 但你脑袋瓜里却无法从无到有的创造出新的有生命力的事物, 那你到这个世界上来干嘛?
作者: Crusher    时间: 2013-10-21 19:34

posted by wap, platform: iPhone

再喷一下吧

其实呢,
码农相轻,这个定律是很难改变的,
我敢说,几乎所有马龙都很讨厌读自己同事的代码,也特别觉得其他团队的东西一坨屎,甚至觉得自己团队的东西也是一泡污

但是呢,出活才是硬道理,盈利才是软实力!
作者: skcfan    时间: 2013-10-21 19:37

posted by wap, platform: iPhone

猴机国外也没几个特别好的应用吧
作者: I'Mbug    时间: 2013-10-21 19:38

我只是就实际情况说, 我不认为Android应用开发真的需要那么多虚无缥缈的基础知识
作者: 摇曳的狗尾巴草    时间: 2013-10-21 19:48

我不是码农,但我知道,无论哪一行能干的很好的,没有扎实的基础几乎是不可能的,当然不排除个别天才式人物
作者: I'Mbug    时间: 2013-10-21 19:50

引用:
原帖由 摇曳的狗尾巴草 于 2013-10-21 19:48 发表
我不是码农,但我知道,无论哪一行能干的很好的,没有扎实的基础几乎是不可能的,当然不排除个别天才式人物
Android可能恰恰是反例, 我不信那群年老色衰学富五车的老程序员能写出优秀有创意的Android应用
作者: arex    时间: 2013-10-21 19:50

估计是觉得这些基础的东西你都会了,剩下的就靠抄即可...
作者: BeastMa    时间: 2013-10-21 19:51

引用:
原帖由 I'Mbug 于 2013-10-21 19:16 发表


问题是, 人家几乎一个Android的问题都没问, 包括Android中最重要的UI部分。
Android中的一个难点, 就是设计师给出一种 UI交互效果, 你当场给出 代码的详细解决方案。
ui交互效果?
不就是ui设计师设计了个交互方式屁颠屁颠呈给程序大大过目程序大大斜眼一撇轻描淡写说一句实现不了然后ui设计灰溜溜的回去改成简单粗暴的直接弹出么?
作者: I'Mbug    时间: 2013-10-21 19:57

可以这么理解我这个帖子的思想。
比如我们做一个Android应用, 可能由几方面组成:
1. 编程基本功
2. Android框架体系熟悉的程度
3. 创新、创意等

影响一个Android应用质量的大概就由这三部分组成, 但是这些因素并非线性影响Android应用的质量的。
比如基本功方面你达到80分(大多数人经过努力都能达到), 就达到一个(对Android应用质量影响)的瓶颈, 那么这时候如果你编程基本功即使达到100分, 可能最终对这个Android应用质量的提升也会几乎忽略不计。

Android框架体系的了解程度同理, 可能瓶颈阀值更高一点, 对框架(FrameWork层)了解的比较深入的, 对Android SDK特点了解的比如深入详实的话, 对Android应用质量的帮助也会比较大, 那么我假定他的瓶颈阀值为85分。
但实际上, 我们实际面试过程中, 几乎都是只以60分的测试水平来面试Android面试者。

创新创意(创造性思维、逆向思维等)的重要性那就更大了, 我可以认为, 创造性思维对Android应用质量的帮助呈线性关系。
但我们实际面试过程中, 几乎不会涉及到这方面, 实际原因是, 可能面试官本身就不具备这方面的素质

[ 本帖最后由 I'Mbug 于 2013-10-21 20:10 编辑 ]
作者: I'Mbug    时间: 2013-10-21 19:58

引用:
原帖由 BeastMa 于 2013-10-21 19:51 发表

ui交互效果?
不就是ui设计师设计了个交互方式屁颠屁颠呈给程序大大过目程序大大斜眼一撇轻描淡写说一句实现不了然后ui设计灰溜溜的回去改成简单粗暴的直接弹出么?
那说到底还是 程序员素质 不过关造成的。
详情请见23#
作者: Crusher    时间: 2013-10-21 20:12

posted by wap, platform: iPhone

创意这东西不好量化,没实现出来的创意没意义,即使实现出来了没经过市场检验也没意义,是骡子是马拉出去遛遛,这些面试都得不到答案的,何必浪费大家的时间

以前开会老是再折腾这个话题,我腻死了

现在的做法是
如果你有很棒的想法,你觉得你能实现出来那就做出来让UE试试看,效果好就接着做AB Test,如果你觉得你独立完成不了,那你可以尽你所能说服同事甚至其他人帮你搞定,然后过UE和AB,

最终结果主要看AB数据,数据表明你的创意可行,那会选用,并且有奖励

如果不可行那就继续努力吧
作者: godzillaqqq    时间: 2013-10-21 20:19

但是呢,出活才是硬道理,盈利才是软实力!

说得好,这帖结了,LZ应该是企鹅肯定大有发展,抄软件出活快盈利够实力

这就是国产APP为什么烂的原因了
作者: mting    时间: 2013-10-21 20:20

lz你的思维还停留在技术就是一切都层面
有个最简单问题你要反思一下
你那么牛x 为什么到现在还在被一群完全不懂技术的人面试叻
你完全可以试试把你的技术优点都表达出来做一份简历 直接在linkedin 或者google的网页投一下
看看人家的反馈
作者: I'Mbug    时间: 2013-10-21 20:21

引用:
原帖由 Crusher 于 2013-10-21 20:12 发表
posted by wap, platform: iPhone

创意这东西不好量化,没实现出来的创意没意义,即使实现出来了没经过市场检验也没意义,是骡子是马拉出去遛遛,这些面试都得不到答案的,何必浪费大家的时间

以前开会老是再折腾 ...
能快速实现交互设计师给出的 交互效果, 那本身就是创意、创新性思维的一种表现
作者: I'Mbug    时间: 2013-10-21 20:22

引用:
原帖由 mting 于 2013-10-21 20:20 发表
lz你的思维还停留在技术就是一切都层面
有个最简单问题你要反思一下
你那么牛x 为什么到现在还在被一群完全不懂技术的人面试叻
你完全可以试试把你的技术优点都表达出来做一份简历 直接在linkedin 或者google的网 ...
你从哪里看出 "我的思维停留在技术就是一切", 还有你哪里看出 我认为面试我的人不懂技术?
我觉得你都说反了...
作者: I'Mbug    时间: 2013-10-21 20:24

对于我这种生活中走投无路才去半路出家搞程序的人来说, 自然是希望 技术层面的依赖越低越好, 基本功要求越低越好。
当然, 我这种企盼和Android应用开发实际对开发人员的素质要求(见23#)并不相矛盾
作者: zhang777    时间: 2013-10-21 20:31

posted by wap, platform: Chrome

原因很简单,有两个可能:

1.面试官不会android,只会java
2.楼主以前的经历全是java web方面的,所以人家就当java web招进来,然后培养成android研发
作者: jeffcai    时间: 2013-10-21 20:36

posted by wap, platform: HTC (Butterfly J)

中国码农多,当然挑基本功扎实的
作者: mting    时间: 2013-10-21 20:36

引用:
原帖由 I'Mbug 于 2013-10-21 20:22 发表


你从哪里看出 "我的思维停留在技术就是一切", 还有你哪里看出 我认为面试我的人不懂技术?
我觉得你都说反了...
通篇你都在展示你对android的深刻理解
标题和你的开篇表达的就是现在国内android行业技术不到位,面试android程序员不问具体的anfroid思路
所以我感觉你要说的就是国内android行业技术不行,所以app很烂
但是如果两个人,一个人对某些技术理解的非常深刻,另外一个人全面一些,每种都会但是不是那么精。大部分公司会选后面一个。
作者: darkgame    时间: 2013-10-21 20:43

引用:
原帖由 BeastMa 于 2013-10-21 19:51 发表

ui交互效果?
不就是ui设计师设计了个交互方式屁颠屁颠呈给程序大大过目程序大大斜眼一撇轻描淡写说一句实现不了然后ui设计灰溜溜的回去改成简单粗暴的直接弹出么?
程序没有实现不了的东西, 只有时间够不够的问题
作者: cf3b5    时间: 2013-10-21 20:59

引用:
原帖由 I'Mbug 于 2013-10-21 19:11 发表


大哥, 你做Android开发, 需要知道那么多什么JVM原理、JIT、smali汇编、Arm汇编之类的知识吗?
问OpenGL、Matrix矩阵、UI绘制原理、Surface、NDK之类的有效用多了吧? Java貌似只是一种开发语言吧
其实嘛,这些知识大多都是知道和不知道的区别,但是人家问的问题基本上都是懂和不懂的区别!
在我个人经验来说,我会把码农的知识分成两种。
一种是知道和不知道的知识,另外一种是懂和不懂的知识。
知道和不知道的知识,只要需要用,现学现用其实花不了多长时间
但是懂和不懂的知识,就不是那么简单的事情了,需要大量的时间、经验、甚至是天分才行
不过实话说,国内大多数程序员说白了根本不算真正懂开发
大部分开发的能力基本上只是局限在熟悉某个语言的功能,然后懂的按照这些功能去套相应的需求而已
开发些小功能,小程序其实也够用,但是真开发复杂一点,大型一点的系统,就很容易出问题
而且开发出来的代码从可读性,健壮性,可扩展性等方面都很成问题……
作者: I'Mbug    时间: 2013-10-21 21:10

引用:
原帖由 cf3b5 于 2013-10-21 20:59 发表

其实嘛,这些知识大多都是知道和不知道的区别,但是人家问的问题基本上都是懂和不懂的区别!
在我个人经验来说,我会把码农的知识分成两种。
一种是知道和不知道的知识,另外一种是懂和不懂的知识。
知道和不知 ...
你说的我暂时还没想出反驳的观点
作者: I'Mbug    时间: 2013-10-21 21:17     标题: 回复 35# 的帖子

你既然你也说了, 懂和不懂更重要的因素是 时间 和 经验 以及 天赋!
那么, 对于那些编程时间和经验不是很丰富的人来说, 不懂那些知识是正常的, 根据你的时间和经验之说, 懂才是不正常的。

可以这么理解, 需要'懂'的知识, 由三部分因素组成, 时间、经验和天赋;
对于天赋越高的人, 对于时间和经验的依赖越低, 那么这时候, 对于面试官的考验是, 你如何判断对方是否有天赋 以及 他的天赋值。

对于智慧、灵性和天赋, 我更倾向于这一点, 只有天才才能发现天才, 一个灵性远高于面试官的面试者, 是无法被面试官充分感知的, 因为智慧等级不在一个层级上。
作者: I'Mbug    时间: 2013-10-21 21:26

抱歉, 我没把握住35#观点的核心,
我想请问35#, 请举出几个 "懂和不懂" 的知识;
然后我们大家可以探讨下 ,这些知识是否是属于 懂和不懂 的知识的范畴
作者: applepc    时间: 2013-10-21 21:28

一般正规公司职位,高级这个词不是修饰android,而是工程师,人家首先是在面一个高级工程师,然后才是android,精通android的人不一定就能成为高级工程师,还需要资历和底蕴
作者: I'Mbug    时间: 2013-10-21 21:32

引用:
原帖由 applepc 于 2013-10-21 21:28 发表
一般正规公司职位,高级这个词不是修饰android,而是工程师,人家首先是在面一个高级工程师,然后才是android,精通android的人不一定就能成为高级工程师,还需要资历和底蕴
国外那些大多在18、9岁或者早早大学退学就 成功完成创业 的人的底蕴在什么地方?资历在什么地方?
作者: I'Mbug    时间: 2013-10-21 21:34

只要是能通过时间和经验的积累能获取的东西, 我就认为绝不是什么珍贵稀罕的事物。
相反, 更多的都是因为时间的流逝和经验的积累而失去了一些最珍贵的东西
作者: godzillaqqq    时间: 2013-10-21 21:46

引用:
原帖由 I'Mbug 于 2013-10-21 21:32 发表

国外那些大多在18、9岁或者早早大学退学就 成功完成创业 的人的底蕴在什么地方?资历在什么地方?
人家三岁就接触电脑了,你三岁FC都没摸过吧。  乔不死18创业苹果,有自己的车库,你现在多大了还在为挤进60平米奋斗,成长环境不同,不要太过钻牛尖了
作者: Crusher    时间: 2013-10-21 21:54

posted by wap, platform: Chrome

码农这个职业其实挺单纯的,
楼主你一直强调创新创意的重要性,其实对大团队来说,招适合团队的成员远比招一个很有创新意识的人风险系数更低,
因为一个团队不需要太多有创新思路的成员,而更需要一个基础扎实,技能全面,来之能战的人
并不是说创新不重要,而是创新是需要付出成本的,
而对于大部分码农来说,成本不是首要考虑的因素,这就有矛盾了
如果一个团队成天纠结于创新,那几乎是出不了成果的,没有成果就没有钱景,没有钱景要么干点有钱景的事情,要么老板就要撤了,大家只好散伙
现在国内IT业界,哪些东西有钱景呢?! 几乎来说来,基本上都不是一定要求团队都是顶尖码农,而是看谁的营销和市场玩的好
这个其实国外也差不多,最大的区别是国外的码农生存压力没有那么大,他们喜欢玩创新是因为他们玩得起而且不求回报,所以很多开源项目做的很棒
就举身边的例子吧,我这小单位,创业型的,效益还行,码农差不多30来人,普通家庭的大部分,三十岁之前的年轻人房贷车贷等等压力山大,
超过三十岁生活稳定了,绝大部分也不想太折腾,这就是矛盾

可以考虑自主创业,创业失败几次以后或许对这个行业会有更深刻的理解吧
作者: migiry    时间: 2013-10-21 22:00

posted by wap, platform: iPhone

android和ios不是一样的么
对程序员有什么特殊要求?
作者: behire    时间: 2013-10-21 22:16

除了蓝牙那个没什么把握,我居然全都懂
作者: I'Mbug    时间: 2013-10-21 22:19     标题: 回复 42# 的帖子

理解了                      .
作者: ssynhtn    时间: 2013-10-21 23:15

为什么我觉得这些面试题都还可以呢。。。就是感觉问得太笼统了,比较难以回答
作者: ffcactus    时间: 2013-10-21 23:30

posted by wap, platform: iPhone

怎么每次都是这些屁问题…
作者: lightlife    时间: 2013-10-22 00:40

楼主面试过程持续了多久?后来有收到offer么?
这个职位给的薪资范畴是多少?
作者: kalarrd    时间: 2013-10-22 01:31

posted by wap, platform: iPhone

挣卖白菜的钱操卖白粉的心
作者: trashman    时间: 2013-10-22 06:41

能Bug少就行,UI交互那些,抄不就行了。
作者: fmeric    时间: 2013-10-22 08:38

posted by wap, platform: Galaxy Nexus

喷了,技术面试的目的从来就不是要招天才,而是要降低风险,招个能用的人

另外,要通过大把时间才能积累到的知识,技能,才是最宝贵的
作者: u571    时间: 2013-10-22 09:01

引用:
原帖由 I'Mbug 于 2013-10-21 19:22 发表
市面上很多所谓大公司的一些Android产品, 无不是在国外的一些UI框架下进行改进, 就说网易新闻客户端, 从软件体验的角度来看, 简直可以用毫无新意来形容。

而且, 我很想知道, 做这么一个客户端(网易新闻), 难道真的 ...
网易做的东西UI还行吧,不管是不是抄袭但就从客户体验度而言还是不错的,而且我个人不认为所谓UI创新带来的体验度提升能跟性能、功能和内容重要性画上等号。

如Bilibili界面不也就那样吗,但是作为一个交互式弹幕APP秒杀任何IOS同类型软件
作者: powerpc    时间: 2013-10-22 16:49

1、楼主所谓的创意根本就无法量化。无法满足短时间水平评估的需要。
2、人家只是找一普通码农,考察一下编程基本功底就可以了。你去找一搬砖民工,当然是考察他的搬砖速度,而不是去看他的搬砖姿势是否优雅。寻找天才当然也有一系列方法,问题是你现在面试的职位显然不是为天才而设。

[ 本帖最后由 powerpc 于 2013-10-22 17:05 编辑 ]
作者: 总是注册不成功    时间: 2013-10-22 17:05

10年前的我和楼主想法一样,现在想对十年前的我说,too young, too simple, sometimes naive。
那些问题不管android还是windows还是其他任意xxxx平台/语言码农需要掌握的知识,不会java没关系,不会android也没关系,基础好很快(不出一个月)就能胜任一般工作,至于搞个什么下拉刷新UI效果,原理了解了,用的时候上网搜搜就行了,勿重新发明轮子。
作者: henvelleng    时间: 2013-10-22 17:15

天才们面对的是猎头
作者: 一只纯猪头    时间: 2013-10-22 18:49

UI跟程序员没关系




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0