firefisha / TetrisCpp

0 stars 0 forks source link

Become a excellent software engineer #1

Open firefisha opened 4 years ago

firefisha commented 4 years ago

Why

How

Why C++ and Golang Although the portion of C++ is decreasing annually, C++ is a good Object-Oriented programming language and fast. Through learning it, the designs of memory allocation, container, algorithm,etc can be realized. Golang, maintained by google, is increasing faster. Some of groups in china advanced companies are also using it. It is efficient and combines some advantages of Java and C++. Also in Germany the number of people using it is seldom. The need of engineer will also increase. English: As a non-native speaker, it is important for documents reading and communications.

Present situation

Basic c++ language knowledge, two projects experience: bachelor thesis and a small autonomous auto. Some java projects experience: XML parser. Scala.Tomcat. Network theoretical knowledge: http, tcp, udp, smtp... Data structure basic knowledge: Stack, Queue, Tree, Bucket... Linux: baic knowledge such as Cmake. Sql: good mysql writing but lack of actual operations(just training 100+ leetcode exercises) Python: basic knowledge, implement some opencv algorithms

How to Learn

Analyze the source code of STL and memory of C++. Doing 6-10 C++ small projects and write the UML diagramm. Tetris, NEs Simulator, Scrum, JSON parser, PDF simulator... 600 leetcode exercises to deepen the algorithm and container.

Golang: using Golang to implement a big project: such as website. To know the redis, javascript,socket,docker.....

English: To attend a toefl.

Time 13 months

firefisha commented 4 years ago

ha