研发技能表

软性技能

  • 不甘平庸。每个人都有自己的梦想。
    • 向业界和身边优秀的人看齐
    • 从小事做起,并把它做好
      • 代码的逻辑正确无误
      • 代码的执行效率很高
      • 代码的结构清晰易懂
      • 代码的可扩展性良好
      • 重复的工作自动化
  • 积极主动。态度决定一切。
    • 发现工作中的问题及时反馈
    • 自己主动承担把问题解决掉
    • 协调资源推动他人一起解决
  • 保持好奇心。对技术敏感,知其然也知其所以然。
    • 追踪最新技术动态
    • 阅读源码
      • GitHub:最大的源代码托管站
    • 尝试一门新的语言
      • Clojure:基于JVM的Lisp方言
  • 勤奋好学。快速、持久的学习能力是技术人最重要的素质之一。
    • 学会
      • 曲径:最好的工具【已被和谐】
      • 轻云:功能和曲径类似,便宜一半
      • VPN:云梯VPN
      • VPS:digitalocean、Linode
      • Chrome插件:红杏出墙
    • 善用Google,StackOverflow和Slideshare
    • 订阅技术文章
      • Hacker News:硅谷教父Paul Granham创办的YC出品
      • Startup News:国内IT圈的知名人士 @Fenng 出品
      • ImportNew:专注于Java技术分享
      • ifeve:偏重于Java并发和高性能
      • High Scalability:专注于大规模可扩展性系统架构
      • 码农周刊:每周推送一封,全是干货
      • 编程狂人:各方面的编程技术文章
    • 坚持读好书
    • 参加技术交流
  • 乐于沟通。你可以不喜欢交际,但一定要学会沟通。
    • 及时沟通,信息透明
    • 尊重他人,学会提问
      • 提问的智慧
    • 沟通方式
      • 正式:Email
      • 非正式:钉钉/微信/QQ
      • 特殊情况:面对面
    • 工作周报
      • 按时发送
      • 抄送所有相关人
      • 清晰、明了、美观
        • 使用Markdown工具来写
        • 马克飞象
        • Cmd Markdown
      • 不要敷衍写一句话周报
      • 目标、过程、结果、思考
    • 合理使用Teambition
      • 及时更新工作进展
      • 追踪重点技术项目
  • 学会分享。输出是最好的输入。
    • 记笔记
      • 印象笔记
      • 有道云笔记
    • 写博客
      • 为什么要写博客
      • 搭建自己的独立博客
    • 微博/QQ群/微信群
    • 技术会议
  • 团队意识。公司利益大于个人利益,公司利益最大化才能让个人利益最终最大化。
    • 要有大局观
    • 杜绝小团伙
    • 别太在意个人得失
  • 掌握做事方法。正确的方法可以事半功倍。
    • Plan(计划):从问题的定义到行动计划
    • Do(执行):实施行动计划
    • Check(检查):对过程中的关键点和最终结果进行检查
    • Act(修正):总结经验教训,将好的方面进行标准化
  • 管理好自己的时间。事情要分轻重缓急,优先做重要并紧急的事情。
    • 四象限法则
    • 摆脱手机依赖症,上班时间少玩手机

专业技能

Linux

  • 常用命令
    • 文档和目录:ls,pwd,cd,cp,mv,rm,mkdir,cat,find,tar,<,>,tail,head,more,ln,open,touch,sort,uniq
    • 权限和账户:chown,chmod,passwd,su
    • 系统和服务:ps,kill,fg,bg,nohup,reboot,shutdown,date,time,uname,df,fdisk,top,free,history,mount,chkconfig,service,crontab
    • 网络:netstat,ping,telnet,ifup,ifdown,nslookup,scp,ssh
    • 其它:alias,man,echo,xargs,grep
    • 扩展:vim,tree,wget,curl,yum,apt-get,brew
  • 高级功能
    • awk:做一些复杂的处理文本非常方便
    • sed:利用正则来做查找、替换等
    • iptable:Linux自带的防火墙
    • 性能诊断
  • bash
    • echo
    • if
    • for
    • 数学运算

Web前端

  • HTTP协议
    • 返回码
    • method
  • HTML
    • HTML5
      • WebSocket:从服务器端可以直接推送消息到浏览器
  • CSS
    • 盒模型
  • JavaScript
    • 开发规范
    • ES5
    • ES6/ES2015
  • Web API
    • BOM
    • XMLHttpRequest/XMLHttpRequest2
  • 框架
    • bootstrap:Twitter开源的、目前最流行的前端框架
    • jquery:让js小白也能实现很多强大的前端交互
    • highcharts:最好的前端图表框架
    • echarts:百度出品的前端图表框架
    • Angularjs:Google出品的MVC框架
    • Reactjs:  Facebook出品的新一代前端框架
    • D3JS:数据驱动的图表库,可定制程度高
  • 图形
    • SVG
    • WebGL
  • 工具
    • Chrome开发者模式
      • 审查元素
      • 网络请求
    • FireFox FireBug 插件
  • 浏览器工作原理
    • 跨域资源共享CORS

