This document is a resume for John Mai summarizing his qualifications. It lists his education including two bachelor's degrees from the University of Waterloo and one from Nanjing University of Finance & Economics. It describes his experience with machine learning, coding in various languages, and networking. It also provides details of several personal projects including a cloud store, personal VPN, and games. His experience includes working as a teaching assistant for computer science courses.
1. 707 – 228 Albert Street John(Jiadong) Mai (519) - 781 - 2983
Waterloo, ON, N2L 3T6 mjd64929@gmail.com
SUMMARY OF QUALIFICATIONS
➢ Super Learner obtaining 2 Bachelor’s Degree and 1 minor degree in 5 years
➢ Extensive Practical Experience in machine learning & deep learning acquired from projects
➢ Strong Coding Background about C, C++, Python, HTML, Java & objective oriented analyze and design pattern
➢ Designed and Implemented many network solutions through protocols, like TCP/IP, WireGuard, V2ray, base of
the GitHub Open Source
➢ Update and Maintainer serval personal websites on my own VPS from Vultr, Aliyun, and BandwagonHost. Familiar
with different web hosting control panel, such as cPanel & btPanel
EDUCATION
University of Waterloo Fall 2016 - Winter 2019
C.S. Minor degree in Computer Science Winter 2019
➢ Relevant Courses: Object-Oriented Software Development, Designing Functional Programs, Elementary Algorithm
Design and Data Abstraction, Data Types and Structures, Computer Applications in Business: Databases
Regular B.E.S Honors degree in Environment Winter 2018
Nanjing University of Finance & Economics Fall 2014 – Winter 2016
Regular B.B.A Honors degree in Business Administration, GPA 3.0 Winter 2016
Third Class Scholarship (Top 25% by grades) 2014 & 2015
PROJECT
Personal Cloud Store Mar. 2019
➢ This website was build to packup my personal picture and video
➢ Due to the limit of budget, the VPS for the icloud only provide 40GB to store file. But the download speed could
reach 100 Mbps
➢ Add some funny plug-in, such online-call and online-editor, which is similar to the google doc.
Personal VPN Feb. 2019
➢ Run personal VPN, Virtual Private Network, to allow people who live in China cross over the digital wall and access
the outside network, like login Google, Facebook and YouTube.
➢ Due to the encryption methods, like ShadowSocks and Socks5, are almost blocked by the China digital wall. Choice
another open source on GitHub, called WireGuard, which sacrificed part of speed but less risk being found and
more stable
Biquadris, University of Waterloo, Waterloo, ON Dec. 2018
➢ Programmed a two-players Tetris game in C++ with save and load function enabled though memory management
➢ Self-learned the SFML library from scratch and added sound effect to the game
➢ Effectively applied design patterns including MVC, Visitor, Factory Method, and Template Methods as required
➢ Incorporated classes with suitable methods, inheritance, polymorphism, and encapsulation concepts
➢ Tested all aspects of the program from debugging with GDB and Valgrind to achieve optimized functionalities
Dynamic Memory Allocation in C, University of Waterloo, Waterloo, ON Jul. 2018
➢ Built an Abstract Data Type named Pool, that allocates “a chunk of” dynamic memory that can be flexibly used by
the client, using doubly linked list data structure
➢ Designed functions to allow the client to freely choose pool size and remarkably enhance the space efficiency by its
adjacency feature that avoids memory wastes
Minesweeper, University of Waterloo, Waterloo, ON Feb. 2018
➢ Implemented a nested list simulating minesweeper’s mineboard using Python
➢ Developed an algorithm to calculate hidden values and to determine whether a move is winning or losing
WORKING EXPERIENCE
Teaching Assistant Dec. 2018 – Feb. 2019
➢ Research on machine learning and data compression.
➢ Worked as tutorial and lab TA for core undergrad courses, including Design Pattern, Algorithms, and Network
Structure. Developed strong work ethic, teamwork spirit, and communication skills.
LANGUAGES AND TECHNOLOGIES
Languages: C, C++, Java, Python, SQL, JavaScript, Shell Scripting, Assembly Language, HTML, CSS, PHP
Operating System: CentOS, Ubuntu, Window Environment: Nginx, MySQL, Apache, PHP