java工程师必备能力

和前端联调沟通能力

json、get,post,http,restemplate、跨域
  1. get和post的区别
  2. json分为数组和对象(jsonArray和jsonObject),他们与java对象的之间的转化
  3. http请求(头和体)@requestBody、@requestParam注解,httpclient的运用
  4. restemplate——-springboot相互调用

独立建项目,设计数据库表的能力(业务)

maven、springboot
  1. maven的配置、打包、运行(maven上面没有的依赖,需要自己把jar包导入到maven管理
  2. spring mvc、mybatis、spring整合

优化(整合到项目中,用项目经验落地)

数据库优化(索引、事务方面)、nosql的运用、多线程的应用
  1. 索引:用户行为记录表,数量较多,加入索引后命中失败。处理:使用explain(解释执行 sql语句)或者阿里的慢sql执行日志。原因:表字段类型是varchar,但实体类为int,数据不一致导致命中失败。
  2. 联合索引是A+B,但是sql语句是B+A也会导致命中索引失败
  3. nosql:秒杀商品的预热,处理方案:先把库存中拿出来放到redis中,然后拿的时候先从redis里取
  4. 多线程方面为线程安全,stringBuffer、stringBulider、currentHashMap、hashMap java8和7的不同、对象锁sychroniged、threadLocal(为每个线程创建一个对象来保证线程安全)、final、(构造器传局部变量进去,肯定只有一个方法在用,也是线程安全

解决方案了解

架构(分布式、集群、负载均衡、微服务)、springcloud生态、mangbd、消息队列mq、elasticserach、nginx

工具使用(提高工作效率)

git、linux命令

你可能感兴趣的:(个人随笔)