Avatar

Aisen

Be water,my friend.

Personal Information

  • Education:Bachelor Degree             Sex:male            Wechatllxw0502(转成半角)
  • Age:1992.04                                         Email:zjy__007#126.com(replace # with @)
  • Job experiences:8 years                   Job Intention:Golang|Java|Python development engineer

Job Experiences

  • 2020.11——up to now             Xiaomi Communication Technology Co.                 R&D Engineer
  • 2019.06——2020.10      Jiaxing Lewan Network Technology Co.          Senior Development Engineer
  • 2016.11——2019.05        Shanghai Wiwide Network Technology Co.      Back-end R&D Engineer
  • 2014.07——2016.11         Meishi Interconnection Ltd.                         PHP Development Engineer

Technical Ability

    1. 4+ years of experience in golang architecture design for large-scale systems, with experience in distributed, high concurrency, high availability, and large data volume system architecture design as well as R&D.
    1. Participated in the design and development of Xiaomi Mall’s transformational golang with 90 million registered users (at that time), 3 million daily accessing behaviors and over 100 million daily accessing. I have solid technical background and is proficient in Golang standard library, ecosystem, and performance optimization.
    1. Proficient in distributed transactions, read the source code of RPC and TCC related components, and designed reliable message final consistency, best effort notification, and saga.
    1. in-depth knowledge of cloud native, with many complete projects experience in writing various types of Dockerfiles, building swarm clusters, Kubernetes (k8s) clusters, good at efficient deployment of CNI extensions calico and cilium, proficient in secondary development of Cilium based on eBPF, clearly understanding of packet transfer paths, good understanding of service mesh usage, service mesh use l2, l3, l4, l7 hierarchical transformation has a clearly achievement thoughts,familiar with the Scrum Agile development thoughts, can be based on argocd or fluxcd to do the CI/CD of the landing of DevOps, read the source code of kubernetes, team management experience, specification development and practice implementation.
    1. other languages: proficient in Java, python, familiar with Node.js, puppeteer, Shell and other biased application layer and tool scripts development, especially for python, since the start of my programming career, all kinds of crawlers (such as: scrapy) based on python, all kinds of scripting, build django, Flask services, with Tensorflow, opencv, numpy and other machine learning frameworks and dependencies to deal with computer vision related problems, PyTorch as a deep learning framework to solve recommender system problems, and NLTK to do nlp related has rich experience.Base on so-vits-svc and wav2lip and ffmpeg to bulk output videos and base on the computer vision to bulk mosaic to images and videos.
    1. Proficient in Mysql, with extensive hands-on experience in sql optimization, Mycat, index optimization, performance tuning, and database disaster recovery.Especially good at the mysql cluster deployment types of Master-Slave,Master-Master,Gelera-Cluster,Proxy-Based Distribution(eg.,ProxySQL,HAProxy,MaxScale) across by Kubernetes.
    1. Proficient in Redis caching, with hands-on experience in clustering (Twemproxy, PredixyRedis Cluster), hot and cold backups, performance tuning, and data migration.
    1. Proficient in ElasticSearch, Solr, Logstash, Beats and Kibana, and building ELK log collections based on Kubernetes,and develop middlewares of them based on client-go or kubebuilder or Operator-SDK.
    1. Familiar with access layer, caching, microservices, and storage layer three-high solutions, such as master-slave, slice and dice, load balancing, failover, flow limiting and degrading, distributed transactions, etc., to cope with large number of customers.
    1. proficient in the use of MongoDB, with cluster construction (replica set, slice cluster), hot and cold backup, data migration, security management and other practical experience
    1. Message middleware: the usage of master Redis, ActiveMQ, RocketMQ, RabbitMQ, kafka, ShardingJDBC, etc., the principles and cluster deployment of them and the other common problems when using them.
    1. load balancing: proficiency in the use of Nginx (Tengine, Openresty), Haproxy. LVS, KeepAlived. zookeeper and other load balancing components, and can achieve custom implementation of nginx middleware
    1. proficient in the use of MMP architecture based OLAP technology stack processing tools, according to the business direction clearly in the OLAP and OLTP to do technology selection, especially Doris, etc.
    1. automated operation and maintenance: skilled use of Saltstack, data monitoring (zabbix)
    1. Familiar with big data related technologies, such as Spark, Hadoop, Hive, Strom, Hdfs, etc.
    1. English can be used as the office language, for technical unfamiliar areas have strong reference to English videos, documents, independent landing ability, strong learning ability.
    1. Personal blog address: https://zuisishu.com

