Category Archives: 程序人生

2015中国互联网Top500

1

2

3

4

5

知道创宇研发技能表v2.2

 
  • 2014/3/9 发布

    by @知道创宇(www.knownsec.com) @余弦 & 行之

    知道创宇是国内Geek十足且普遍被认为特别有前途的互联网安全公司,

    动态请关注微信公众号:Lazy-Thought

    • 说明
      • 本技能表为知道创宇研发工程师必备技能
      • 聪明的人会根据每个tip自驱动扩展
      • 不聪明的,坐等别人手把手的人请绕行,不仅不适合知道创宇,也不适合任何有Geek精神的公司
      • attach
        附件标志是我们推荐的附加资源,感谢资源提供者
    • 通用技能
      • 公司与个人
        • 公司是盈利性组织
        • 个人和公司必须双赢
        • 工作
          • 在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作
      • 沟通、反馈、责任
        • 一个无沟通能力的人,要么是天才,要么是不可爱的人
        • 反馈要及时
          • 避免出问题不反馈,影响进度
          • 方式
            • 正式的:邮件
            • 临时的:QQ等即时通信
            • 礼貌的:给个电话、短信
        • 工作有大小,责任心无大小
        • 周报的透明
          • 意义:大家互相了解工作与心得,有利于自己的判断与成长
          • 不是单纯的给领导汇报工作
      • 任务四象限,决定优先级
        • 紧急重要
        • 重要不紧急
        • 紧急不重要
        • 不紧急不重要
      • 新事物的敏感性
        • 保持好奇心
        • 不要局限在自己的圈子,适当跨界吸收灵感
        • 订阅国内外优秀博客/资源,鲜果RSS阅读不错
          • 英文很重要
        • 选择性参与一些必要的会议,听必要的主题,讨论必要的话题
      • 成长
        • 对知识的渴望程度决定了前进动力的大小
          • messagebox_warning
            BT常说:「做人一定要狂热!」
          • messagebox_warning
            我说:「一定得贪婪!」
        • 不要矫情,不要浮夸!
        • 和比你厉害的人在一起,和一流的人工作
          • 指点往往是精华
          • messagebox_warning
            杜绝笨蛋爆炸
            • 二流的人招进来的人不太可能是一流的
        • 思考
          • 批判性思考
          • 换位思考
        • idea
          提问的智慧
          • 遇到问题先独立思考,尽最大努力后再提问
          • http://www.wapm.cn/smart-questions/smart-questions-zh.html
        • idea
          小事心态
          • 越基础的事越关键,需要越细心
          • 不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
          • 基础不牢、地动山摇
          • 小事做不好,别提大事
        • idea
          任务拆分
          • 成长过程会经历:能力越大、责任越大、事情越多
          • 思路
            • 拆分细化为多个点
            • 排好优先级

              Arrow Link

            • 加入时间维度:何时完成什么

              Arrow Link

            • 是否需要寻求帮助,谁能帮你,自己单干?

              Arrow Link

            • 任务是否可以切换/并发
            • 自己欠缺什么,立马发现
        • idea
          方法论
          • 完成一件事有好几条途径,优秀的人的途径最短
          • 任务拆分很容易得出做事的方法论
          • 好的「方法论」会让你具备更强的「创造力」!
            • idea
              时刻问自己:「是否具备创造力?」
      • 牛人姿态
        • 即使现在不是牛人,也得具备这样的姿态
        • 这种感觉只能意会
        • 没有一定扎实内功与远见的人很少有这样的姿态
      • messagebox_warning
        完成的定义
        • 比如写个POC
          • 1. 搞懂了目标Web应用漏洞的原理
          • 2. 熟练运用Python各相关模块与机制
          • 3. 熟练了解了HTTP协议
            • HTTP请求
            • HTTP响应
          • 4. 代码写得够规范,让人看起来就是爽
          • 5. 程序经过足够的测试
            • 黑测试
            • 白测试
          • 6. 及时反馈进度
            • 我遇到困难了
            • 我搞定了
          • 7. 更新相关文档,沉淀
      • messagebox_warning
        熟练的定义
        • 比如熟练SQL注入
          • SQL语句这门“语言”能脱离文档顺手写出
          • 主流数据库的SQL特有函数、存储过程、机制我都了如指掌
            • MySQL
            • MSSQL
            • Oracel
            • Postgre
            • Access
            • SQLite
          • 牛逼的工具我不仅用的顺其自然,源码还读过几遍,我能修改
            • sqlmap
          • 我具备创造性,而不仅仅是跟在大牛身后
            • 研究出了几个不错的技巧
            • 发了几篇不错的Paper
            • 对外会议/沙龙等进行了几次分享
            • 写出了自己的相关工具,爽
          • 我实战了N回,遇到了很多奇葩环境,我有足够的信心绕过
          • 以上这些之后,这才叫熟练!其他同理
      • 好书推荐
        • 推荐理由
          • 打通任督二脉的书,怎能不看?
          • 任何科学研究最终必须至少到哲学层面,触碰到上帝的脚
          • 具体技术类书籍请见“专业技能”相关部分
        • 鸡汤类
          • 黑客与画家
            • 印象深刻:设计者的品味
              • 好设计是简单的设计
                • 抓住本质
              • 好设计是永不过时的设计
                • 如果解决方法是丑陋的,那就肯定还有更好的解决方法,只是还没有发现而已
              • 好设计是解决主要问题的设计
              • 好设计是启发性的设计
              • 好设计通常是有点趣味性的设计
              • 好设计是艰苦的设计
              • 好设计是看似容易的设计
              • 好设计是对称的设计
              • 好设计是模仿大自然的设计
              • 好设计是一种再设计
              • 好设计是能够复制的设计
              • 好设计往往是奇特的设计
              • 好设计是成批出现的
              • 好设计常常是大胆的设计
          • 浪潮之巅
            • 感受IT帝国的崛起与没落,我们现在站在又一个互联网浪潮之巅
        • 洁癖类
          • 重构
          • 代码整洁之道
          • 代码大全2
          • 数学之美
        • 敏捷类
          • Rework中文版
            • 37signals团队的敏捷经验
          • 高效程序员的45个习惯
        • 产品类
          • 人人都是产品经理
          • 结网
        • 神书
          • 自私的基因
          • 失控
          • 万物由来
    • 专业技能
      • idea
        原则
        • 至少完整看完与练习好一本书
        • 至少过一遍官方文档
      • bookmark
        基础必备
        • HTTP抓包与调试
          • Firefox插件
            • Firebug
              • 抓包与各种调试
            • Tamper Data
              • 拦截修改
            • Live Http Header
              • 重放功能
            • Hackbar
              • 编码解码/POST提交
            • Modify Headers
              • 修改头部
          • Fiddler
            • 浏览器代理神器
            • 拦截请求或响应
            • 抓包
            • 重放
            • 模拟请求
            • 编码解码
            • 第三方扩展
              • Watcher
                • Web前端安全的自动审计工具
          • Wireshark
            • 各种强大的过滤器语法
          • Tcpdump
            • 命令行的类Wireshark抓包神器
          • Python
            • urllib2
              • 打开请求响应调试
                • 编辑urllib2的do_open里的h.set_debuglevel
                • 改为h.set_debuglevel(1),这时可以清晰看到请求响应数据,包括https
        • 什么是跳转
          • 服务端跳转
            • 302
              • <?php header(“Location: 3.php”); ?>
            • 301
              • <?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: 2.php”); ?>
            • u=urllib2.urlopen(url)后,u.url能得到服务端跳转后的地址
              • urllib2自己的特性
              • 所谓的会跟进去
          • 客户端跳转
            • <meta http-equiv=”refresh” content=”0; url=http://www.evilcos.me” />
              • htmlparse解析就行了
            • location.href=”http://evilcos.me”;
              • 正则(弱),js引擎(王道)
        • Python编码规范
          • attach
          • 入门书
            • Python核心编程2
              • 第4章 Python对象
                • 完整熟练
              • 6.8 Unicode
                • 完整熟练
              • 8.11 迭代器和iter()函数
                • 完整熟练
              • 第9章 文件的输入和输出
                • 完整熟练
              • 第10章 错误和异常
                • 完整熟练
              • 第11章 函数和函数式编程
                • 完整熟练
              • 第12章 模块
                • 完整熟练
              • 第14章 执行环境
                • 完整熟练
              • 第15章 正则表达式
                • idea
                  完整熟练
              • 第18章 多线程编程
                • 完整熟练
              • 20.2 使用Python进行Web应用:创建一个简单的Web客户端
                • 完整熟练
        • Office能力
          • Word文档编写,看去要专业,尤其对外的
          • Excel里面大量的统计、图表功能,需要善于使用
          • PPT演讲、培训等必备,如何做好PPT?百度一下……
          • ksmiletris
            进一步
            • yEd
            • Visio
            • FreeMind
              • 本技能表就是这个制作
        • 熟练VIM
        • 算法
          • 快排
          • 二分
        • 正则表达式
        • 研发能力
          • 瀑布模型
            • 需求->需求分析->设计->开发->测试->上线->运维/运营
          • idea
            需求分析能力
            • 给你一个需求,如何给出一个优美的执行思路——方法论
            • 这个能力非常非常非常的关键
          • 调试能力
            • 只要定位出,就没有解决不了的Bugs
            • 肉眼看到的都是假象
              • 一定要专业的工具与经验配合
            • Bugs在哪出现,最终就在哪进行真实模拟调试
            • 缩小范围
              • 构建自己的测试样例
                • 排除网络复杂未知情况
              • 关联模块一个个排除
              • Python单步调试
                • import pdb;pdb.set_trace()
                • 在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试
              • 粗暴调试:print
          • 敏捷思想
            • 快速迭代
            • 任务拆细
            • v1原则:定义好v1的目标,快速完成v1为优先
            • 习惯Wiki记录,利于沉淀与分享
        • 翻墙
      • Web安全
        • Web服务组件
        • 安全维度
          • 漏洞
          • 风险
          • 事件
        • Web安全标准
          • OWASP
          • WASC
          • 我们内部Wiki
        • 实战环境
          • 黑客攻防技术宝典(Web实战篇)
          • 白帽子讲Web安全
          • Web前端黑客技术揭秘
            • 我和xisigr自己出品
          • SQL注入攻击与防御
        • papers
      • 研发清单
        • 编码环境
          • pip
          • Vagrant
          • tmux/screen
          • vim
          • zsh + oh-my-zsh
          • Python2.7
          • >Django1.4
          • web.py
          • node.js
          • Ubuntu/Gentoo/Centos
          • ipython
          • 版本控制
            • git/svn
            • gitlab
          • Nginx+uWSGI
        • Python
          • 官方手册
            • 至少过一遍,这都没过一遍,视野会局限
            • 行之说:「我没看过Python的书,却熟读官方手册……」
        • Linux
        • 前端
            • JavaScript DOM编程艺术
          • 了解DOM
            • 这同样是搞好前端安全的必要基础
            • jQuery
              • 优秀的插件应该体验一遍,并做些尝试
              • 官方文档得过一遍
            • ECharts
              • 来自百度
            • Google API
            • ZoomEye Map组件
              • ZoomEye团队自己基于开源的打造
            • AngularJS
              • Google出品的颠覆性前端框架
            • Bootstrap
              • 应该使用一遍
        • 爬虫进阶
          • 代理池
            • 爬虫「稳定」需要
          • 网络请求
            • wget/curl
            • urllib2/httplib2/requests
            • idea
              scrapy
          • 验证码破解
            • pytesser
        • 调度
          • crontab是最原生的定时调度
          • 基于redis实现的分布式调度
          • 基于rpyc实现的分布式调度
          • celery/gearman等调度框架
        • 并发
          • 线程池
            • 进程内优美的并发方案
          • 协程
            • 进程内另一种优美的并发方案
          • 多进程
            • os.fork
            • idea
              multiprocessing
        • 数据结构
          • JSON
          • cPickle
          • protobuf
        • 数据库
          • MySQL
          • MongoDB
          • Cassandra
          • Hadoop体系
          • Redis
          • Sqlite
          • bsddb
        • DevOps
          • SSH证书
          • Fabric
          • SaltStack
          • puppet
          • pssh/dsh
        • 调试
        • 算法
        • 持续集成
          • 自测试
            • nose
          • Jenkins
        • 协作
          • 类似Trello的在线协同平台
          • 微信
          • 立会
      • 设计思想
        • 人人都是架构师:具备架构思想是一件多酷的事
        • 实战出真知
        • 如何设计
          • attach
          • 松耦合、紧内聚
          • 单元与单元属性
          • 生产者与消费者
          • 结构
            • 队列
            • LRU
          • 分布式
            • 存储
            • 计算
          • 资源考虑
            • CPU
            • 内存
            • 带宽
          • 粗暴美学/暴力美学
            • 大数据,先考虑run it,然后才能知道规律在哪
            • 「run it优先」能快速打通整体,洞察问题
            • 「run it优先」能摆脱细节(繁枝末节)的束缚
            • 「run it优先」能快速迭代出伟大的v1
          • 一个字总结
      • 优质资源
      • 牛人1,2,3
        • 1研究:研究东西,有足够洞察力,研究水准不错
        • 2研发:hack idea自己有魄力实现,不懂研发的黑客如同不会游泳的海盗
        • 3工程:研发出来的需要实战、需要工程化,否则只是玩具,而不能成为真的武器

