One, the level of computer science in my eyes:
It's like a martial arts Jiangzi. Martial Arts are divided into internal strength and drilling . In fact, these are the students of the computer Department of the university compulsory course, only in the system and the impact of the environment, most people have not realized what, are 60 points long live.
①, logic and mathematical layers: integral/differential/linear/discrete/probability ...
②, Physical layer: mode number of electricity
③, hardware layer: computer composition principle, microcomputer interface, compiling principle, assembly
④, OS layer: Operating system (Win,android,ios ...)
⑤, Network layer: TCP/IP protocol ...
⑥, organization layer: Data structure, algorithm, design pattern, frame design (MVC,MMVM ...), architecture
⑦, Carrier layer: programming language, from compilation to interpretation (C/c++/java/js/lua ... )
Second, according to different job needs, there is a certain bias:
For example, hardware layer development, embedded and the like are definitely biased to the physical layer and hardware layer, most of the development of the application layer is inclined to the upper interface mostly, and so on. Such.
Three, the difference between building blocks and building blocks:
Generally general development, such as the now very fire of mobile development. In most cases, bricks are built. the underlying call has been encapsulated by the author of the SDK. write a few of the most junior high school math level logic code, and then glue the other good API, or third-party library. Achieve the function, make him the shape that the leader wants to be done. The vast majority of developers on the market are in this situation. so advise you to go into the friends, if you intend to do in this president, can not only look at the surface, lay a good foundation is very important.
Iv. for developers of this system Application layer , I think the interview is mainly divided into the following aspects:
① 's proficiency in vector grammar
② proficiency in the system API
③ Proficiency in Development tools & AIDS & third-party libraries
③ Code specification & Design Patterns
④ Algorithm Foundation
⑤ for a variety of bottom-level implementations (systems & networks ... ) to understand the extent
Program, mathematics, art. You should think about programming in a mathematical way, and you'll find more ...
Understanding of computer science