-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresume.html
191 lines (171 loc) · 21.3 KB
/
resume.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE html><html><head>
<title>resume</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="file:////home/reumy/.vscode-server/extensions/shd101wyy.markdown-preview-enhanced-0.8.14/crossnote/dependencies/katex/katex.min.css">
<style>
code[class*=language-],pre[class*=language-]{color:#333;background:0 0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.4;-moz-tab-size:8;-o-tab-size:8;tab-size:8;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:.8em;overflow:auto;border-radius:3px;background:#f5f5f5}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal;background:#f5f5f5}.token.blockquote,.token.comment{color:#969896}.token.cdata{color:#183691}.token.doctype,.token.macro.property,.token.punctuation,.token.variable{color:#333}.token.builtin,.token.important,.token.keyword,.token.operator,.token.rule{color:#a71d5d}.token.attr-value,.token.regex,.token.string,.token.url{color:#183691}.token.atrule,.token.boolean,.token.code,.token.command,.token.constant,.token.entity,.token.number,.token.property,.token.symbol{color:#0086b3}.token.prolog,.token.selector,.token.tag{color:#63a35c}.token.attr-name,.token.class,.token.class-name,.token.function,.token.id,.token.namespace,.token.pseudo-class,.token.pseudo-element,.token.url-reference .token.variable{color:#795da3}.token.entity{cursor:help}.token.title,.token.title .token.punctuation{font-weight:700;color:#1d3e81}.token.list{color:#ed6a43}.token.inserted{background-color:#eaffea;color:#55a532}.token.deleted{background-color:#ffecec;color:#bd2c00}.token.bold{font-weight:700}.token.italic{font-style:italic}.language-json .token.property{color:#183691}.language-markup .token.tag .token.punctuation{color:#333}.language-css .token.function,code.language-css{color:#0086b3}.language-yaml .token.atrule{color:#63a35c}code.language-yaml{color:#183691}.language-ruby .token.function{color:#333}.language-markdown .token.url{color:#795da3}.language-makefile .token.symbol{color:#795da3}.language-makefile .token.variable{color:#183691}.language-makefile .token.builtin{color:#0086b3}.language-bash .token.keyword{color:#0086b3}pre[data-line]{position:relative;padding:1em 0 1em 3em}pre[data-line] .line-highlight-wrapper{position:absolute;top:0;left:0;background-color:transparent;display:block;width:100%}pre[data-line] .line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}pre[data-line] .line-highlight:before,pre[data-line] .line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}pre[data-line] .line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}html body{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ol,html body>ul{margin-bottom:16px}html body ol,html body ul{padding-left:2em}html body ol.no-list,html body ul.no-list{padding:0;list-style-type:none}html body ol ol,html body ol ul,html body ul ol,html body ul ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:700;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::after,html body code::before{letter-spacing:-.2em;content:'\00a0'}html body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:after,html body pre code:before,html body pre tt:after,html body pre tt:before{content:normal}html body blockquote,html body dl,html body ol,html body p,html body pre,html body ul{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body code,html body pre{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview ul{list-style:disc}.markdown-preview ul ul{list-style:circle}.markdown-preview ul ul ul{list-style:square}.markdown-preview ol{list-style:decimal}.markdown-preview ol ol,.markdown-preview ul ol{list-style-type:lower-roman}.markdown-preview ol ol ol,.markdown-preview ol ul ol,.markdown-preview ul ol ol,.markdown-preview ul ul ol{list-style-type:lower-alpha}.markdown-preview .newpage,.markdown-preview .pagebreak{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center!important}.markdown-preview:not([data-for=preview]) .code-chunk .code-chunk-btn-group{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .status{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0;min-height:100vh}@media screen and (min-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{font-size:14px!important;padding:1em}}@media print{html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 300px / 2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
</style>
<!-- The content below will be included at the end of the <head> element. --><script type="text/javascript">
document.addEventListener("DOMContentLoaded", function () {
// your code here
});
</script></head><body for="html-export">
<div class="crossnote markdown-preview ">
<div style="margin-top:20px">
<div style="display:inline-block;margin-right:20px">
<img style=";margin-top:-6px;width:120px;" src="https://codertzm.oss-cn-chengdu.aliyuncs.com/img/resume.jpg">
</div>
<div style="display:inline-block">
<h1 style="margin-bottom:20px">唐梓铭</h1>
<div style="display:flex">
<div>男</div>
<div style="margin:0 10px;">|</div>
<div>23岁</div>
<div style="margin:0 10px;">|</div>
<div>13036397961</div>
<div style="margin:0 10px;">|</div>
<div>[email protected]</div>
</div>
</div>
</div>
<h2 style="border-bottom:1px solid #000000;">专业技能</h2>
<ol>
<li><strong>掌握 html5、css3</strong>,掌握文档流、盒模型、flex、grid 布局定位等</li>
<li><strong>掌握 JavaScript 和 ES6+</strong>,掌握 事件循环、原型、Promise、this 指向、箭头函数等 基本原理</li>
<li><strong>熟悉 Vue、React、uni-app</strong>,能够快速熟练使用框架进行开发</li>
<li><strong>熟悉 Nest.js、Next.js 等相关web框架开发</strong>,了解prisma、trpc、auth.js、tailwind等全栈开发技能</li>
<li><strong>熟悉 基本运维技能</strong>,了解 MySQL、Nginx、Docker、Linux,以及CI、CD相关概念</li>
<li><strong>熟悉 Vite、Rollup、webpack 构建工具的配置及原理</strong>,熟悉 TypeScript 进行项目开发</li>
<li><strong>熟悉 前端工程化工具链</strong>,具有良好的代码风格和前端工程化思维,有业务组件库的开发经验</li>
<li><strong>掌握 常见的设计模式和数据结构</strong>,追求开发高质量、高可维护性的代码</li>
<li><strong>熟悉 http 协议</strong>、掌握基本计算机网络知识</li>
</ol>
<h2 style="border-bottom:1px solid #000000;">工作经历</h2>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">上海百度研发中心</div>
<div>2023.07-2024.08</div>
</div>
<ul>
<li>技术栈:react、自研低代码平台、小程序</li>
<li>部门:支付宝体验技术部</li>
<li>工作内容:
<ol>
<li>负责支付宝App 基础分发业务迭代需求开发及架构治理,开发并维护端框架基础相关插件与组件。高效高质量进行项目开发,保质保量交付业务。达到独立承接业务能力,能站在不同视角理解业务。</li>
<li>参与支付宝兴趣社区、智能助理、翻译工具、功能管理等项目开发,负责H5页面和中后台项目功能研发、业务组件封装、性能优化和提升用户体验相关需求,抽离hooks和工具函数提高开发效率。</li>
<li>结合内部自研平台,做好监控与埋点,将前端安全生产落地,理解前端安全生产,对应急事件做到及时响应。负责内部平台的维护与需求迭代,答疑开发者使用相关问题。</li>
<li>积极主动输出文档,降低后续维护成本,提高团队开发效率。具有良好的沟通能力,多次参与组内分享,提高团队整体技术氛围。</li>
</ol>
</li>
</ul>
<h2 style="border-bottom:1px solid #000000;">项目经历</h2>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">兴趣社区</div>
<div>2023.11-2024.08</div>
</div>
<ul>
<li>技术栈:react、typescript</li>
<li>工作内容:
<ol>
<li>开发兴趣社区C端和B端基本功能,包括图文评论、活动广场、小组广场等功能。同时负责使用集团低代码平台进行中后台系统研发。</li>
<li>结合内部H5状态管理工具,封装逻辑(hooks和工具函数),提高代码可读性,定期组织代码CR评审会,提高项目可维护性。同时做好日志监控、埋点等基础功能。关注用户体验与性能优化。</li>
<li>与项目owner一起协调多方沟通解决问题,借助日志排查问题,遇到问题及时暴露风险。</li>
<li>输出业务相关文档,总结并分享相关踩坑记录,帮助部门其他成员提高开发效率。</li>
</ol>
</li>
</ul>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">智能助理</div>
<div>2024.04-2024.08</div>
</div>
<ul>
<li>技术栈:cube SDK-自研DSL框架、react</li>
<li>工作内容:
<ol>
<li>使用自研DSL框架开发移动端应用,建设知识库降低团队人员培养成本</li>
<li>与框架开发团队沟通,配合框架开发者共同提高开发体验和效率</li>
<li>承接智能助理相关前端开发需求,快速迭代智能助理相关能力,同时开发app端系统设置页和官网landing页面</li>
</ol>
</li>
</ul>
<h2 style="border-bottom:1px solid #000000;">实习经历</h2>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">上海百度研发中心</div>
<div>2022.10-2022.12</div>
</div>
<ul>
<li>技术栈:Vue2、webpack、Ant design vue、vant</li>
<li>项目:手机百度帮助中心、数智中台</li>
<li>实习内容:
<ol>
<li>手机百度帮助中心的代码重构,并负责内部业务组件库部分组件的维护与封装。</li>
<li>开发手机百度帮助中心资源位页面-全民反诈聚合页和青少年保护页的开发与维护。</li>
<li>开发数智中台的访客端设置,使用 vuedragable 结合 antd-vue 完成待办项拖拽调整。</li>
</ol>
</li>
</ul>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">上海聪链信息科技</div>
<div>2023.2-2023.06</div>
</div>
<ul>
<li>技术栈:Vue3、Typescript、Vite</li>
<li>项目:加密支付网关、渲染农场</li>
<li>实习内容:
<ol>
<li>从零搭建前端项目,使用前端工具链如 Eslint、prettier、commitlint、husky 等工具提高项目工程化。</li>
<li>学习区块链概念及相关技术栈,使用 hardhat、solidity 进行简单合约开发。</li>
<li>优化用户体验和包体积大小,利用 Vite 构建工具进行代码分割。</li>
</ol>
</li>
</ul>
<h2 style="border-bottom:1px solid #000000;">项目经验</h2>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">koa-inventor</div>
<div>2022.07-2022.08</div>
</div>
<div style="font-size:19px; font-weight:600;margin:5px 0;">独立开发</div>
<ul>
<li>项目内容:
<ol>
<li>该 CLI 支持交互式创建 koa 项目,根据提示即可选择自己的配置,快速创建项目</li>
<li>支持动态创建文件,使用命令行动态生成 MVC 模块</li>
<li>创建项目时交互式选择中间件, 使用 ejs 模板引擎实现可配置生成代码模板,支持选择包管理工具管理依赖</li>
</ol>
</li>
</ul>
<div style="display:flex;justify-content:space-between">
<div style="font-size:20px;font-weight:600">红丝带小卫士</div>
<div>2022.03-2022.04</div>
</div>
<div style="font-size:19px; font-weight:600;margin:5px 0;">独立开发</div>
<ul>
<li>项目内容:
<ol>
<li>基于 websocket 实现聊天室功能;二次封装网络请求及文件上传功能,封装自定义组件,提高开发效率</li>
<li>二次封装表格、搜索、列表等功能的公共组件,实现通过 props 传入配置对象生成页面</li>
<li>动态路由进行路由鉴权,根据用户进行鉴权显示隐藏组件</li>
</ol>
</li>
</ul>
<h2 style="border-bottom:1px solid #000000;">获奖荣誉</h2>
<ol>
<li>第十三届蓝桥杯 web 应用开发国赛二等奖</li>
<li>第七届互联网+创新创业大赛市赛三等奖</li>
<li>第十五届计算机设计大赛市赛三等奖</li>
<li>2022 微信小程序应用开发赛西南赛区三等奖</li>
<li>校级三等奖学金</li>
<li>校级优秀共青团员荣誉称号</li>
<li>大学英语 CET4 证书</li>
</ol>
<h2 style="border-bottom:1px solid #000000;">教育经历</h2>
<p>重庆工程学院 - 数字媒体技术 / 本科学历(2019.09 - 2023.07)</p>
<h2 style="border-bottom:1px solid #000000;">自我评价</h2>
<ol>
<li>专业基础扎实,对前端开发技术充满热情与兴趣,热爱参与开源项目</li>
<li>对未知的事物和世界充满好奇,学习能力强,充满探索精神。</li>
</ol>
</div>
</body></html>