Fundamentals
1.1 Language
A, C and C ++ features and differences?
Second, it sets forth the C ++ polymorphism
Third, to achieve Explanation c ++ virtual functions
Four, C and C ++ memory allocation problem
C / C ++ Interview Questions and Answers: These questions do you answer them!
Advanced section
2.1. Network
Five, four and drawn three-way handshake waving flow chart
Six, please explain the process to establish a connection https
Seven Draw OSI and TCP / IP protocol stack of correspondence between
Eight, please explain the principle of ARQ protocols and procedures
Nine, please explain the principles and procedures sliding window protocol
2.2 operating system
X. process communication options? Which maximum efficiency?
XI communication between threads
Twelve, please explain the concept of processes and threads, respectively, and to analyze the similarities and differences?
2.3 Database
Difference thirteen, MySQL and innodb in the myisam
Fourteen, innodb engine of the four major characteristics
Fifteen, MyISAM and InnoDB selectcount (*) Which is faster, and why
Sixteen, Redis data types supported?
XVII What is Redis persistence? Redis, which has several persistent way? What advantages and disadvantages? 20
Eighteen, redis protocol (RESP), explain under what is RESP? What are the characteristics?
Nineteen, Redis architectural patterns which have? Talk about their characteristics
2.4 Data structure
XX, linear table
XXI binary tree
XXII, red-black tree
Xxiii, balanced tree
Twenty-four, Radix tree
XXV, octree
XXVI, Merkel tree
C / C ++ Interview Questions and Answers: These questions do you answer them
2.5 algorithm.
Xxvii, sorting algorithms
Select / bubble / fast / heap row, etc.
Xxviii, consistent hashing algorithm
Twenty-nine, paxos algorithm
Thirty, raft algorithm
A, C and C ++ features and differences?
Answer:
Answer: (1) C language features:
1) As a process-oriented language structure, easy to debug and maintain;
2) a strong performance and processing capabilities, access to a physical memory address directly;
3) C language programming hardware operation, but also for the development of application software;
4) C language also has a high efficiency, portability characteristics.
(2) C ++ language features:
1) expand and improve on the basis of the C language, C ++ compatible with the process-oriented features of C language, it has become an object-oriented programming language;
2) abstract data types may be used for object-based programming;
3) may use multiple inheritance, polymorphism, object-oriented programming;
4) may take on generic programming characterized in a template.
Answer:
a, C and C ++ features and differences?
Answer: (1) C language features:
1) As a process-oriented language structure, easy to debug and maintain;
2) a strong performance and processing capabilities, access to a physical memory address directly;
3) C language programming hardware operation, but also for the development of application software;
4) C language also has a high efficiency, portability characteristics.
(2) C ++ language features:
1) expand and improve on the basis of the C language, C ++ compatible with the process-oriented features of C language, it has become an object-oriented programming language;
2) abstract data types may be used for object-based programming;
3) may use multiple inheritance, polymorphism, object-oriented programming;
4) may take on generic programming characterized in a template.
A, C ++ polymorphism forth
Compile-time polymorphism: mainly refers to generic programming
Run-time polymorphism:
C ++ polymorphism in one sentence: adding virtual keyword before the base class, the derived class override this function, it will be calling the corresponding function according to the actual type of the object at runtime. If the object type is a derived class, the derived class is invoked; if the object type is the base class, the base class is called.
1) using the virtual keyword stated function called virtual function, virtual function must be a member function of a class;
2) the presence of a virtual function of the class has a dimensional virtual function table called the virtual table, a pointer to the object class has virtual virtual table pointer begins. And the virtual table is corresponding to a class, and is a virtual table pointer corresponding to the object;
3) interface to a variety of polymorphism is implemented, object-oriented core, polymorphism and polymorphism functions into classes. ;
4) of polymorphic virtual functions implemented by combining dynamic binding.;
5) a pure virtual function is a virtual function together with = 0;
6) refers to a class abstract class includes at least one pure virtual function;
Pure virtual function: virtual void fun () = 0; i.e. an abstract class, the subclass must implement this function, that is, first names, no content, for content in a derived class.
。。。。。。。。