Project Experiences

Name of project:Xiaomi’s new retail store channel construction 2020.11— up to now

  • Major technologies: yafgolangGinGormJ2EEJPASpringMVCSpringBootSpringCloudDubboMybatisepolldubbonacosNettyDockerSwarmk8skubernetespythonvueCICDSPIIOC

Job Description

    1. In the project of integration of online and offline, responsible for completing the docking of electronic price tags to Hanshuo, the project systematically adopts dubbo registry to do distributed services, uses golang to do business development, based on the base station of each store of Hanshuo nationwide, realizes the same price for the same product online and offline through high-performance interactions with Hanshuo interfaces and pushes 1 million data from several tens of thousands of stores to the display terminals every day, and supports pushing individually, by store, and full-volume pushing. Supporting individual push, push by store, and full-volume push
    1. on k8s, based on the kubebuilder tool of cloud-native to develop an plugin in the aspect of Kubernetes csi so that can deal with the comment image storage for Xiaomi Mall,especially solve problems relate with dynamic multi-backend support,and can efficiently divide into storage for system image and product review images or the storage for the location of customers in different location,optimize the storage performance of io throughput/latency Qos so that can prevent the performance interference between categories,and support geo-aware storage for latency optimization and multi-region redundancy availability,efficiently do lifecycle management,such as transition of hot to cold storage,monitor and delete expired or unused images.Enhance the metrics via Prometheus/Grafana dashboard,and provide logs and alerts for troubleshooting.
    1. Based on golang, we completed the docking of Passport authentication service to land on the new retail workbench, and the front-end based on vue, we realized the initial version of the new retail workbench management system (later split the project team, and the front-end team took it over). At the same time, the synchronization of user rights based on the oms system, new retail workbench service, and upc system was achieved, supporting several push modes, such as individual, role-based, and full-volume, laying the foundation for the subsequent personnel intervention and division of labor.
    1. based on golang, the store master data is responsible for the common interface output of cell, grid and store. Due to the numerous store attributes, in order to better adapt to the needs of multi-query, the data into the library mysql at the same time into the library elasticsearch, support for the full amount of fuzzy field query, improve the efficiency of the business flow, but also reduces the emergence of a number of interfaces for temporary needs.Due to the importance of store information, operating systems, slf4j will record the full link logs.
    1. for the message system, announcement center, task center to do microservice governance, through go to achieve high concurrency long connection gateway (gateway) cluster, decoupled stand-alone system calls, locks, cup bottlenecks, with vue to achieve the backend management system, business personnel can be personalized on-demand operation, access to targeted groups, based on GRPC to the gateway distribution to reach the terminal
    1. as furniture, material management system pm, the project cycle is long, during the project have responsible for organizing the meeting of different project teams externally. Within the group, I was responsible for issuing documents, coordinating staff task division, problem solving, the global Prometheus and grafana integration etc. Because the project involves 65 apis, upstream and downstream involved in more related businesses, clarify the business boundaries, taking into account the needs of all parties and to ensure that our team supported apis is the only ingress of New Retail Offline Stores architectures is the top priority, and in the promotation of mine and the other teams hardly work together ,ultimately complete the production environment of the furniture material system on-line successfully.
    1. The new retail workbench covers 14 roles such as the provincial general manager, deputy provincial general manager, branch offices, partners, store managers, shopkeepers, etc. Multiple mysql tables designation, and based on the golang’s concurrent high concurrency characteristics, based on the millions of data in orginal excel file supplied by the team of war room,finally filter out thousands of stores and ten thousands of shopkeepers then insert them into the database effectively, laied of the digital foundation for the project firmly of for the new retail workbench.
    1. The api transformation for circle region of xiaomi mall app, develop rpc service based on golang, make thrift as the transmission structure, make channel as asynchronous channel, do the link tracking for comments at circle region of xiaomi app, in order to get a better guide effection and user experiences.
    1. Xiaomi demo data processing, take integration with Doris system of xiaomi, make the original data insert into the database efficiently and optimize the buried strategy.
    1. Stocking calculator project, encapsulate functions into soa service by golang, implement the main part of the logic of the stocking calculator, and reconstruct the stocking model, resource sku stocking. At the same time, we also broadcast the distribution results to consumers in the role of rocketmq producer, which improves the overall performance of the service.
    1. Completed the docking of sap and ps systems, the team has no experiences in docking soap based on golang, the process involves the soap protocol and the use of thrift structure in the rpc service transfer process, sap involves the generation of contracts with partners, ps code involves the docking of the legal system, the two critical stage in the store building system.
    1. Serve as an interviewer to recruit new blood for the project team.

