2018年8月8日短期目(zuo)标(si)

  • 背景:吾日三省吾身,作为一个终生学习的职业,心累啊。要时常了解自己的情况让自己心塞,针对性的抓紧时间给自己充电,提高工作效率,避免加班加点然后猝死。

      目标制定前先对现有的能力进行评估。然后进行制定。

      我个人的认知有可能是错的,希望大家能指正。

  • java方面:
  1. java方面:理解并能用集合类型(map、list、set、HashSet、HashMap、Iterator)
    1. List(有序、可重复)
      1. List关注的是索引,拥有一系列和索引相关的方法,查询速度快。往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。
    2. Set(无序、不能重复)
      1. Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
    3. Queue(先进先出FIFO)
      1.  访问元素(poll)操作会返回队列头部的元素,队列不允许随机访问队列中的元素。
    4. Map(键值对、键唯一、值不唯一)key可以为null,但是只能一个
      1. Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
Collection
    List
        ArrayList
        Vector
        LinkedList
    Set
        HashSet
        LinkedHashSet (按照插入顺序存放的,不重复的)
        SortedSet
        TreeSet
    Queue
        LinkedList
    Map
        hashMap
        weakhashMap
        SortedMap
            TreeMap
    Map.Entry
    Iterator
        ListIterator
    Enumeration 最早的输出的接口
  是否有序是否允许重复特点
collection    
List list都是是链表实现
 

ArrayList

有序本质是用数组实现的,动态数组,它的容量能动态增长,经常用在增删操作较少而查询操作较多的情况下,线程异步的,是不安全的。
 Vector有序

本质是用数组实现的,vector是线程同步的,所以它也是线程安全的,基本都是使用ArrayList而不是Vector

 

LinkedList

有序基于双链表实现的,移动一个指定位置的数据时其它元素不移动。经常用在增删操作较多而查询操作很少的情况下,
Set 无序线性结构,值不能重复。
 HashSet无序

底层通过HashMap实现的,是set的hash实现,简单理解就是将HashMap的key放进HashSet中对象,通过key的唯一性去重

   LinkedHashSet 继承于 HashSet、又基于 LinkedHashMap 来实现的,底层使用 LinkedHashMap 来保存所有元素,它继承于 HashSet,其所有的方法操作上又与 HashSet 相同
 SortedSet  
     TreeSet有序二叉排序树
Queue    
 LinkedList  双链表实现的
Map key唯一value可以重复 
 HashMap同key,kay可以为null,只能一个哈希表,通过链表的数组实现的。根据键的HashCode值存储数据,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。因为键对象不可以重复,所以HashMap最多只允许一条记录的键为Null,允许多条记录的值为Null,是非同步的。HashMap效率高于HashTable
 weakhashMap   
 SortedMap   
     TreeMap 二叉排序树,能够把它保存的记录根据键排序,默认是按键值的升序排序(自然顺序),也可以指定排序的比较器,当用Iterator遍历TreeMap时,得到的记录是排过序的。不允许key值为空,非同步的。
 LinkedHashMap  在哈希表的基础上又构成了双向链接列表,保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时,先得到的记录肯定是先插入的,在遍历的时候会比HashMap慢,有HashMap的全部特性。
 Hashtable 同map,key不能为null与HashMap相同的存储机制,线程安全的,线程安全是通过Sychronize实现。
Map.Entry   集合中每个对象都是底层map中一个特定的键值对
Iterator   所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,只能正向遍历
 ListIterator  双向列表的遍历,继承与iterator
Enumeration    
     
     

 涉及到源码的参考:https://blog.youkuaiyun.com/wushiwude/article/details/76041751

HashMap实现原理、算法、数据结构:http://www.cnblogs.com/xwdreamer/archive/2012/05/14/2499339.html

java的数据结构和算法:https://www.cnblogs.com/ysocean/p/7889153.html

spark常用的调优:http://www.mamicode.com/info-detail-2164217.html

  • 大数据方面
  1. scala的常用语法,akka框架
  2. sparksql的常用算子以及语法
  3. 大数据集群的搭建(散搭,包含hadoop、flum、kafka、hive、spark、zookeeper、)
  4. 了解hdfs集群的4个配置文件,能去官网找对应的配置更改、优化。
  5. 常用组件的使用
    1. hive:用过java和spark书写过udf函数,用java写过udtf函数,了解udaf函数,研究很透彻。
    2. 实现过通过post请求接受日志数据,写入到flum,然后flum往kafka传输,通过hdfs和es消费kafka数据。
    3. 实现过通过sqoop接收postgre数据落地到hdfs、java或者spark解析日志数据落地到hdfs,然后搭建相对应的数仓(ods层、dw层、数据集市)
    4. 负责tableau的维护
  6. 了解常用的linux命令

 

  • 目前概括总结:能干活会用这些东西,但是每一块的深度不够。具体表现如下。
  1. 诸如当数据量大的时候数据库做了访问限制,sqoop抽取不过来怎么办(索引不是那么容易按照你想的来建立的),
  2. 比如flum主键source写入的速度高于slink写出的速度怎么弄、如何优化。
  3. hadoop集群里面很多配置会引发很多问题,如何解决。
  4. 比如kafka里面如何进行一定的逻辑运算(目前只会原样生产,原样给其他组件消费,用spark消费可以处理。)。
  5. 对于日志处理的组合ELK(Elasticsearch , Logstash, Kibana),只是能用用,但是如何在es建立好标签库,涉及到es的编码部分、如自定义标签没有涉及到、主要是没干过。没有自己搭建过ELK,没有实际开发过。只连接过通过主题和标签获取数据。
  6. 对于数据仓库方面工作经验不够、涉及到框架等全局把控的能力不行。这个需要时间积累。
  7. 对于开发语言java只停留在基础阶段深度不够诸如设计模式(只知道工厂模式、单例模式)很长时间没用也忘记了,常用的算法也忘记了,没有做过大型项目、有关反射、高并发、多线程方面虽然有一定的了解,但是有关的实际问题并解决过。
  8. 对于开发语言scala深度不够只看过基本的用法,看了下akka对于多线程方面的处理。实际并没有开发项目,小demo不算。
  9. 对于spark虽然了解过一些优化也了解一定的原理,但是并没有源码级别的了解。很多优化其实并没有用到和处理过。
  10. 目前想学习python,并没有相对好的环境和效率学习。
  11. 对于算法方面诸如贝叶斯、逻辑回归之前虽然看过、但并没有用过,也忘记了。不是很会
  12. 对于linux系统,虽然了解常用的一些命令也看过鸟叔的书,但实际上对于内核或者更深层次的东西并不了解,不够深入。忘记的也很快。
  13. 对于组件hbase了解一部分,实际运用的少。容易忘记。
  14. 代码积累量不够。
  • 目标定制
  1. 看完java核心思想这本书(限期3个月)。
  2. 搭建ELK集群(限期一周)
  3. 学完python3的基础用法并用python3写一个爬虫,并整理好相对应的博客。(限期一个月)
  4. 每天一部视频。(时间很长的可以分段)
  5. 每天逛逛一些相关的网页,浏览相关的组件的优化或者解决方案。(每周至少三次)
  6. 为了老命每天晚上11点半前上床,12点前睡觉。每周运动一下。防止被产品反杀。
  7. 每天坚持code。不论是验证某些东西还是demo

优先级暂时就由序号排列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值