1
quizer 2019-03-19 11:19:12 +08:00 2
1. 面试不是考试,考试是数理化全部都考,但是面试不会这么全的,都是为业务服务。抢购业务的一般会问你很多并发的问题,业务数据量大的一般会问些数据库相关的问题。所以面试官会问什么取决于你应聘的公司的具体业务,不然就是“专业不对口”了。
2. 大部分人都会用工具,但是却不了解这些工具的底层原理。虽然正常情况下并不会影响干活,但是一旦出现 bug 或者产品的一些定制化的需求的时候,由于没有看过源码,只能束手无策或者耗时太长。 3. 还有一些东西感觉这辈子都不会用到,但是面试官问你主要是考察你的学习能力,举一反三、触类旁通。这些能力应该是在学生时代就应该有的习惯,它们会提高你的自觉性和自驱动性。 |
2
LeoQ OP @quizer 谢谢指导,我对源码的认识现阶段不是特别的会特意看,在文档不全或者文档和实际不一样的时候会去看代码里具体怎么实现的,也会看到一些有趣的实现方法,但是这种情况终究是少的,大部分的文档都很全面,甚至会在文档里描述代码是如何实现。
对于学习能力和自驱动能力这块,我个人其实不太明白,工程师应该有一些前瞻能力,看到一些方向,但是说真的现在的新东西实在是太多了,学习新东西还是有一些驱动的,比如性能不够了,去学高并发,有耗时长的方法,去学异步。那这个可以叫做说“自驱动”吗? |
3
chenjinxinlov 2019-03-19 12:21:23 +08:00
你既然知道会问那些问题,为什么不把那些问题弄会呢。就跟高考一样,大家都知道考试的范围,有人考的高,有人考的低,那就是差距。
|
4
NoahVI 2019-03-19 13:26:51 +08:00
@chenjinxinlov 可是有些概念你很久没用也会忘记。
|
5
xiaozaiziwyt 2019-03-19 13:30:29 +08:00 via Android
对于半路出家的,刚开始基础知识本来就是个无底洞吧。。。
|
6
LeoQ OP |
7
nfroot 2019-03-19 15:38:58 +08:00
有时候这些基础性的东西是用不上的,或者用得上但是极少。。。。。但是当你要规划新的东西的时候,基础知识就决定了未来的宽度和高度。当你遇到疑惑的时候,通过你对基础知识的了解,你就会很清晰的了解细节,当有人自己基础知识不足时提出一个观点时,你可以轻易的发现它是对还是错。
但是基础知识并不好学啊,太广泛了。补起来会有点茫然的感觉。 |
8
LeoQ OP @nfroot 可以麻烦你举个例子帮我了解一下基础知识在实际工作中发挥作用的例子吗?
我对这一点的体验比较少,更多的体验是,因为代码复用和模块化不够的原因,导致一点点需求都需要很大的改变,导致项目很难进行下去,在我看来这些是在实践中的日常困难。 我的理解高级语言的目标就是让程序开发人员可以专注于逻辑和算法部分。 但是不得不承认工作中确实是有些奇怪诡异的问题,但是遇到这种问题再开始看源码,原理,我觉得也不算迟吧…… 希望你能理解,我本意不是杠你,我只是很想知道,高级工程师为什么成为高级工程师..... |
9
dabaicai125 2019-03-19 16:23:07 +08:00
一面:基础、开发框架、项目经验、学习和解决问题能力
二面:框架、项目经验、解决问题能力、综合能力及项目管理 HR 面:文化匹配度及薪资期望等 |
10
LeoQ OP @dabaicai125 谢谢你的回复,我想知道贵司是如何在短短几个小时的时间看出应聘者的学习和解决问题的能力的。在我理解中这个能力点比较虚,你是如何看准了这个人就有岗位要求的学习和解决问题的能力呢?
|
11
dabaicai125 2019-03-19 16:33:21 +08:00
@LeoQ 主要会根据一些实际的案例来了解候选人的优点
|
12
carlclone 2019-03-19 17:27:48 +08:00 via Android
最后一句话不是回答了你自己的问题嘛?就是排除小概率事件嘛
|
13
wxkvEX 2019-03-19 17:57:24 +08:00 via iPhone
楼主工作不到三年吧……
|
14
xiaozaiziwyt 2019-03-19 20:04:03 +08:00 via Android
@LeoQ 可能搞架构的需要吧。。。可架构又有几个人是呢? 其他行业的应聘反而没这么麻烦。。。
|
15
Allianzcortex 2019-03-20 00:32:59 +08:00
楼主不是这个道理啊...虽然进去可能就是拧螺丝,但现在这么多人都会拧螺丝,就增加筛选门槛找一个会造飞机的进来。就和高考一样要设置区分度,前些年谷歌流行出智力题现在改出 Leetcode,原理是一样的。另外很多基础知识还是挺关键的,"know your subject people "
|
16
wizcas 2019-03-20 01:17:40 +08:00 via Android
如果只会一些表面工具的应用,不了解基础原理,那么遇到问题可能要花 10 倍的时间去解决。这样我当然要招懂原理的人了,单位时间内的产出会更多。而且基础知识扎实的话,如果用到了新技术、新思想上手也更快,对公司的技术发展更有利。虽然不懂这些可能也能干活,但是二者相较我更相信基础扎实的开发者的工作质量。毕竟像你说的,短时间内我需要进行判断,这个就是个很重要的指标。
考算法是为了检验你是否具有编程思想,对资源占用和效率是否敏感。一个简单的字符串翻转就能看出你有没有对执行效率和空间占用的基本认识。这些算法虽然不一定在工作中会直接用到,但是思想是会被贯彻到你的成果中的。一些很诡谲的算法题我也不喜欢,面试也不会出。 相比之下框架使用类的东西我在面试时倒不会太深入问,大概了解一下确定和你简历里的描述相符就好了。毕竟只懂使用框架相当于做填空题,真有一天要写个作文,实现个框架没有的东西怎么办? |
17
cmqwan 2019-03-20 07:23:42 +08:00 via iPhone
我记得以前看马士兵的视频,里面的例子就很好。
比如一个包子铺要雇 10 个师傅做包子。 这时候应聘的就 6.7 个,能搞成正常的包子,基本就都要了。 如果呼啦来了 200 个师傅,这时候怎么区分? 一本一下的往旁边站一站; 三年经验以下的往旁边站一站; 不能捏出 18 个褶子的往旁边站一站; 这时候还有四五十号人,在想个其他办法: 面皮各种材料的优缺点; 各种材料在什么温度下口感最好; 等等。。。 最后,看眼缘。 说穿,供求关系决定 |
18
nfroot 2019-03-20 10:58:32 +08:00 1
@LeoQ
我不是程序员,在我的工作场景里,我曾经有和你相似的疑问。 我也很赞同你的想法“高级语言就是让程序员更高效”,毕竟学高级语言干活可以直接出东西,如果从 cpu 原理开始一层层了解,那怕是很长时间内都基本做不出东西。。 以我的理解来说,系统性的学习,由浅入深,但是浅的时候直接就能做出东西,这样很高效,但是代码和处理问题未必是最高效的,遇到问题的时候,遇到有人在代码里秀语法秀正则表达式的时候会郁闷的。不过相信你也工作了不短的时间所以一般的应用肯定没问题了。 但是又有另外一个问题了,你懂,我了解,但是别人也懂,明白了吗?市场饱和了,程序员太多了,招聘方会很纳闷,大家都懂,那我得招哪个?那就最简单的,同价格里技术最好的。 技术这东西往往没办法用尺计量,所以才会有各种各样的工作用不到的东西拿出来考面试者,毕竟一个个去深入了解也是很费时费力的。 另外就是你说的“高级工程师为什么是高级工程师”,在我这个行业里,高级工程师意味着你的知识体系未必是最丰满的,但却是最专业的。 初级,能干活,能出东西 中级,熟悉工具,出东西快 高级,啥都靠谱 但是市场决定了,当高级人才太多的时候,中级的人才会更多,初级的更多更多,所以必然是能选高一点就高一点了,所以一般是凭你的证,凭考你。 |
19
nfroot 2019-03-20 11:06:03 +08:00 1
@LeoQ 我没办法给你一个案例,因为在我的行业里和程序员圈子不一样。我的行业是这样的。
自以为入门了的,觉得自己啥都能干,可以了,以为其他人也这样 入门了的,觉得自己似乎啥都能干,但是有这样那样的限制,高级的东西手头又没有,想买公司又不够预算。 中级的,觉得自己大部分都能干,但是公司好像还是预算不够发挥,尽力吧。 高级的,觉得自己啥都能干,可以了,要是公司预算再多一点就好了。 以上不一定正确,但是估计差不多。 |
20
Loner233 2019-03-20 12:56:59 +08:00 via Android
为啥我面试上来就被问职业规划,我被问懵逼了。。。
|