from:http://blog.knownsec.com/Knownsec_RD_Checklist/v2.2.html

refer:Java后端工程师技能树

个人简介

郭彦彬的简历

郭彦彬的简历

突出的技术能力和管理能力兼备的综合性人才。
10年的软件研发经验,5年+的互联网应用开发经验。
5年多项目管理和团队管理经验,最多带过20名下属的团队。
熟练掌握Java开发语言,对J2EE平台有深入的研究,熟练使用Spring、Mybatis等框架
熟练使用MySQL、Oracle、SQL Server数据库以及Redis和Mongodb等NoSQL数据库
丰富的安全架构经验,对Web应用中常见的XSS、CSRF、注入等安全问题有深入的理解和实践经验
丰富的云平台应用经验,包括阿里云、亚马逊AWS云等平台的实践经验
熟悉前端框架Jquery、Bootstrap、jQuery Mobile、Knockout等
熟悉分布式框架及服务dubbo,Thrift,Zookeeper
了解大数据框架Hadoop、Hive、Storm、Spark等
良好的沟通能力及团队合作精神。

 

爱奇艺

1. 喜欢技术,喜欢折腾,喜欢处理线上的性能和高并发问题。
2. 我们自己折腾基于Protobuf的Rpc,基于Zookeeper的分布式系统,需要Geek的小伙伴加入。我们也在用Thrfit
3. 我们搞大数据,Hadoop、Hbase、Couchbase、Redis
4. 我们用Docker
5.只要觉得牛,薪水都好说