Name of project:During Jiaxing Lewan Network Technology Co.

  • Major technologies: golangGinGormSpringBootDubboMybatisepollnacosbeegodockerswarmk8skubernetespythonvueCICD

Job Description

    1. kubesphere of the Kubernetes system is used to reconstruct the traditional compiled server deployment method, introduce harbor as an independent mirror service, and form a DevOps system with gitlab to support CICD, so that the whole cluster is equipped with a completely microservice governance system that supports meltdowns, grayscale releases, traffic control, flow limiting, link tracing, intelligent routing, and other perfect micro-services. The cluster is equipped with a digital operation system that supports completely microservice governance functions such as fusion release, traffic control, flow limiting, link tracking, and intelligent routing. Logging related, the implementation of kafka, prometheus, grafana access, the realization of the isolation of log query on the operating privileges, abandon the original production server springboard machine which rely on check logs manually of the traditional mode, so that exceptions, error reports can be better listened, so that the system is more stable, so that the bugs can be throwed more efficiently. The whole set of transformation makes the original complicated and inefficient on-line processing intelligent and efficient, makes the various human resources dependent on different environments really efficient flow, accelerates the efficiency of project iteration, reduces the unreasonable investment of server resources, and greatly reduces the operating costs.
    1. Laravel and mongo ate cpu highly and inefficient the apis performance, which is extremely unfavorable to the efficient deployment of data operation services and distribution gateway services, and the distributed deployment of Lavarel ecosystem itself is a short board, so the use of golang+eureka+zuul+FeighClient+Hystrix as microservice to do the reconstruction of system, which is more conducive to the production efficiency through load balance, so that it is more convenient for the production efficiency of the project. This allows us to provide services to the local requests through the local server rooms, and to develop and maintain the subsequent modules and functions based on this approach.
    1. Using golang’s Consul to do microservice governance, split independent payment microservices, and overall support for WeChat, Alipay, and UnionPay.The WeChat public number red packet campaign in ShaoYang area increased the rate of new users by 27% and the overall utilization rate by 30%, which achieved the expected promotion effect in attracting new players to register and old users to be activated of the game.
    1. Using golang to rewrite the carousel activities, do statistics for game named of running beard and the report exported of it, the original timed task to run a script to send mailbox blocking inefficient mode, changed to elasticsearch with richer filter conditions,and optimize backend for supporting excel generating asynchronous efficiently, the corresponding authority account login can query and generate the corresponding report, greatly improving the efficiency of data operation between different departments!
    1. For the game grouping service based on hadoop big data and python artificial intelligence algorithms, we independently implemented a backend management system based on gin and gorm, the front-end used vue. In terms of backend data synchronization between the client and the operation side, we introduced rabbitmq to decouple the inefficient data transmission mode between services, and the program is widely used in many subsequent scenarios of asynchronous data processing.
    1. Agents (including Tmall recharge) recharge, rebate function, the link involves a large amount of financial flows, there should be a multi-party review, before the mail approval process is cumbersome and inefficient. The use of redis queue function, the process will be integrated into the erp system, so that the link process, user rights, email cell phone number and other secondary review methods to better achieve unity, but also to ensure that the funds of the precision and accuracy.
    1. Used golang to complete the transformation of the CDN for uploading pictures to the whole gallery of AliCloud.
    1. Without using the integration framework, we used golang to implement a distributed crawler to provide training data support for the game group service, and realized the distribution and scheduling of the crawler through the channel.

