因为你平时写的代码可能大多数时候是和面试题无关的。
如果你日常工作就是解决面试题里的内容,那么就不会吃力了。
像楼上楼所说的,面试时是造飞机平时是开飞机
如果你平时也是造飞机那么就不会吃力了
说白了还是以前工作中的项目都是普通项目,俺也一样
我自己的解决办法很简单
面试题问的有些问题或者要求我平时完全接触不到的,那么就只能看别人的博客别人分享的经验,然后自己大概有个思路。能回答个所以然来
其次就是解决基础类问题,对于这一点的话
就是造轮子,遇到问题或者没思路的话就找对应的框架看别人是如何实现的
例如我想自己实现一个IOC或者AOP,我会选择去看spring源码,但是spring比较麻烦并且这些是在启动时生成代码导致如果多了会启动慢,那么我可能考虑编译期就把这些做了,那么对应的我会去研究
Micronaut ioc和aop的源码
想自己写个 nio的httpServer,那么就研究JDK的HttpServer
面试里常问的hashMap ThreadLocal Current包下面的那么就去看源码搞清楚大概是如何实现的
对于基础类库的使用,建议可以多参与参与开源项目
其他一些工作中接触不到的或者其他中间件的建议看官方文档和别人的文章。毕竟不是java写的源码也不一定能搞的懂
对于一些历史原因比较重的框架,例如Spring大概翻翻就好。
看这种实在太麻烦了,很多比较简单的问题由于历史原因搞的很复杂
举点例子。
例如我工作中涉及的数据量都不大,所以不会接触到分库分表以及各种限流,熔断,降级
这些我就只能通过别人博客或者开源项目来了解,面试的时候知道个大概