职位描述:

1、负责公司产品服务器端应用核心业务模块设计与开发。

2、负责公司产品服务器端应用关键技术攻关。

3、负责公司初级、中级Java工程师技术培训。

4、负责根据公司业务发展需要,组建、带领研发团队。

任职要求:

1、5年以上Java服务器端开发经验。

2、能够熟练使用主流存储技术,包含:MySQL、MongoDB、Couchbase、Cassandra、Redis、FastDFS;

3、能够熟练使用主流队列技术,包含:ActiveMQ、RabbitMQ、kafka、Disruptor;

4、能够熟练使用主流RPC技术,包含:Thrift、Dubbo;

5、能够熟练使用主流通信技术,包含:Mina、Netty、Protobuf;

6、能够熟练使用主流框架技术,包含:Spring、Axon(CQRS);

7、能够熟练使用阿里云服务,包含:MQS、 SLS、ODPS、OAS等。

 

职场-期权

看了题主的描述,猜测题主目前的想法是这样的:听闻阿里等上市公司的员工通过期权成为千万富翁,所以对创业公司给的期权很动心。与此同时也一直听闻期权只是创业公司画大饼的利器,所以踌躇不决。
(仅是个人揣测,如果错了欢迎答主评论指正)如果弄清楚以下两各问题,你的疑问就能迎刃而解:
a. 员工从入职协商期权到最终获得收益,是怎样的一个过程,其中有哪些关键因素?
b. 期权的收益如何计算?

