昨天面试时,面试官问到我一个问题,你最精通的java技术是什么?脑海里回想出工作以来遇到的很多技术:spring,springmvc,spring-boot,mybatis,redis,solr,oracle,sqlserver,mysql.....,好像没有什么是我特别精通的,甚至java基础也不敢说精通。最后我说了个spring-mvc,然后简单说了下spring-mvc的请求流程,面试官一个问题把我问懵了,spring-mvc将返回数据转化为json是在哪个组建中实现的?我只能很不确定的说了个处理器适配器。后边又问到mysql,mysql常用的两个搜索引擎有什么区别,以前看过,现在记忆已经非常模糊了。sql语句效率低时,如何检测它的性能,我知道查看执行计划,但怎么查还没干过。后来又聊到spring-boot,问了一下spirng-boot启动类的注解,半个月没看代码,脑子里已经毫无印象。又问到linux,除了打开、编辑、复制、查看一些经常用的命令知道,其他的都是似是而非,如查找文件,知道用find,但到具体情况下怎么个用法,还得借助度娘。
最后不知道是怎么走出来的,怀疑自己真的是一名工作了4年的java程序员吗?
程序员在工作中,更多的精力需要倾注到具体的业务中去,技术通常是够用就行。如果不能利用工作之余的时间深度挖掘自己的技术,可能这些东西也就在你面试的时候有用,偶尔装装逼。但是想要在这条路上走下去,而不是年纪大了被年轻人淘汰,深挖自己的技术就是一条不得不走的路。
选择一门技术,真正深入的去学习,持续的去钻研,每天进步一点点,积少成多,直到学透。现在开始,还来得及,做一名有底气的技术人。
程序员之路,共勉!