📦 malash / cv

📄 index.html · 321 lines
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321<!doctype html>
<html>
  <head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, user-scalable=no, minimal-ui'>
    <title>Chong MA - CV</title>
    <link href="index.css" rel="stylesheet">

    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-25658471-1', 'auto');
      ga('send', 'pageview');
    </script>
  </head>
  <body>
    <script>
      /* this script must run before Polymer is imported */
      window.Polymer = {
        // dom: 'shadow',
        lazyRegister: true,
      };
    </script>
    <link rel="import" href="./bower_components/polymer/polymer.html">
    <link rel="import" href="./bower_components/paper-fab-menu/paper-fab-menu.html">
    <script>
      (function() {
        if ('registerElement' in document
            && 'import' in document.createElement('link')
            && 'content' in document.createElement('template')) {
          // platform is good!
        } else {
          // polyfill the platform!
          var e = document.createElement('script');
          e.src = './bower_components/webcomponentsjs/webcomponents-lite.js';
          document.body.appendChild(e);
        }
      })();
    </script>

    <div id='resume'>
    <div id='nameBlock' class='largeFont'>
      <span class='name'>
        <b>Chong MA</b>
      </span>
    </div>
    <div id='basicsBlock' class='smallFont'>
      <div class='contactBlock'>
        <span class='email'>Email: <a href='mailto:i@malash.me'>i@malash.me</a></span>
        <span class='divider'>|</span>
        <span class='phone'>Tel: +86 186-1146-1148</span>
      </div>
        <div id='profilesBlock'>
          <span class='url'>
            Website: <a href='https://malash.me/'>https://malash.me/</a>
          </span>
          <span class='divider'>|</span>
          <span class='github'>
            Github: <a href='https://github.com/malash'>https://github.com/malash</a>
          </span>
        </div>
    </div>
    <div class='sectionLine'></div>

    <div id='skills' class="sectionBlock">
      <div class='sectionName'>
        <span>SKILLS</span>
      </div>
      <div class='sectionContent'>
        <div class='skillBlock'>
          <span class=''>Front-End:</span>
            <span><b>React</b>, AngularJS, RxJS, Noflux.js</span>
        </div>
        <div class='skillBlock'>
          <span class=''>Back-End:</span>
            <span><b>Express</b>, <b>Koa</b>, PHP</span>
        </div>
        <div class='skillBlock'>
          <span class=''>Database:</span>
            <span><b>MongoDB</b>, MySQL</span>
        </div>
        <div class='skillBlock'>
          <span class=''>OPS:</span>
            <span>Linux, <b>PM2</b>, v8-profile, NginX</span>
        </div>
        <div class='skillBlock'>
          <span class=''>Big Data<em>(general)</em>:</span>
            <span>Elastic Search, HBase, Storm</span>
        </div>
        <div class='skillBlock'>
          <span class=''>Tools:</span>
            <span><b>VS Code</b>, Vim, Git, Photoshop</span>
        </div>
      </div>
    </div>
    <div class='sectionLine'></div>

    <div id='languages' class="sectionBlock">
      <div class='sectionName'>
        <span>LANGUAGES</span>
      </div>
      <div class='sectionContent'>
        <span class='language'>Chinese</span>
        <span class='fluency'><em>(Native Speaker)</em></span>
        <span>,</span>
        <span class='language'>English</span>
        <span class='fluency'><em>(Proficiency)</em></span>
      </div>
    </div>
    <div class='sectionLine'></div>

    <div id='workBlock' class="sectionBlock">
      <div class='sectionName'>
        <span>EXPERIENCE</span>
      </div>
      <div class='sectionContent'>
        <div class="jobBlock">
          <div class='blockHeader'>
            <span class='title'>
              Tencent, Front-End Engineer
            </span>
            <span class='date'>
              Mar. 2017 &mdash; Jun. 2018
            </span>
          </div>
          <ul class='highlights'>
            <li>I response for front and back development work of "Tencent News" web application. The website has 200 millions DAU ( Daily Active User ) and 600 millions MAU ( Monthly Active User ).</li>
            <li>I refactor existing code using React, Webpack, Rollup, PostCSS and ESLint in front-end and Smarty(PHP) framework in back-end.</li>
          </ul>
        </div>
      </div>
    </div>

    <div id='publications'>
      <div class='sectionName'></div>
      <div class='sectionContent'>
        <div class="jobBlock">
          <div class='blockHeader'>
            <span class='title'>
              Meituan-Dianping, Front-End Engineer
            </span>
            <span class='date'>
              July 2015 &mdash; March 2017
            </span>
          </div>
          <ul class='highlights'>
            <li>I managed tow project in this company, the Application Performance Monitoring and the App Crash Monitoring.</li>
            <li>I designed the project architecture and use JavaScript technology stacks for front-end and back-end program including Angular, Express and Koa. I learned Big Data technology like OpenTSDB, Elastic Search, Kafka and Storm. I collaborate with App development group and data research group.</li>
          </ul>
        </div>
      </div>
    </div>
    <div class='sectionLine'></div>

    <div id='publications'>
      <div class='sectionName'>
        <span>PROJECTS</span>
      </div>
      <div class='sectionContent'>
        <div class='blockHeader'>
          <span class='title'>
            Tencent News Mobile Version (Tencent)
          </span>
          <span class='date'>
            <span class='releaseDate'>
              Mar. 2017 &mdash; Jun. 2018
            </span>
          </span>
        </div>
        <p>
          "Tencent News" mobile version's users mostly come mainly from official accounts of WeChat and QQ. It provides rich media pages including text, images, videos, and animations.
          <ul class='highlights'>
            <li>Leading the front-end development. I am familiar with mobile browser compatibility and flex layout。</li>
            <li>On the basis of understanding the business I abstract, encapsulate, test the key modules like "app downloader" and publish modules on NPM mirror. I use test-driven development to reduce the risk of refactoring.</li>
            <li>In addition to programing, I led the group of colleagues and interns to complete the development task. I am responsible for demand scheduling and code review. For code quality I standardize the front-end development process, including: using ESLint, migrating work flow from SVN to Git, improving test process.</li>
          </ul>
        </p>
      </div>
    </div>

    <div id='publications'>
      <div class='sectionName'></div>
      <div class='sectionContent'>
        <div class='blockHeader'>
          <span class='title'>
            <a href="https://github.com/nofluxjs/noflux">Noflux.js</a>
          </span>
          <span class='date'>
            <span class='releaseDate'>
              Apr. 2017 &mdash; Now
            </span>
          </span>
        </div>
        <p>
          Noflux.js is an open-source project that provides a simple, stupid state management for JavaScript apps such as React. It's easier to get started than Redux and MobX. Noflux.js is widely used in "Tencent News" team and Meituan-Dianping's framework "Turbo".
        </p>
      </div>
    </div>

    <div id='publications'>
      <div class='sectionName'></div>
      <div class='sectionContent'>
        <div class='blockHeader'>
          <span class='title'>
            Application Performance Monitoring (Meituan-Dianping)
          </span>
          <span class='date'>
            <span class='releaseDate'>
              July 2015 &mdash; March 2017
            </span>
          </span>
        </div>

        <p>
          A website for developers facing performance problems in their website or apps. By using data report SDK, users can view performance metrics like load time, network latency and FPS on web browser or devices.
          <br />There are competing products industry like OneAPM and New Relic.
          <ul class='highlights'>
            <li>I program the website full stack using Angular, Express and Node. I use D3.jd and EChart for data visualization.</li>
            <li>I designed the project architecture which was build on microservice based on Node. I use Elastic Search and OpenTSDB for store data. I use Kafka for module decoupling and reducing load then traffic is heavy.
            <li>I was also responsible for the OPS work.</li>
          </ul>
        </p>
      </div>
    </div>

    <div id='publications'>
      <div class='sectionName'></div>
      <div class='sectionContent'>
        <div class='blockHeader'>
          <span class='title'>
            App Crash Monitoring (Meituan-Dianping)
          </span>
          <span class='date'>
            <span class='releaseDate'>
              March 2016 &mdash; October 2016
            </span>
          </span>
        </div>
        <p>
          A solution for analyzing iOS and Android crash report to find out when and why App crashed. Reports on the website or email generated from crash data group by eigenvalue help developers find out bugs in code. In addition, the data analyzing support iOS symbolicating and Android retrace.
          <ul class='highlights'>
            <li>I program the website full stack using Angular, Express, Koa and Mongoose including crash report, symbol file management and eigenvalue rules.</li>
            <li>I design and program the core module of iOS symbolicating and Android retrace.
            <li>I design a priority queue in MySQL for guaranteeing real-time data analyzing.</li>
          </ul>
        </p>
      </div>
    </div>

    <div id='publications'>
      <div class='sectionName'></div>
      <div class='sectionContent'>
        <div class='blockHeader'>
          <span class='title'>
            <a href='https://2048.malash.net/'>2048 Custom</a>
          </span>
          <span class='date'>
            <span class='releaseDate'>
              March 2014 &mdash; April 2014
            </span>
          </span>
        </div>
        <p>
          Allow users create 2048 game with their own words or images.
          <ul class='highlights'>
            <li>I use HTML5, CSS3, PHP and MySQL building the website. I use FileReader to preview and upload and use Newton's law of cooling to make a top list.</li>
            <li>I develop and maintain the website by myself and the website has 55 million page visits, 269 thousands games and 1 million images.</li>
          </ul>
        </p>
      </div>
    </div>
    <div class='sectionLine'></div>

    <div id='education' class="sectionBlock">
      <div class='sectionName'>
        <span>EDUCATION</span>
      </div>
      <div class='sectionContent'>
        <div class='educationBlock'>
          <span class='title'>
            Beihang University, Beijing, China
          </span>
          <span class='date'>
            September 2011 - July 2015
          </span>
          <div class="">
            <p>
            CET-6<em>(College English Test 6)</em>: <b>passed</b>
            <br />
            Awards:
            <ul class='highlights'>
              <li>Third prize in the Challenge Cup Competition of Science Achievement in China</li>
              <li>First prize in the Fengru Cup Competition of Beihang University</li>
              <li>First prize in Programming Competition of Beihang University twice</li>
              <li>Second-class scholarship</li>
            </ul>
            Summer camp tours: Japan and Hong Kong
            </p>
          </div>
        </div>

      </div>
    </div>

    <paper-fab-menu icon="add" color="#1E88E5" position="vertical">
      <a href="https://malash.me/project/cv-2017">
        <paper-fab-menu-item label="Last yaer" icon="history" color="#1E88E5"></paper-fab-menu-item>
      </a>
      <a href="javascript:print()">
        <paper-fab-menu-item label="Print" icon="print" color="#1E88E5"></paper-fab-menu-item>
      </a>
      <a href="./index-zh.html">
        <paper-fab-menu-item label="简体中文" icon="icons:translate" color="#1E88E5"></paper-fab-menu-item>
      </a>
    </paper-fab-menu>
  </body>
</html>