什么是期权?
期权不是股权,而是一份按照约定价格在约定时间购买股份的合同。但如果说给期权,一定要落在纸上,口头承诺是没有任何意义的。

一份期权协议通常包括:起算日期、兑现时间(vesting schedule)、有无 cliff、行权价格、和已兑现期权的行权条件等。

一一解释下:
起算日期:什么时候开始发放期权,有的是入职即发放,有的是工作一段时间后根据员工表现发放。

兑现时间:员工到手期权,称之为兑现(vested),一般是分四年 vesting,假设四年一共给 n 股,按月发放,那么每月能拿到 n/48 股。

cliff:cliff 是避免员工入职只工作很短时间就离职,也能拿到期权的情况。协议中规定分四年 vesting +一年 cliff,那么第一年是拿不到期权的,在工作满一年后,这一年累计的 n/4 股一次性到手。在这以后,每月能到手 n/48 股。

行权价格:到行权期后可按约定价格购得公司股权,这个约定价格称之为行权价格。在公司发展越早的阶段(比如 A 轮)进入,行权价格越低,未来可获得的收益就越大。

%

职场-公司选择

日常的工作是帮程序员跳槽,常常会遇到想从软件公司跳槽到互联网公司的,也有想从互联网跳到软件公司的(觉得工作强度低)。他们很关心的一个问题是:软件公司和互联网公司,孰优孰劣?

