What kind of knowledge do big data majors need to learn?
The following is a personal experience, these four courses heavy or not important to experience ...... some time ago a big data competition, because IQ can not only wash the data and brush features, once due to a change in the script data structure (and corresponding algorithms), the original O(n^2), optimized to O(n), for the need to frequently try different For the need to frequently try different features to validate the model, I obviously accelerated the progress. For other applications that are more low-level and real-time oriented, data structures and algorithms are more important. Operating systems, this is not a class where you think, "I don't need to write a Linux, I don't need to write a Windows, so I don't need to learn it". This course is not to ask you to write an operating system, is about the scheduling and allocation of resources, as well as the design of large-scale software. Slightly written some parallel parallel programs, can appreciate the importance of this course. Computer network, is not that now network application framework so much, socket do not have to write by hand, the physical layer and link layer is even more do not have to pay attention to it. Recently tried to deploy a network application to the cloud server, the network is not a problem, the port is fully open, the cloud host on the localhost can be accessed, but from the public network can not be accessed, as for the reason for waiting for you to learn the subject of the computer network to think about it. The principle of computer composition, you really do not need to understand how to run each circuit of the cpu, but when I know the difference between memory and external memory, as well as the concept of buffers, the code writing thinking and I really have a big difference when I started. All languages, the framework is frankly in some kind of rules (syntax rules, API) to make use of (write code), and once encountered bottlenecks, or certain bugs in the location, the need for some kind of environment and the choice of options for compromise (such as storage space), this time is what you said the basics of assisted decision-making time. Of course, the latter problem may be some programmers seldom encountered or even not encountered, but once encountered, you really have the confidence to immediately learn to use it now? Maybe this bottleneck is a promotion opportunity? Do you want it? If you really intend to go on in this road of technology, listen to the words of Mr. Jin upstairs, lay a good foundation ......