Technical Test: Are you a master in OLTP application development?
Here is a technical test article, I hope all those who claim to be touched and have been touched, do a few tests, see the master you belong to the level?
The following tests are for OLTP development. For algorithms and desktop programs, it is not the object I want to discuss here.
Ok, the first test: Can you make a statistical system, functionality and vulnerability, can record a website display, visiting analysis, time analysis, date analysis, and so on by page embedding mode. Why, this is hard to stop, then which master do you? Ah, this is said, these all EASY, the hand is coming, very good, very good, it seems that you have the basic ability of the master, but slow, if you think you can implement these features, you can claim to be Easy number is statistically, it is too small to take the weight of this bowl of rice, to achieve these functions, in China, at least 6 digits can be made, and design such a system (only from functional consideration only) And at least 5 digits can be made, do you understand? You are just one of us often, I'm happy to be early.
Second examination questions: Oh, actually do these functions, but add a condition, I only give you a PC Server (single / double PIII 733 512M ECC memory 18g SCSI hard drive), you have to support 3 million / day Request call. Pondectish.
Simply a single CGI database, it is definitely dead, what should I do?
First, you have to build a three-layer system model, and the background database must be separated from the intermediate application layer and the front desk CGI.
Second, reasonable allocation uses shared memory space and reasonably prevents read and write collisions and deadlocks in the memory area through IPC semaphore.
Third, if necessary, rewrite the Web Server original code to obtain efficiency optimization, such as overriding the HTTP_LOG.C program of Apache Server and recompile.
If you are very clear about the overall architecture of this set of systems, then congratulations, you can do a CTO in a relatively good network company, China can clearly build the system, but 4 digits (of course, can be In this way, the system is coded, and there is definitely more than 5 digits, after all, it is a C language.
Know why there is no more than a multi-statistical system, although the function is fancy, but in the end, it is easy to expensive, the basic work is not solid, and the light is in the function, it is no future.
Be better in this field, good yeah, Netease, Adsunion, Tencent, Taiji chain and other a few more.
Those so-called advertising exchanges have no technical bottlenecks, they do a large and more and talk about it.
The third test, or these functions, (I am poverty yet) I want you to record 30 million browsing logs in one day, not only to count, but also completely record it, and of course the host environment increases. Hosting the hostage cluster, but the core database is still in a computer, this time this time, such as what is the RS6000; if there is a condition, the data loss cannot exceed 0.01%.
This is no longer like building a website, to the billing center of large telecommunications. Can you be competent? At this time, it is required to make an overall operation system, the C language, and the database core must have an understanding of the bone marrow, and even for the import export of data and some database records, you can no longer be written again! To use the core interface of the database product, the read and write operations of files or blocks directly according to their data storage format! For some systems that are very large and high performance requirements, even you need to build a separate database system and data structure system. This is not a joke, because I have teach such a system.
In China, it can build the master of the platform, up to 3 digits. It is mainly concentrated in the telecommunications bill, such as the company in Aixin.
The fourth examination questions, this time a daily request is not 30 million, but 3 million, I didn't say nonsense, 300,000! But your work has changed, I don't want you to do the following data processing, I only let you do a front-end packet forwarding process, this time I am very harsh, give you a PII PC server, 256M ECC memory, and data The loss requirement is definitely not more than 0.0001%, your work is very simple, simple identification of the previous request and forward to the appropriate application server processing.
How do you forward with web server? Do not make jokes! At this time, you have no choice, write your own packet handler with the compilation process, which is stationed as a guard, and hangs on the port of receiving the packet, your understanding of the efficiency, should have exceeded the operating system Understanding, the understanding of programming languages, and directly reaching the degree of understanding of the CPU instruction set, yes, you must know that each of your assembly instructions is not the minimum CPU instruction. It is necessary to calculate how much CPU instruction cycle is required to calculate the process of decomposition and processing a message. Is it a maximum optimization of the CPU's instruction set, of course, you must also be familiar with the TCP / IP protocol to each packet format Definitions and specifications, but this is not much higher than this and the efficiency optimization of assembly instructions.
We often say that Cisco is a hardware product service provider, wrong! Their profits are mainly coming from such an algorithm! ! China Lenovo, Huawei, etc. I want to account for this kind of fat, but in the high-end field (it is not hardware high-end, but the high end of the algorithm!), We still thoroughly blank.
Fortunately, I know that some people do this in the country. When the broadband is unavoidable, this algorithm is intensity and requirement, will become the best way to draw profits.
China can achieve standards in this area, and how many people?
There are four exam questions, there is nothing else, I have been very self-sufficient when I have graduated, because the feeling of the time is that compared with the professional class computer operation (I am a mechanics professional, I still require the program to solve a part The convergence solution of the differential equation is to analyze what the speed, temperature, etc. of the swirl field is distributed, and WEWEBB development is simply not algorithmic. In addition, the domestic WEB database was also small. I thought I was already full, and the results were lucky to run to telecommunications for a year, exposed to the largest telecommunications centralized billing center in China. (I have been operating, not bad), I know that I have a big study in the dare OLTP app, I have the skin, and it is simply a high level thick. Now take a look at a bunch of bunch of small hair children in the same day, do two rotten programs all day, I have to come out and say a few words.
In fact, for OLTP applications, the implementation of features is generally very easy, and those who have nothing to do with numerical calculations in mechanics, mathematics, physics, etc., while OLTP's technical difficulties are in performance, that is, you do A desktop program or algorithm process will not face and interview high processing issues, but do an OLTP app, no matter how much you have to see a lot of access to the rush, if this problem can not solve, no matter how good Creative, how good functions will not be continuous and long-term development. Because many entrepreneurs and investors are unlocking or half through technology, they tend to have a big defective Dongdong as a baby, because in general, it is only busy testing function, very There is only a complete assessment of performance, only to continue to operate to a certain stage, and visit to a certain extent, the performance defect begins to expose, only to hug the Buddha, this time, the loss is very unrecognized, even the root can solve, I have to give up Some function, thereby causing brand reputation to decline.
Strengthening the basis of the algorithm, strengthening the technical foundation, and selling some flowers and whistle, it is the real route of the technology master. Those who have learned today, learn what language in the language tomorrow, don't boast, from the 70s to now, The most cost-effective programmers have always written assembly and write standard C, nothing, because this is true kung fu.