其实两者之间没有优劣之分,但有更适合自己的那一个,对岸的风景也不一定是更美的。知己知彼方能百战百胜,我把在这两种公司里工作的差异阐述一下,对此感兴趣的程序员朋友看完便了解了。

1. 软件公司程序员在哪些公司工作?

很多人说到软件公司就是 IBM、Cisco 之流,其实和 VC 不是只有红杉、IDG 一样,软件公司也是多种多样,大体分为以下四类:

a、外企

  • 美资居多,办公环境和福利都很好
  • 招聘时对员工的英文水平有要求
  • 制度严格,绝无可能出现克扣工资等坑员工现象
  • 有些公司产品线固定缺乏创新,员工在公司里一直做一颗螺丝钉,得不到成长
  • 典型公司:IBM、 Cisco、Adobe

b、民营小公司

  • 规模小,比较典型的情况是老板有关系和行业资源,拉一伙儿程序员给他打工
  • 员工薪水有高有低,有的老板很慷慨有的则很抠门
  • 小公司存在风险。无论软件公司卖的是软件、解决方案还是服务,都是以客户为中心,所以小公司如果长时间接不到项目或者被客户拖欠款项的话,老板可能会拖欠工资或者直接开人
  • 一句话总结:去这类公司工作,老板的人品很重要

c、大型民企:典型公司如金蝶、用友

d、国资背景企业:比较典型的有「中科 XX 软件公司」,氛围和国企差不多

2. 在软件公司工作的程序员能赚多少钱?

对于应届生或者一两年工作经验的程序员来说,平均薪资的情况是外企>国内大公司>民营小公司

应届生的薪资水平

  • 外企 : 13~20W/年
  • 大型民企:4~10k/月
  • 民营小公司:差异很大,我见过应届生 3K/ 月的,也见过 8K/ 月的

3. 软件公司程序员的职业发展

  • 一条路径是走技术路线,一直做到技术负责人
  • 另一条路是做一段时间,从技术转到技术管理

4. 软件公司程序员的跳槽去向

  • 随着互联网大热,跳槽去互联网公司
  • 其他软件公司,比如从小公司跳槽到大型外企
  • 银行、金融企业的 IT 部门,钱多事少
  • 跳槽去客户那里,乙方跳甲方

5. 互联网公司程序员在哪里工作

  • 外企(在中国):google 等上市公司,以及 airbnb、uber 等明星创业公司
  • BAT、京东、途牛等上市公司
  • B 轮及以上的创业公司
  • 未融资、天使、A 轮的创业公司

6. 互联网公司程序员拿多少钱

  • 外企、上市公司、B 轮及部分 B 轮以前的创业公司,工资都比较高,比如阿里给应届生的批发价是13K*15月。详细情况推荐阅读 数据说话:怎样的程序员最抢手? – 程序员的自我修养 – 知乎专栏
  • 由于互联网公司近两年给应届生的薪水越来越高,不少互联网公司出现薪资倒挂的情况:同一家公司里,工作两年的程序员工资可能还不如刚入职的应届生高
  • 外企、上市公司给的工资不一定比创业公司高,时值 TMT 投资大热,很多融资完不差钱的创业公司为了招揽人才,会开出比 BAT 高20~50%的工资
  • 部分创业公司会用期权为理由压低工资,对于这种情况,推荐广大程序员同志阅读:程序员为了期权加入创业公司,值得吗?

7. 在软件公司和互联网公司,工作状态有什么不同

  • 在软件公司的程序员,比较典型的工作状态是 965,即早上 9 点上班,晚上 6 点下班,一周上班 5 天,相比互联网公司典型的 996,在工作强度上轻松许多
  • 一些软件公司存在人力外派的情况,需要员工到客户处出差几个月,去软件公司求职的程序员可以在面试时问清楚是否需要经常出差

8. 在软件公司和互联网公司,工作环境和氛围有什么不同

就办公环境我更喜欢互联网公司,尤其是互联网创业公司

典型的的软件公司办公环境

互联网创业公司

更重要的是,互联网创业公司的管理更扁平化,同事也更「潮」——更开放,适应潮流,带来新观点。
比如说,在互联网创业公司里大家会讨论 GoPro 相机的使用体验,老板开的车不是奔驰宝马而是特斯拉,这在软件公司里是不太可能发生的事情。而这样的公司,他们的技术开发、市场运营等,往往也会很与时俱进。