Skip to content

Instantly share code, notes, and snippets.

@ninjachen
Last active December 2, 2019 05:27
Show Gist options
  • Save ninjachen/1eba293199320fdc7b72f1be5d63047e to your computer and use it in GitHub Desktop.
Save ninjachen/1eba293199320fdc7b72f1be5d63047e to your computer and use it in GitHub Desktop.
resume_cn.json
{
"basics": {
"name": "宁佳晨",
"label": "Java工程师",
"picture": "https://avatars3.githubusercontent.com/u/3176871?s=460&v=4",
"email": "jiachenning@gmail.com",
"phone": "(86) 15800800838",
"website": "https://rnd.app",
"summary": "一名技能广泛的程序员,从业7年,动手能力较强,熟悉JavaEE,Android,PHP领域.",
"location": {
"address": "",
"postalCode": "",
"city": "上海",
"countryCode": "CN",
"region": "静安"
},
"profiles": [{
"network": "StackOverflow",
"username": "ninja",
"url": "https://stackoverflow.com/users/1323374/ninja"
}, {
"network": "GitHub",
"username": "ninjachen",
"url": "https://github.com/ninjachen"
}]
},
"work": [{
"company": "上海话多信息科技有限公司",
"position": "Java软件工程师",
"website": "http://www.jijigugu.club",
"startDate": "2018-09-25",
"endDate": "2019-07-31",
"summary": "我们做了款社交app叫一罐,面向孤独、社交恐惧的用户群体。在这里我的职务是负责后端和管理后台的研发,以及工具、技术的调研。",
"highlights": [
"重构和维护整个管理后台系统。后台系统的功能包括登陆认证,权限控制,日记内容过滤和审核,处理用户举报,运营话题推送,优质内容推荐,用户反馈管理等。",
"从Mysql迁移大表到HBase,制定迁移计划,包括rowkey设计,性能测试,边界测试,新数据双写,老数据迁移。",
"调研和搭建HBase集群,微服务化HBase模块。整合HBase client和SpringBoot框架,封装一些通用逻辑,例如断线重连、查询结果组装成Java POJO。设计HBase的rowkey,满足业务查询需求。正式环境关闭自动分裂,配合pre-split,分散数据到不同服务器。",
"调研Percona的pt-online-schema-change用来解决mysql数据库的在线更改需求。包括导出真实数据搭建离线测试平台,测试边缘情况(比如负载很大,utf8数据etc),正式环境dry run,业务低谷期正式上线。 mysql自带的online ddl功能在业务量大的情况下会带来很大性能压力而影响用户请求,所以需要调研并测试pt-osc来解决在线表的变更性能问题。",
"维护自研的IM服务,满足PM的feature,满足低延迟高并发的技术要求。IM接口数据大部分基于Protocol Buffer做编码解码。",
"搭建自动化部署流程,基于Jenkins,Gitlab,Supervisor。",
"写一些Groovy脚本,把关系型数据库表转换成Java POJO,避免重复性工作。",
"写一些bash脚本,简化部署流程和方便运维服务器。例如:定时备份数据库,定时更新https证书,定时清理过期文件。"
]
}, {
"company": "上海展卷信息科技有限公司",
"position": "软件工程师",
"website": "",
"startDate": "2016-07-01",
"endDate": "2018-09-25",
"summary": "Zeonic是一家致力于公共交通出行的初创公司。我在这里的职务是协调技术团队完成项目,同时我也是主力Java后端工程师。我们做的扫码坐公交app,比申通metro大都会更早上线。完成第一代二维码支付方案的核心部分。",
"highlights": [
"完成估算算法,可以计算公交车还有多久到车站以及目前的位置,",
"设计整个二维码支付平台,包括服务端下发临时二维码,车上pos机校验二维码,异步回传乘车凭证。因为公交车的弱网环境,需要设计离线的二维码校验流程。",
"对合作伙伴输出乘车二维码功能,这部分基于Oauth2认证。因为手机端的特殊性,引用了Oauth2的扩展协议(RFC7662 Token Introspection)",
"优化Android应用,使得操作更流畅,动画更自然。动画部分基于Lottie",
"写Android端基于PBOC的交通卡充值和查询功能",
"从0搭建公司的Java项目,主要用了SpringBoot,JPA和Gradle,这阵子打算引入ProtoBuf",
"杂项:写单元测试,搭建Jenkins,Bitbucket,Jira,服务器端自动备份脚本,etc"
]
}, {
"company": "上海四邻金融信息有限公司",
"position": "Android和PHP工程师",
"website": "https://www.40jr.com/",
"startDate": "2015-07-01",
"endDate": "2016-03-30",
"summary": "我在比较早期加入的四邻金融。我们的客户是一些没有研发能力的初创团队,我们帮助他们完成初期的业务平台,组建技术团队。我在公司的职位是Android和PHP工程师,也担任技术顾问解答琐碎问题。",
"highlights": [
"写混合开发的移动应用,统一app-api登陆和app-webview登陆状态。",
"用Jsbridge完成app native端和app内嵌web端的方法互调。",
"构造有限状态机,完成订单系统(后端)",
"基于Http Digest和加盐md5解决多个业务服务器间互相信任难题。"
]
}, {
"company": "上海即科金融信息有限公司",
"position": "全栈工程师",
"website": "https://www.geexfinance.com/",
"startDate": "2014-09-01",
"endDate": "2015-07-01",
"summary": "我的第二份工作是在一家叫即科金融的初创公司。它是一家拿了红杉投资A轮的消费金融公司。 我们帮客户打造他们的网站和app,顺便提供我们的金融贷款服务。",
"highlights": [
"协助完成初代的贷款业务平台开发(PHP)",
"独立完成Android pad端的贷款app",
"协助完成网页端贷款app,能在微信中使用(Angular)",
"基于Crontab和Redis完成非阻塞的订单处理模型"
]
}, {
"company": "上海万达信息股份有限公司",
"position": "Java工程师",
"website": "http://www.wondersgroup.com/",
"startDate": "2012-07-01",
"endDate": "2014-09-01",
"summary": "我第一份工作是编写企业级应用的Java工程师. 一个项目是给南京禄口机场提供每日排班和航班延误告警功能。一个项目是给上海申通提供企业OA如新闻发布,生成工单,项目预算。",
"highlights": [
"构造基于Spring的服务器应用和Java桌面应用",
"写存储过程和视图来整合数据,最后导出pdf报表",
"构造Java和Groovy混编项目",
"有时候也会去救救火,比如修复iOS项目的bug(虽然并没学过oc)"
]
}],
"volunteer": [],
"education": [{
"institution": "上海大学",
"area": "计算机科学与技术",
"studyType": "本科",
"startDate": "2008-09-01",
"endDate": "2012-06-01",
"gpa": "",
"courses": [
"线性代数",
"操作系统",
"关系型数据库",
"数据结构"
]
}],
"awards": [],
"publications": [],
"skills": [{
"name": "Java",
"level": "Senior",
"keywords": [
"SpringBoot",
"Mysql, Redis, Mongodb",
"HBase",
"Dubbo",
"pt-online-schema-change",
"Gradle",
"UnitTest"
]
}, {
"name": "Android",
"level": "Senior",
"keywords": [
"Dagger",
"Retrofit",
"Lottie",
"ReactNative"
]
}, {
"name": "Web",
"level": "Junior",
"keywords": [
"Angular",
"Gulp",
"Bootstrap",
"Webpack"
]
}, {
"name": "PHP",
"level": "Junior",
"keywords": [
"Codeigniter",
"Infinite state machine",
"Composer",
"Crontab",
"Nginx+fpm"
]
}],
"languages": [{
"language": "中文",
"fluency": "母语"
}, {
"language": "英文",
"fluency": "流畅"
}],
"interests": [{
"name": "阅读",
"keywords": [
"小说",
"设计"
]
}],
"references": [],
"meta": { "theme": "kwan" }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment