-
Experience
Goldman Sachs Salt Lake City, UT
Software Development Engineer Feb 2020 - Present
• Built J2EE API for submission and retrieval of metrics to collect standard metrics sourced from various platforms teams. It operates on time series which are made up of data points every minute. Utilized Spring and Servlet to implement backend server.
• Managed external design patterns and multi-thread to adjust the requests from multiple endpoints. Interacted with the users and improve their experience by generating the output to Grafana dashboard.
• Worked with Asian user team and product manager to design a service for Japanese Trust Bank System, which automated the request execution process in a controlled and constrained environment without manual intervention. The merger service impacted 20,000+ accounts and most of Asian users.
• Implementing the validation and execution of merger service by shell scripts and released to prod successfully. Using DB2 as database language to collect work items information and get back to service. Using Sybase as database language to grasp the other part of account information.
Qihoo 360 Beijing, China
Software Development Intern May 2019 - Aug 2019
• Built a filtering system in C++, which extracts sensitive word in query, abstract and title of web pages and prevents filtering relating white words.
• Utilized Flame graph to analyze filtering system performance. Optimized it by KMP and Aho–Corasick to refine space complexity and improved Prefix Trie to reduce space complexity. The running speed increased by 50 ms (99.81%) and decreased RAM memory for 750M (62%).
• Built a web server to test filtering system performance and implemented RESTful API request. Implemented multi-thread and concurrent operation for web server to enable downstream applications to check query. Utilized Valgrind to check memory leak based on the performance of the web server.
-
Projects
Dynamic Memory Allocator Implementation Mar 2019– Apr 2019| Pittsburgh, PA
• Designed and implemented System level memory allocation function including but not limited to Malloc, Calloc, free, Realloc.
• Stored free locks in segregated list and eliminated footers in allocated blocks to minimize fragmentation.
• Increased uutilization rate to 74.4% and allocate speed to 26843 kops/s.
Web application for Nano-Blogging Site Jan 2019– Mar 2019| Pittsburgh, PA
• Based on MVC design pattern, constructed a social media web application that supports third party login, adding or editing user’s feeds, comment and following actions.
• Integrated three views of front-end website into a SPA using React.js.
• Used Node.js with Express to implement the server, and using MongoDB to store information and Cloudinary to support image upload. Utilized RESTful API to transfer data.
• Used Ajax to reload and add comment and deployed project on Heroku.