Basic article: Operating system, computer network, design mode
One: Operating system
1. What is the status of the process, the state transition diagram, and the event that caused the conversion.
2. The difference between a process and a thread.
3. Process communication in several ways.
4. Thread synchronization in several ways. (Must write producer, consumer problem, completely digest understanding)
5. How threads are implemented. (i.e. the difference between a user thread and a kernel thread)
6. The difference between the user state and the nuclear mentality.
7. The difference between the user stack and the kernel stack.
8. Memory pool, process pool, thread pool. (c + + programmers must master)
9. The concept of the deadlock, which causes the deadlock.
10. The four necessary conditions that lead to a deadlock.
11. Four ways to handle deadlocks.
12. Methods to prevent deadlocks and to avoid deadlocks.
13. Process scheduling algorithm. (Turnaround time = Program End time-start service time, take ownership turnaround time = turnaround time/Request service time)
How to manage Windows memory (block, page, segment, Segment page).
15. Memory continuous allocation method adopted several algorithms and their merits and demerits.
16. Dynamic link and static link.
17. Basic paging, request paging storage management mode.
18. Basic segmentation, request segmented storage management mode.
19. The comparison of the segmented paging method has its advantages and disadvantages.
20. Several page replacement algorithms will count the number of pages you need to change. (How is the LRU program implemented?) )
21. How to define and implement virtual memory.
22. Four features of the operating system.
. DMA.
Spooling.
25. External memory distribution of several ways, and various advantages and disadvantages.
Two: Computer network
1. What is the difference between circuit switching and packet switching? Comparison of pros and cons.
2. What are the layers of the OSI that will be drawn and know the respective roles of the main layers?
3. What are the layers of TCP/IP that will be drawn, knowing the role of all layers, will enumerate the main protocol names for each layer.
4. The concept and function of the hardware (MAC) address.
5. What is the purpose and algorithm of the ARP protocol, and at what level will ARP be used?
6. CRC redundancy Check algorithm, anti-code and test algorithm.
7. How to achieve transparent transmission.
8. Know which data exchange device is used for each layer. (switches, routers, gateways)
9. The contents of the routing table.
10. Packet forwarding algorithm.
The format of IP packets, the meanings of each field in the format should be understood.
What is the 12.MTU concept, which is called Path MTU? MTU Discovery Mechanism, TraceRoute (understanding).
Concept and algorithm of 13.RIP protocol.
The main function of the 14.ICMP protocol.
15. The concept of multicast and broadcasting, the use of IGMP. (loopback address, broadcast address)
16.Ping protocol implementation principle, ping command format.
17. subnetting concept, subnet mask.
The classification of IP addresses, how they are divided, and the number of hosts that will be counted to support each type of address.
19.DNS concept, use, DNS query implementation algorithm.
The concept of TCP and UDP, the difference between the pros and cons.
The format of the 21.UDP message, the meaning of the field.
The format of the TCP message, the meaning of the field.
23.TCP What measures are adopted to ensure reliable transmission?
24. Three-time handshake, four-time disconnection process.
The concept and significance of the TIME_WAIT state.
26. The difference between the sliding window protocol and the stop waiting protocol.
TCP traffic control and congestion control implementation principle (can draw typical diagram of congestion control).
Fast retransmission and fast recovery algorithm for 28.TCP.
The difference between 29.TFTP and FTP.
30. Blocking mode and non-blocking mode, blocking connect and non-blocking connect. (more difficult, interested to understand)
HTTP basic format. (Java programmer must master)
Three: Design Patterns
1. The use of various common patterns, using methods (class diagram).
2. Double check implementation of Singleton mode.
3. MVC mode
Improved: WIN32, MFC and Linux
One: WIN32
1. Win32 the basic type of the application.
2. Several steps to create a Win32 window program, and the functions used.
3. NMAKE and makefile.
4. What are the character sets? Win32 How are the various character sets compatible and converted? (wchar_t, TCHAR, TEXT ()).
5. How do I create a child window? Where do you set up?
6. Classification of window classes, how to create an application global window class.
7. What is the difference between the operating mechanism of the Win32 window program and the operating mechanism of the console program?
8. The role of GetMessage function, and the difference between the PeekMessage function.
9. An internal procedure that sends a WM_QUIT message to terminate a program.
The role of TranslateMessage and DispatchMessage.
The difference between SendMessage and PostMessage.
The process of getting messages from the WIN32 messaging mechanism (what messages are viewed first?). What's the message again?)
14. Know what the main types of news are. (Wm_create, Wm_destroy, Wm_size, Wm_syscommand, WM_COMMAND, WM_PAINT, mouse messages, keyboard messages).
15. How to use the timer.
16. How user-defined messages are defined.
17. Create a menu, set menu function, where to process the message of the menu command.
18. How does the accelerator key work?
GDI drawing objects, steps used, and functions.
20. The steps to use the bitmap and the main functions used.
21. API functions that can be used for text drawing.
22. The difference between a modal dialog box and a modeless dialog box is to create a step. What was the creation message you received?
23. What do child controls and parent windows communicate through? Where does the parent window handle messages sent by child windows?
24. What are the common child controls? (Static box, edit box, button, ListBox, ComboBox, scroll bar) 25. What controls support self-drawing?
26. The difference between a dynamic library and a static library.
How do I use a static library in Win32? What do C + + programs need to be aware of when referencing a static library of C?
Win32. What are the different ways to export the dynamic library? (Note how C + + is exported)
Win32 inside the file open and close the API.
The partition of the Windows Address space.
Several ways in which Windows memory is used and the corresponding functions (virtual memory, heap memory, stack memory).
Within malloc, call a function, a function calls the B function. What are A and B respectively?
33. The role of the memory-mapped file. The main function.
34. What functions are used to create processes and open processes? What's the difference?
35. What functions are used to create threads?
The difference between WaitForSingleObject and waitformultiobjects. What does the second parameter of WaitForSingleObject mean for 0? 37. What are the functions for closing threads and shutting down processes respectively?
38. The meaning of thread-local storage (TLS), how to specify the TLS property of a variable.
Win32. How does thread synchronization provide, and what is the main function?
40. What are kernel objects in the synchronization measures provided? Try comparing the mutex and the critical section.
Two: MFC
1. What kinds of programs does MFC contain? Which classes are included in the MFC application?
2. Which class do most of the classes in MFC inherit from?
3. What are the main types of MFC to use? And the role of each of its classes.
4. What are the 6 types of core mechanisms in MFC? What mechanisms are encapsulated in the CObject?
5. In which class is the function of the MFC program initialization? function equivalent to main function.
6. Implementation of the startup mechanism of the MFC application. (Several steps and related functions)
7. Window creation and the implementation of window processing function mechanism. (Several steps and related functions are used)
8. The principle and implementation of the message mapping mechanism. Macro. (Find several steps of a message handler and its functions)
9. Message Classification for MFC. what function does the self-registration message register with? What is a message map macro?
What are the classes used by MFC menus, toolbars, and status bars?
11. How do I define a view window?
12. What class is used to divide the window? What are the differences between the two types of dividing Windows?
13. The macro and principle of the runtime class information mechanism. CRuntimeClass content, IsKindOf implementation method.
14. Dynamic creation mechanism of macros, and implementation. What is the difference between the content additions and the run-time class information?
15. What types of messages will be distributed? In which class is it normally handled? The role of SetActiveView.
16. What is a single document, multi-document template class? What is the function for saving template classes? What is the function for creating a new template?
17. The process of creating a single document view and the related functions used.
What types of DCs do MFC drawings have? The respective class name, and the difference.
What kinds of drawing objects does MFC have? The respective class name.
What kinds of data collection classes does MFC have? CMap the bottom of the implementation?
What is the file Class of MFC? What is a file lookup class?
22. How to use the serialization mechanism for macros? Perform the internal operations of >> and << and their corresponding functions.
What are the different types of MFC dialog boxes, and how do they work? and related functions.
24. Define the steps of the data exchange of the dialog box, and how to use it to implement the principle.
25. What are the common dialog boxes, try examples.
What are common general-purpose controls for MFC? Name the class.
What are the different types of MFC dynamic libraries? What does an extension library typically do?
What are the classes of MFC threads? What is the difference between each other? What are the respective creation methods?
What types of sockets can be used in a VC environment? of which MFC socket class have what kind of, each difference? What is the class name? what function is used to initialize the socket Library of MFC.
three: Linux basic commands
1. What is the symbolic representation of the absolute path? What is the current directory and top level directory used for? What does the home directory say? What are the commands for switching directories?
2. How do I view the current process? How do I exit? How do I view the current path?
3. How to clear the screen? How do I exit the current command? How do I sleep? How do I view the current user ID? What commands do you use to view specified help?
4. what function does Ls command perform? Which parameters can be taken, what is the difference?
5. Create a soft link (shortcut), and a hard-link command.
6. What are the commands for directory creation? What are the commands for creating files? What are the commands for copying files?
7. What are the commands for modifying file permissions? What is the format?
8. What commands can I use to view the contents of a file?
9. Feel free to write a file command? How to output a string with spaces, such as "Hello World" to the screen?
10. Which file is in which folder is the terminal? Which command is under which folder is the black hole file?
11. Which command is used to move files? Which command is used for renaming?
12. Which command is used to copy files? What if you need to copy the folder together? How do I need to have prompt function?
13. Which command is used to delete a file? What if I need to delete a file in the directory and directory? What are the commands for deleting empty folders?
What kinds of wildcard characters can I use for Linux commands? What does each mean?
15. What command is used to count the contents of a file? (line number, number of words, number of bytes)
What is the use of the. grep command? How do I ignore the case? How do I find rows that do not contain the string?
What are the different states of a process in Linux? What symbols are represented in the information displayed by PS?
18. How do I make a command run in the background?
19. How do I display all the processes using PS? How do I use PS to view information for a specified process?
20. Which command is dedicated to viewing background tasks?
21. What commands do I use to move the background task to the foreground? What commands do I have to perform in the background to stop a background task?
22. What command is used to terminate the process? With what parameters?
23. How do I view all the signals supported by the system?
24. What are the commands for searching for files? What is the format?
25. View who is currently using the host with what command? What commands do you use to find your terminal information?
26. What commands are used to view the list of used commands?
27. What commands do you use to view disk space usage? What about free space?
28. What commands are used to see if the network is connected?
29. What commands are used to view IP address and interface information?
30. What are the commands for viewing various environment variables?
31. What commands do you use to specify a command prompt?
32. Where do I find the executable file for the command? How do I set it up and add it?
33. What commands do I use to find the execution command? 34. How do I alias a command?
four: Linux programming
1. List several functions related to Linux memory management, what are their functions?
2. What are the options for GCC to compile only? What are the options for preprocessing only? What are the options for defining macros on the command line?
3. How to create a static library using the Linux static library? How do I use a static library? What is the suffix name of the static library file? Naming conventions for static libraries.
4. The role of NM tools, the role of LDD tools.
5. How to create a dynamic library using the Linux dynamic library? What is the suffix name of the dynamic library file? How do I use a dynamic library? Naming conventions for dynamic libraries? What is the system default dynamic library lookup path? What is the system library used by the dynamic library to display connections?
6. Make and Makefile under Linux. What parameters do you use to specify the makefile file? What is the default makefile file.
7. Under which folder is all the information about the process running?
8. Which three file devices does each program open by default?
9. What is the read and write function of the action file descriptor? Open the file descriptor and close the file descriptor function?
The FCNTL function has several main functions.
11. Create several functions of the process, and their respective differences.
12. The parent process ends first, and the child process becomes? The child process ends first, and the child process becomes?
13. How do I get the parent process to reclaim the child process? Several of the related functions.
14. Replication issues with the memory resources of the parent process when the child process is created.
15. What is the macro for interrupt signal, stop signal, timer signal?
16. What function is used to register the signal and send the signal in the program?
17. Signal reliability and unreliable meaning. Which signals are reliable? Which signals are unreliable?
18. What function is used for signal shielding? The role of Sigsuspend? The role of sigpending?
19. Will the signal processing function be interrupted when processing the signal?
20. The latest version of the signal sending and processing functions? What is the difference between a send and a data function with an older version?
What are the communication methods (IPC) of the process under Linux?
The TCP server programming model.
A. UDP server programming model.
The TCP programming feature, what options are generally used because of the arrival of each indefinite length of data?
What is the selected model? What is the difference between a multi-process implementation approach? The difference between Selected, Epoll model, poll model.
26. What are the common socket options? Which function is used to set the socket option?
27. How do I send and set out out-of-band (OOB) data?
What are the multi-threaded libraries under Linux? Which function is used to create the thread? Which function is used to force the end thread? The function used by the main thread to wait for the child thread to end?
29. How can threads do some aftercare when forced to quit? And how to deal with it in a Linux-specific way?
Algorithm : Algorithm and data structure
One: Algorithm
1. What are some of the characteristics of the algorithm?
2. Definition of algorithmic complexity. The meaning of large o, θ, and small o, respectively.
3. The definition of recursive algorithm, two elements of recursive algorithm.
4. Divide and conquer the idea of the algorithm, classical divide and conquer algorithm (full arrangement, binary search, merge sort, quick sort, linear time choice, closest point pair problem).
5. What are the two elements of the dynamic programming algorithm, which is a framework for solving the problem? What is the memo method?
6. Classical dynamic programming problems (matrix multiplication problem, longest common subsequence problem, 0-1 knapsack problem).
7. The idea of greedy algorithm, two elements of greedy algorithm.
8. Classic greedy problem (activity scheduling problem, knapsack problem, loading problem, Huffman coding, single source shortest path, minimum spanning tree problem). 9. The backtracking method has two typical models in backtracking.
10. Classic Backtracking algorithm (post-n problem, 0-1 knapsack problem, travel salesman problem).
11. Branch-bound method of thinking, which two kinds of branch-bound method.
12. Classical branch-bound algorithm (0-1 knapsack problem, travel salesman problem).
Two: Data structure
1. Definition of data structure.
2. Two applications of the stack: bracket matching and expression calculation. How is it applied? What kind of expression is used for expression evaluation? What are the benefits?
3. String matching algorithm: Naïve matching algorithm, KMP algorithm.
4. Two fork Tree pre-order, middle sequence, post-order recursive traversal algorithm. Binary Tree Pre-order non-recursive traversal algorithm.
5. Heap, build heap algorithm, heap insert and delete algorithm, heap sort.
6. Hash. What kinds of hash functions are there? The remainder of the extraction? How to handle conflicts? What are the closed hashing methods?
7. Two search tree search, insert, delete. Complexity of time.
8. The principle of insertion node of two fork balance tree, what are the different ways of rotation? Which cases are applicable to each. Analyze the time complexity of binary balance tree.
9. Definition of red-black tree, performance analysis of red-black tree and comparison with two-fork balance tree.
10. What are the storage representations of the diagram?
11. List insert Sort, linked list merge sort.
12. What kinds of sorting algorithms are common, try to compare their time complexity, and whether they are stable, and their respective use cases.
13. What are the kinds of common allocation sorts? The definition, classification and principle of cardinal sort.
14. The process of external sequencing.
The concepts and uses of B-tree, + + tree, trie, and the principle of deleting nodes are added.
reprint: http://www.itmian4.com/forum.php?mod=viewthread&tid=3614