Name of project:During the period of Shanghai Wiwide Network Technology Co.

  • Major technologies: yafSpringBootMybatisepollpythonvueavalonreactgolang

Job Description

    1. For the usage habits of overseas users, add facebook login, add single sign-on for widash backend, add the opening of overseas widash accounts in the backend of agents, add the logic of releasing new portal devices to adapt to overseas needs, add the configuration of aws server timed task scripts to count the ap data and user access data, and generate statistical excel files for operation personnel to use. The new task is to configure the aws server to generate statistics on ap data and user access data, and to generate statistical excel files for the use of operation personnel;
    1. lead the team to complete the wiwide project to go overseas, build overseas test environment, complete Malaysia, Singapore, Australia lnmp production environment online deployment, promote mysql master-slave synchronization deployment scheme, configure redis, memcachet and other messaging middleware services, widash, portal, agent, admin and several platforms on-line. We have realized the results of smooth launching and running of several platforms in overseas environment. After that, we continuously maintain the platform until the overseas operation results are not satisfactory, and finally offline.
    1. use springboot+mybatis to complete the development of the core functions of widash merchant homepage version 3.0 and the support of each department’s own adjustments for the 3.0 revision, reconstruct the super administrator’s background single sign-in.
    1. complete redevelopment of portal page user registration pop-up agreement function to meet the new policy requirements of the web supervisor;
    1. Based on springboot + mybatis completed the development of the tencent miniprogram game,complete from the mysql table design, program development to online deployment of the whole process, the background management interface using vue, the whole from the mysql table structure + apis development + background api development + on-line are independently completed.
    1. use golang to achive distributed crawler to collect wifi industry related information and pseudo-original into the library, used for official website promotion.

Name of project:During the period of Meishi Interconnection Ltd.

  • Major technologies: yii2ecshopMysqlpythonredisjquery

Job Description

    1. Build up the company’s e-commerce platform, finished logistics system development, so that the distribution staffs to make the best use of them, but also better evaluation of them, while with the marketing department, the development of the corresponding wechat activities, to attract fans for our company wechat.
    1. Based on wkcrm to do extention for the Mes internal crm system, developed tring out a meal module, all are based on thinkphp3.2 development .(The following projects are all based on yii 2 for development)
    1. Mes scheduling system.
    1. Mes organized WeChat-based H5 activities such as Boss takes you to eat cake, Boss takes you to travel, Take Like to collects cake, room temperature cake pick-up point, etc. development;
    1. Mes Production Printing System, mes Distribution Printing System, mes Order Statistics, Email Reporting, Holiday Eligible (mysql strict condition filtering) User Marketing SMS Sending, Financial Reporting System, mes Backend Permission Management System, Backend Management Interface based on adminlte.
    1. Mes new personal center of pc client, gift card cash coupon generation and use system.
    1. WeChat, Alipay, UnionPay several platforms to pay, refund function realization;

Self-evaluation

  1. Can familiarize with the business as soon as possible, can quickly integrate into the team;
  2. Strong logical thinking ability, clear thinking, strong learning ability, and strong curiosity about new technologies;
  3. Dedicated to work and willing to engage in challenging work;
  4. Willing to communicate with users as well as colleagues and leaders in order to quickly solve the problems encountered in the project;
  5. Diligent and obedient to the leadership arrangement