NodeJS

Java

  • 容器类
    • List
    • Set
    • Map
  • IO/NIO
    • File
    • Network
    • ByteBuffer
      • DirectByteBuffer
      • HeapByteBuffer
  • 并发和多线程
    • sychronized
    • volatile
    • lock
      • ReentranLock
    • Semaphore
    • ConcurrentHashMap
    • LinkedBlockingQueue
    • Callable
    • Future
    • Executor
    • ExecutorService
    • ThreadPoolExecutor
    • ForkJoinPool
  • JDBC
    • Druid:阿里开源的目前最强大数据库连接池
  • JVM
    • 内存模型
      • Heap
        • 年轻代(Young Generation)
          • eden
          • S0
          • S1
        • 老年代(Old Generation,tenured)
        • 永久代(Permanent Generation)
      • Stack
      • Method Area
      • Native Method
      • PC Registers
    • 配置参数
      • -Xmx3g:设置整个堆的大小
      • -Xms3g:设置初始化堆的大小
      • -Xmn1g:设置新生代的大小
      • -XX:PermSize=192m:设置Perm区大小
      • -Xss256k:设置线程栈的大小
      • -XX:+UseConcMarkSweepGC:垃圾回收算法,CMS
      • -XX:+UseCMSInitiatingOccupancyOnly
      • -XX:CMSInitiatingOccupancyFraction=70:设置执行CMS垃圾回收的阈值
      • -XX:+PrintGCDateStamps:打印GC时间戳
      • -XX:+PrintGCDetails:打印GC详情
      • -Xloggc:$APP_OUTPUT/logs/gc.log:设置GC日志路径
      • -XX:+PrintGCApplicationStoppedTime
      • -XX:+PrintGCApplicationConcurrentTime
      • -XX:ErrorFile=$APPOUTPUT/logs/hserr_pid%p.log
    • 垃圾回收算法
      • Serial
      • Parallel
      • CMS
      • G1
      • Shenandoah GC
      • Zing C4
    • javap
    • 工具
      • jps
      • jmap
      • jstack
      • jstat
  • 框架
    • Webx:在阿里大规模使用的MVC框架
    • Spring:IoC框架
    • MyBatis:ORM框架
    • Netty:异步事件驱动的高性能网络通讯框架
    • Logback:log4j作者打造的下一代日志框架
    • Drools:规则引擎
    • Fastjon:阿里开源的Json序列化和反序列化框架
    • Velocity:模板引擎
    • Akka:基于消息驱动的弹性高并发分布式框架
  • 中间件
    • Dubbo:阿里开源的RPC框架
    • Kafka:分布式消息中间件系统
  • 应用服务器
    • Tomcat:最流行的应用服务器
    • Jetty:轻量级的应用服务器

Python

  • 集合
    • list/tuple
    • dict
    • set
    • 切片:lst[1:3]
    • 迭代:for c in 'abc'
    • 生成器:xrange(10)
  • 函数
    • 函数定义
    • 字符串
      • len
      • join
      • encode
      • decode
      • 格式化
    • 高阶函数
      • map
      • reduce
      • filter
      • sorted
    • 匿名函数
    • 偏函数
  • 装饰器
  • 对象
    • 类和实例
    • 访问限制
    • 继承和多态
  • 错误
    • try...except
  • 单元测试
  • 进程和线程
  • 协程gevent
  • 正则表达式
  • 组件
    • MySQLdb
    • json
    • logging
    • datetime
    • os
    • re
  • 框架
    • Flask
  • 教程
    • 廖雪峰的Python教程

其它语言

  • Groovy
  • Scala
  • Lua
  • Bash

