对于最近线上服务以及京东等大型互联网公司对java工程师要求的一些思考

        当下线上服务为了减少上线,经常搞成配置化,配置化对于版本以及持续集成本身是很大破坏,对于此,我个人持保留态度,

是反对过多东西进行配置化,其实配置化本身没有什么问题,关键是动态对配置进行修改而没有与代码进行版本关联,但越来越多

人迎合潮流与领导。

        对于线上服务,存在定时拉取配置平台配置,一定进行相应检查,只要人配置东西就一定会有问题,或者说容易发生问题,线

上服务重启时,需要稳赢一下,呆一会看一下启动是否成功,一定不要一次全部服务批量重启,出了问题,就完全没法处理了,并且

需要去看一下日志,以及服务状态,都确认没问题后,在进行重启。

        对于上边这种问题,加上昨天前边已经发生两次服务启动不起来,一次是全部线上服务不可用,一次是部分,部分并且批量进

行处理,是目前想到的解决此类问题最好的办法。

         对于配置化应该有更多思考,而不是人云亦云。不然这件事有什么意义呢?

         最近也是在频繁面试招聘,但是从简历以及面试都筛掉了很多人。对于有一定经验Java研发,一些基本技能要求,我的一些

思考。

        学习java经常会遇到一个问题,一段时间后没法进行深入,或者是不断在进行业务开发。Excel导入导出以及各种各样业务功能,以及

各种各样功能点开发,这样不能说不对,但是当我们回过头来看发现我们在技术上好像没有什么进步,只是在不断重复自己。

       怎么样做技术?怎么样不重复自己?怎么样有进步?是我们应该持续不断思索的问题。

       对于做很多业务功能这个没有问题,问题是我们在一直重复我们自己,对于一个业务一个功能,我们应该多想几个怎么做?有没有

更新的方法?有没有重复事情抽象起来去做的方式?有没有用新的技术去做的方式?

        对于java技术点掌握的要进行记录整理总结,然后寻找新的问题、新的技术方案去解决问题。进行新的探索,一遍巩固已经掌握技

术体系,并且不断探索新的技术体系。

        java一些重要技术点,缓存ehcache、redis 分布式redis方案、rpc、微服务、设计模式、多线程、线程池、消息队列、锁、jdk、

elasticsearch solr lucene、jvm、gc、io BIO NIO AIO等等各种各样技术都可以是我们可以研究和分析的点。

        ehcache缓存设计,缓存架构与原理,缓存失效策略,缓存是否存储硬盘,等等。缺少一个细节了解,可能在一些业务场景下都

会导致比如,写外部磁盘写慢导致服务不可用。

        redis单机架构是什么?为什么性能这么高?存储策略?集群架构是什么?有哪种集群方式?官方的以及互联网公司集群架构有什

么异同,优劣?redis单点问题有哪些?怎么样避免单点以及热点数据?怎样进行扩容缩容,扩容缩容对线上服务影响怎么样控制到最小?

        rpc原理,一个最简单rpc怎么实现,rpc目的作用,可以应用在哪些场景下?微服务注册中心怎么实现,注册中心需要注意什么问

题,注册中心都有哪些实现方式,dubbo架构以及怎么实现,源码读过么?

        BIO、NIO、AIO各是什么?有哪些优缺点,一般都用在什么场景下?在哪些实际应用中用过他们?

        设计模式有些哪些、在实际项目中用过哪些设计模式、怎么用、为什么应用、继承在哪些场景用过、怎么应用为什么

       多线程在哪些场景用过、线程池用过哪个、参数是什么、均有什么意义?为什么用、多线程同步怎么做、CountDownLatch在哪些场景

下使用?

       很多时候总是在说工作中用不到,这是听的最多一种说法,有一定道理,但是价值不大。工作中怎么做还是掌握在自己手中,多思考、

多实践,用新的方式、不同的方式去解决过去问题、老的问题,才能不再过去技术圈打转。

       对新的技术,应该不断思索,不断尝试,通过书籍以及实战,对新的技术不断深入,深入后进行总结,然后在探索下一个技术。通过这

样一种方式,不断掌握新技术,避免造成永远再用老技术解决老问题,很多事情还在自己处理。

       简单问题不能出错,老是在简单问题出错,时间花费在上面,并且人也会慢慢就废掉了。

       好的方式、好的方法、勤思考、多实战。 

            扫码关注

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

好的产品诞生全过程:每个环节都细致入微

当我们提到一些常见的功能时,可以一笔带过,简单的描述一下就可以了,比如:对于微信登录,手机号注册。 那如果我们提到的是一些比较复杂的,具备一定创造性功能的时候,...

31350
来自专栏小石不识月

微服务 —— 你需要付出什么?又能有何收获?

如果您阅读过我的文章 —— 微服务中的语义扩散,您可能会识得此标题。本文是那篇文章的一个延续,其目的是强调,只有当我们付出足够的努力来处理我们将要面对的组织和分...

29140
来自专栏Debian社区

2017 年会是 Serverless 爆发之年吗

中小型公司,尤其是互联网行业的创业公司,本身并没有太多的技术人员,如果设计系统时需要考虑诸多的技术问题,例如 Web 应用服务器如何配置、数据库如何配置、消息服...

10820
来自专栏架构师之路

互联网分层架构,为啥要前后端分离?

通用业务服务化之后,系统的典型后端结构如上: web-server通过RPC接口,从通用业务服务获取数据 biz-service通过RPC接口,从多个基础数据s...

41080
来自专栏京东技术

京东评价晒单系统的组件化设计

31730
来自专栏携程技术中心

干货 | 基于图像比对技术,低成本维护的携程机票前端测试平台SnapDiff

15720
来自专栏Java架构

阿里java架构师:微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。

2.3K30
来自专栏腾讯移动品质中心TMQ的专栏

完美组合:用例精简+精准测试

一、 为什么要做用例精简和精准测试 1、 测试用例越来越多,测试效率低下 这是因为在目前的快速迭代开发模式下,测试人员需要不停覆盖不断调整的产品逻辑需求,因此测...

259100
来自专栏Bug生活2048

.net core项目实战之回顾总结

项目需求其实很简单,类似于一个简单的审批+简单的任务管理系统,但需要同时有PC端和APP端。

16710
来自专栏软件测试经验与教训

一般系统瓶颈

35650

扫码关注云+社区

领取腾讯云代金券