Go Linux background development should have skills

Source: Internet
Author: User
Tags epoll

Linux background development should have skills

Category: Talk 2013-04-14 12:45 741 people Read reviews (0) Favorite Report

Linux background development should have skills

One, Linux and OS:

1, command: netstat tcpdump ipcs IPCRM The proficiency level of these four commands can basically embody the experience of actual development and debugging procedures

2, CPU memory hard disk and so on with the system performance debugging related commands must be proficient, set Modify permissions TCP network status check the status of each process related commands must be mastered

3. awk sed needs to master

4, the use of shared memory implementation principle, and then the shared memory segment is mapped into the process space, where is the process space exist? What is the maximum limit for shared memory segments?

5. C + + Process memory space distribution (note the memory address of each part who is high who is low, note stack from the high channel low allocation, heap from low to high allocation)

6. What is Elf? What is the relationship between its size and the initialization of global variables in the program (note. BSS segment)

7, the use of inter-process communication mechanism, and detailed description

8, Makefile, although the comparative basis, but will be asked

9, GDB debugging related experience, will be asked

10. How to locate memory leaks?

11. The difference between dynamic link and static link

12, 32-bit system a process up to how much heap of memory

13, multi-threaded and multi-process differences (the focus must be from CPU scheduling, context switching, data sharing, multi-core cup utilization, resource consumption, and so on all aspects of the answer, then there is a question must be asked: What is a thread-private? The answer must contain a register, otherwise sad)

14, write a C program identification system is 64-bit or 32-bit

15, write a C program to identify the system is big or small end byte sequence

16, Signal: List common signals, how to deal with the signal?

17, i++ is atomic operation? And explain why???????

18, say what you know all kinds of Linux system synchronization mechanism (emphasis), what is deadlock? How to avoid deadlocks (every technical interviewer must ask)

19. Enumerate the various asynchronous mechanisms of Linux system

20, Exit () _exit () the difference?

21, how to implement the daemon process?

22. What is the memory management mechanism of Linux?

23. What is the task scheduling mechanism of Linux?

24. What is the difference between a standard library function and a system call?

25, add a pit Daddy hang Dad pit Dad's problem: How does the system notify a signal to the process?

Second, C language:

1. Macro definition and expansion (must be proficient)

2, bit operation (must be proficient)

3. Pointer operation and calculation (must be proficient)

4. Memory allocation (must be proficient)

5, all kinds of library functions must be very skilled implementation

6. Which library functions belong to high-risk function, why? (strcpy, etc.)

Third, C + +:

1. A complete implementation of a string class must be sketched quickly (note: assignment constructs, operator= is key)

2, the role of virtual function and the principle of implementation (must be asked to test, the realization of the principle should be very familiar)

3, sizeof a class size (note member variables, functions, virtual functions, inheritance, etc. on the size of the impact)

4. The difference between a pointer and a reference (usually asked)

5. Sequence of multiple class constructs and destructors

6, STL each container realization principle (must test)

7, extern c is what to do, (must be the compiler's function name modification mechanism of a very thorough answer)

8, volatile is what to use, (must be the CPU register cache mechanism to answer very thoroughly)

9, static const and so on use, (can say the more the better)

IV. data structures or algorithms:

1, "Discrete mathematics" within the scope of all the problems may be asked in depth (the most pit father, the most important, the most embodiment of the foundation, the most able to add points, especially the implementation of various tree structure and application)

2, various sorts: Dagen realization, Quick Platoon (how to avoid the worst state?) ), the use of bitmap, etc.

3, hash, any technical interviewer must ask (for example, why the general Hashtable of the number of barrels will take a prime?) How to effectively avoid the collision of the hash result value)

Five, network programming:

1, the difference between TCP and UDP (must ask)

2. What is the role of UDP call connect?

3, the TCP connection sequence diagram, the state diagram, must be very very skilled

4, the Socket server implementation, select and epoll the difference (must ask)

5, epoll which trigger mode, what is the difference? (There must be a very detailed explanation of the difference between horizontal and edge triggering, and what more confirmation the edge trigger should do in programming)

6, large-scale connection up, how to design the concurrency model

7, TCP end connection How to shake hands, time_wait state is what, why will have time_wait status? Which side will have time_wait status, how to avoid time_wait State occupation resources (must answer the details)

8, TCP header how many bytes? What fields? (Must ask)

9, What is sliding window (must ask)

10, connect will block, how to solve? (must be asked, hint: set non-blocking, return to use Select to detect the status)

11. If select returns readable, the result is read only to 0 bytes, what is the case?

12. What is KeepAlive? How to use?

13. List the TCP options you know and explain what it does.

14. What is the socket readable?

Six, DB:
1, MySQL, exam SQL language, server database how to design large-scale data, db various performance indicators

The last 2,: Add one of the most important, most of the pit dad, the most difficult one topic: a millions per second Internet server access, each access to a number of calculations and I/O operations, if you design, how do you design?

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.