移动开发

  • Android

    • 环境
      • Android Studio(推荐)
      • ADT/Eclipse + Android SDK
    • 四大组件
      • Activity
        • 生命周期
        • AsyncTask:轻量级异步任务
        • Handler,Message,Looper:线程间通信
      • Service
        • startService/bindService:非粘性/粘性
        • AIDL、Messenger:进程间通信
      • BroadcastReceiver
        • 两种注册方式:xml,代码动态注册
      • ContentProvider
    • 数据存储方式
      • SharePreferences
      • I/O流文件读写
      • 网络存储:httpClient和httpServer
      • SQLite
      • 属性系统
    • UI设计
      • 常用布局
        • FrameLayout:框架布局
        • LinearLayout:线性布局
        • AbsoluteLayout:绝对布局
        • RelativeLayout:相对布局
        • TableLayout:表格布局
      • 两种动画
        • Teen Animation:补间动画
        • Frame Animation:逐帧动画
      • GUI警告
        • Dialog对话框
        • Menu菜单
        • Notification
      • 常用UI控件
      • ListView、下拉刷新
      • Fragment
      • WebView混合开发
      • 适配
        • 字符串和国际化
        • 屏幕尺寸适配
    • NDK开发
    • 传感器
    • 大位图处理
    • Manifest.xml配置文件:组件注册、权限设置
    • Android开源项目
      • 六款开源框架
      • github开源项目汇总
      • 安卓源码专家
  • iOS

    • 编译环境
      • OS X +Xcode
    • 常用语言
      • C语言(熟练)
      • Obective-C(熟练)
      • Swift(了解)
    • OC内存管理关机机制
      • ARC
      • MRC
    • 类的类别和扩展
      • Categories
      • Extensions
    • 常用设计模式
      • 代理模式
      • 观察者模式
      • MVC模式
      • 单例模式
      • 工厂模式
      • Target-Action模式
    • 第三方开源库
      • jsonjson编码解码
      • GTMBase64 base64编码解码
      • TouchXML 解析
      • SFHFKeychainUtils 安全保存用户密码到keychain中
      • MBProgressHUD很棒的一个加载等待特效框架
      • ASIHTTPRequest 等相关协议封装
      • MJRefresh 下拉刷新代码
      • AsyncImageView 异步加载图片并缓存代码
      • 类似setting的竖立也分栏程序
      • MBProgressHUD——进展指示符库
      • Flurry——详尽的使用统计
      • CorePlot——2D图形绘图仪
      • GData client——iPhone上所有Google相关服务的类库
      • SDWebImage——简化网络图片处理
      • RegexKitLite——正则表达式支持
    • 多线程开发
      • NSThread
      • NSOperation
      • GCD
      • 数据持久化
      • 属性列表(NSUserDefaults)
      • 对象归档、
      • SQLite3
      • Core Data
    • NSNotification和KVO
      • NSNotification
      • KVO
    • UI设计
      • 动画的使用:旋转,偏移,消失,出现等
      • 首手势的使用:点击,侧滑,长按等;
      • AutoLayout
      • Size classes
    • 其他常用技能
      • 熟悉系统自带框架以及熟练使用
      • 熟练使用Block进行功能的实现
      • 对新机型进行适配
      • 在API文档中寻求解决问题的能力
      • 同时熟悉面对对象和图形化开发

缓存

  • 本地缓存
    • Guava cache
    • EHCache
  • 分布式缓存
    • 原理
      • 一致性Hash
    • 产品
      • Memcached
        • spymemcached
      • Redis
        • jedis
    • 代理
      • Twemproxy
      • Codis

数据库

  • MySQL
    • 存储引擎
      • MyISAM
      • Innodb
    • 索引
      • Btree
      • Hash
  • Berkeley DB
  • LevelDB:Cassandra有类似的数据结构

代理/负载均衡

  • HAProxy:高性能的TCP/HTTP负载匀衡器
  • Nginx:最流行的Web服务器和反向代理服务器
  • Apache:老牌的Web服务器
  • Keepalived:热备切换工具

大数据

  • 论文
    • BigTable
    • MapReduce
  • 算法
    • DHT
    • Gossip
    • Paxos
  • Hadoop
    • HDFS
    • Hive
      • Hive on Spark
      • Hive on Tez
    • Hbase
  • Spark
    • SparkSQL (Dataset/DataFrame, Structured Streaming)
    • Spark Streaming
    • Spark MLLib
    • Spark Graphx, GraphFrame
  • Storm:分布式实时计算框架
  • Cassandra:分布式、P2P结构的NoSQL数据库
  • ElasticSearch:实时搜索引擎

运维

  • 自动化
    • ansible:部署、配置工具
    • puppet
  • 虚拟化
    • KVM / Xen
    • Docker
    • Vagrant
    • OpenStack

测试

  • TestNG
  • Selenium
  • Jenkins

环境工具

  • Git
    • git add
    • git clone
    • git commit
    • git pull
    • git push
    • git branch
    • git merge
    • git log
    • git rebase
    • git status
    • gitlab
  • Maven
    • mvn eclipse:clean eclipse:eclipse
    • mvn clean install
    • mvn assembly:assembly
    • mvn dependency:tree
  • Mac
    • Alfred: Mac下第一神器
    • iTerm:比自带的终端更好用
    • zsh + oh-my-zsh: 比bash更加强大
    • tmux: 终端多窗口分屏工具
    • CatchMouse: 快捷键多屏切换
    • Reeder:最好的RSS阅读工具
    • VMWare:无缝的虚拟机软件
    • MacDown:markdown编辑器
    • Dash:各种文档资源,非常好用的snippet
    • VirtualDiff:代码比较工具
    • HomeBrew (http://brew.sh/): 安装各种开源工具
  • Linux
    • Terminator:终端多窗口分屏工具
    • VirtualBox:开源虚拟化软件
  • Python
    • ipython
    • pip
    • PyCharm CE
  • Java
    • Eclipse
    • IntelliJ IDEA
  • 其它
    • Navicat:跨平台的MySQL客户端
    • Sublime Text 2:跨平台的文本编辑器
    • Pocket:跨平台的稍后阅读工具
    • Xmind:跨平台的思维导图工具

你可能感兴趣的:(读书)