有些事情你不知道,但你必定能解决。java
有些人经过我帐号资料里的微信加我,而后问我一些所谓“怎么办”的问题,不是我不告诉你,而是我确实不知道。我确实有很高的title,也确实有不少的技术积累,但我并无达到知识的“百宝盒”的水平。
换个角度从新说这句话“这么简单的问题你都不知道,你配得上你的title吗?”node
咱们放下技术先不谈,只说能力。当你同时面对工做进度紧张,家里事务繁琐,你是若是作时间管理的?当你面对20个offer,须要作出选择时,你是如何量化对比企业特色,找到最适合你的那一个?当你的schedule堆的满满的,你确定完不成全部事务时,你是若是设置优先级的?当你发现不少方法都能达到你要作的目的,你是如何寻找最优解的?当你的女友们吵得不可开交时,你是如何调和的?(咳咳……)
一样的问题,有些人以为有100种解决办法,有些人却以为穷途末路……
绝不客气的说,思惟角度的多少(暂理解为同一问题解决办法的多少)决定一我的的成就。至于思惟懒惰的人,对不起,你没有入场资格。
那些“进步青年”们天天进行效率/技术/英语/商业/投资等各类各样的自我提高,而有些人却连一个标记的清清楚楚的Exception都解决不了。
我写文章不是为了对别人的人生指手画脚的,也不是为了骗你们点广告或者买技术课程的,我但愿个人读者可以有所收获,认清不足,成就更高的层次。我在分享思惟。 python
那么回过头来讲技术。若是你遇到一个问题,恰巧你以前解决过,那么你会在1秒内知道解决办法。那些踩过了无数次坑的人成了这个领域无所不知的专家,甚至有些人以为成为专家就是无所不知。
然而,时间是有限的,钱是无限的。(没必要反驳,慢慢体会。)这个世界有那么多美好的事情,你却在钻研技术。
有些技术难点你没接触过,你甚至不知道它是什么,但你必定能解决这个难点。这才是技术专家!
举个例子,有个问题能在java层解决,能在sql里解决,甚至能经过linux shell脚本解决。你精通java有什么用?难道要精通java,sql,shell?那若是遇到问题须要python/perl/nodejs/swift...解决呢?也要作到精通吗?
若是你们记得《如何成为10倍速程序员》里“按需记忆”的理念,那就把本文所说的理解为“按需精通”吧。 linux
不管技术多么强大,经验多么丰富的开发者在准备跳槽面试时都要刷一遍题。为何?
举个例子,BAT喜欢问相似这样的问题,说说Ajax的底层实现? 程序员
Ajax是告诉浏览器给我要发送一个HTTP请求,你给我新开个线程去执行下,完过后告诉我一声,我在其余function中执行后续操做(回调)。在线程返回结果前,我能够继续作其余事情。(异步)面试
上面是我通过搜索,而后总结的答案。在写本文时,我甚至忘了这个问题的答案,找到个人回答粘贴过来的。
若是这个问题,恰巧就是你的知识死角(你在工做中从没遇到过),那么是否表明你的技术能力不够?
固然不。
我不是针对BAT的面试流程作出质疑,我是说包括BAT在内的大多数技术面试流程都是垃圾。
面试问题应该是相似这样的,有10个亿的订单数据,如何存在数据库中?
其实企业中涉及到多线程,大多封装在企业自身信任的框架中,普通开发者涉及的不多,但大多数面试环节都会涉及。
若是你由于面试问题触及到你的知识死角而变成沉迷技术的人甚至失去自信。那我只能说这是当前面试与实际工做的分化形成的整个行业的悲哀。 sql
另外,所谓优秀,是遇到问题是有方法和手段来解决。自我提高,就是在积累这些东西。这是本文所想表达的最终目的。但愿本文对你有所帮助。shell