关于培训出身的程序员
圈子里,科班程序员“鄙视”培训机构程序员似乎已经隐隐成了一种共识。
“培训机构出来的程序员几乎什么也不会。不用看技术,刚刚培训出来的就是假大空。”网上甚至有更偏激的观点:培训班出来的全是垃圾,没有例外。
“培训机构出来的程序员基础薄弱很多,对某项语言可能有点熟悉但是很死板,代码环境一变可能就不会了,更差点的就直接被当成‘敲代码机器’了。很多人刚出来没有完整的案例操作,对这个行业还没有基础的认知,更别提思维、格局了。”
外界的这些言论无形中成为这些程序员心中的刺。很多培训机构出来的程序员在面试时是不会告诉用人单位培训背景的,有些人甚至会刻意隐瞒这段经历。“好多人被公司知道后就直接被辞退了,有的人还背着房贷、要赡养老人,但也没有办法。”
在很多人看来,培训机构其实是复制粘贴出来一堆差不多的人。“人家用大学四年打下基础,你培训几个月速成,很难完全领悟。”
但是科班程序员对这个问题感受好像并没有那么强烈,硕士毕业直接进入互联网公司工作的一位程序员说:“员工间谈不上鄙视,主要是看他们做的工作是不是好,但是一般情况下,培训班出来的工作质量不会太好。代码混乱、质量低、bug 多、没法维护,别人接手你的代码会很难受。”
“大家都是打工的,没有人会管你是哪里出来的。我们只会鄙视那些技术垃圾的、配合不了的。至于你是哪里出来的,并不会很在意。”补充道。
对于这个问题,某互联网公司技术总监曾经说过:外界的确存在一些公司认为培训班出来的程序员是“速成品”,然后卡简历的情况。“其实不是说培训机构出来的程序员表现都不行,只是表现不好的程序员可能都有过培训经历,行业里一传十、十传百就会认为培训机构出来的程序员都不行。”
培训 + 外包拿下字节的历程
我认识的一位培训+外包出身的程序员,目前开发8年多,最近去面试了今日头条的移动Android资深工程师,定薪年薪60W!果然功夫还是不负有心人啊,只要坚持努力总会有结果的!
接下来分享一下他的Android资深工程师面试经历:
今日头条的面试主要分为三轮,首先是基础面试,基本面试10个题左右。
第一面是北京的开发进行视频面试,有理论和编程题组成。用的是在线编程工具,如下图;
第一面
1,请编程实现单例模式,懒汉和饱汉写法
//饱汉写法
public static Singleton getInstance() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
//懒汉写法
private static final Singleton1 single = new Singleton1();
//静态工厂方法
public static Singleton1 getInstance() {
return single;
}
2,请编程实现Java的生产者-消费者模型
看到这个有点懵逼,要是大学毕业的时候写这个肯定没问题,这都工作多年,这也只能按照自己的思路写了。我使用synchronized锁以及wait notify实现一个比较简单的。这里就不作展示了
3,HashMap的内部结构? 内部原理?
关于HashMap的问题,不再详述,这方面的资料也挺多,不过需要注意的是Java1.7和1.8版本HashMap内部结构的区别。
4,请简述Android事件传递机制, ACTION_CANCEL事件何时触发?
第一个问题不做解释。。
关于ACTION_CANCEL何时被触发,系统文档有这么一种使用场景:
在设计设置页面的滑动开关时,如果不监听ACTION_CANCEL,在滑动到中间时,如果你手指上下移动,就是移动到开关控件之外,则此时会触发ACTION_CANCEL,而不是ACTION_