2. What is the .core file and what is it used for? Answer: After the program crashes, the last stack information will be stored in the core file to facilitate programmers to understand the last stack information before the program crashes. Follow-up question: If the program is cored, but no core inquiry is generated, what is the reason?
Answer: The switch for core file generation is not turned on. ulimit -c unlimit
Further question: Do you know if there is a problem with the program and a signal is generated without using the core file?
Answer: I was confused at the time, but now that I think about it, it’s just the kernel sending signals to the process. Didn't answer.
3. Can shared memory be read and written safely without using synchronization?
Answer: This question was wrongly answered, and somehow it got related to the fork. This question should not work. Shared memory is a critical area and should be synchronized. Otherwise, problems will arise if two processes operate a memory area at the same time. You can use read-write locks to synchronize.
4. After fork, what does the child process retain from the parent process?
Answer: The memory area of the child process is a copy of the parent process, and the stack, etc. will be inherited, as well as open file descriptors, etc. In fact, there are many more, such as actual user ID, effective user ID, current working directory, storage mapping, etc.
5. In addition to file mapping, is there any other way to share memory?
Answer: Shared memory object mapping.
Follow-up question: What is the difference between the two?
Answer: I don’t know.
6. How does tcp implement flow control?
Answer: The peer informs the window size. The amount of data passed by the local end is smaller than the window size. (A better way is to tell the peer the size of the local window, and the amount of data transmitted by the peer must be smaller than the window)
Further question: How to tell the window size?
Answer: In the ACK message.
7. Programming question (didn’t figure it out, eh~)
Q: How to convert a decimal number (greater than 2^32) represented by a very long string into a hexadecimal string?
Ganji.com interview summary
Interview channel: Friend@伟Ran Internal Recommendation Technical Internship PositionInterview time: 13:30 pm on August 14th
First interview:
Interview method: 2 to 1 (technical leader and front-end person in charge) Process description: The questions asked are very wide, including PHP, algorithm data structure, design pattern, front-end, database, Linux, etc. The content probably includes: When the string is null, the difference between isset and empty
The difference between == and ===
What are the PHP magic methods and what are their functions?
What array functions have been used, and the functions of array_merge and in_array What are the common sorting algorithms and search algorithms? Data structures such as trees, linked lists, heaps, and stacks. Have you implemented it yourself or just seen it?
Tell me about the best and worst time complexity of quick sort (nlogn n squared )
Briefly describe the principle of quick sort. It is best to familiarize yourself with common algorithms and data structures before the interview. In addition, time complexity cannot be ignored
The principle and time complexity of binary search (logn) Time complexity The first answer is wrong
What are the design patterns you are familiar with? Write a design pattern by hand (I was writing a singleton at the time)
What are the indexes in the database, the difference between database engines (MyIsam and InnoDB)
Describe the joint index, and the primary key The difference (confusing primary keys and indexes, 囧...)
Database table optimization methods, precautions and principles for table creation, common database field types
What are SQL injections, how to effectively prevent
What caching technologies have been used , is thinkphp's cache partial cache or complete cache?
The difference between Cookie and Session
After disabling Cookie, can Session still be used? What are the solutions?
Commonly used Linux commands (I answered from both file operations and vim at the time) Do you understand ngnix, which has the same function as apache?
Are you familiar with common apache configurations and the role of rewrite in apache?
Which compilers have you used during the development of php (eclipse, phpstrom, zend, general sublimeText)?
For front-end html , css, js, are you familiar with it, and which front-end frameworks have you used?
After the first interview, I asked if I had any questions. I asked about the technical architecture (lnmp) used in the company's development process. Then I waited for a while. I felt relatively relaxed at that time, because I felt that except for the database, the answers were not fluent, but everything else was okay. In the conference room, I was wondering what would happen next. Suddenly, a powerful man with great aura came. The next interview is a bit nervous...
Second interview:
Interview method: 1 to 1Process narrative: The questions asked are very deep. I feel that the projects I usually do are too application-oriented and low-level. Knowledge is relatively lacking The content probably includes:Explained why the university is a five-year system (囧, every time I answer this question, I have to start from a very old sad past)
The usual learning channels (I said that at the beginning, I basically learned from books, The latter are all project-driven, and then people directly talked about the disadvantages of project-driven...)
The leftmost prefix principle of the index (a bit familiar, I think I have seen it somewhere, but I really can’t remember)
Why should I use it? ThinkPHP, what are the advantages and disadvantages compared to writing PHP directly? Have you read the source code of tp? Since you are learning thinkphp, please explain the hook mechanism in tp (I only saw it when the new version was updated. I am not familiar with it. I am nervous... .)
What is reset ful (uh...what is this, I really don’t know)
Explain fastcgi in php, what is cgi, and the difference between cgi and fastcgi (not familiar with it, alas, bite the bullet Come on)
I just asked you about design patterns in the first interview, what is shared pattern (oh, there are so many design patterns, I’m so nervous, I can’t remember them)
Explain PHP’s namespace
What do you usually use for development? What is the php version of (I feel so relaxed at once, 5.5)
You have been a product manager before, how do you understand products and technology, do you want to do technology or product (ah, this is better, essay question, look at mine)
Can you withstand the relatively high intensity of work in normal times? (Of course, we have normal weekends here)
I chatted about some lighter topics, but later I found out that this side was deliberately so difficult, testing the depth of my technical skills. I was really ashamed. Suddenly I felt that there were very few things I knew. Indeed, the review method and time arrangement have been a bit messy recently, and there are some other things that make the whole state more impetuous and nervous. I am no longer in the state, so I will go back and make up for it. Finally, I briefly mentioned that the internship salary was XXXX which was relatively low. I said I didn’t mind, and then said that if everything was OK with me, I would go back and wait for a call from HR.
The interview process lasted nearly two hours in total. After the interview, I chatted with my friends for a while. I got home around 4 pm. I didn’t expect that going to the market was very efficient. I was still thinking about how the interview went in the afternoon. Not long after I got home, the HR girl called me. A nice voice said that I passed the interview and asked. When to join. In fact, I didn't plan to work. I also wanted to go to other places after the interview to improve my interview skills. Just agree to it first. I was told when I could start the job next Monday and Wednesday. I said Wednesday, so I could rest for a few days. Next, I responded to the offer, and I was torn about whether to go or not. I thought I had nothing to do now, so I would just do my internship first and then continue preparing for school recruitment. Prepare onboarding materials.
BaiduWritten test questionsThe written test questions for Baidu technical positions are set by each department themselves. Therefore, there will be several sets of written test questions after the written test every year. Circulated online.
The inspection areas mainly include: 1. Basic requirements
Language (mainly C/C++), programming principles, operating system principles, and computer networks. Such as pointer arithmetic, byte alignment, function call stack frame structure, memory management, process scheduling, seven-layer network protocol model, etc. Usually in the form of quiz questions. 2. Data structures and algorithms
Search (typically such as binary search), sorting (typically such as quick sort, outer sort), tree (typically such as pre/middle/post-order traversal of a binary tree, trie tree). If you are a good person, the question clearly tells you "Please write the algorithm pseudo code for in-order traversal of a binary tree and analyze the complexity." This kind of question is relatively simple. If you are unlucky, the topic will be relatively abstract, such as "Given a file storing hundreds of millions of integer values, design an algorithm to perform xx processing on these integers while satisfying xx space complexity or xx time complexity." This kind of problem is relatively difficult to deal with. Therefore, everyone must be mentally prepared. This part is usually about writing algorithm pseudocode.
3. System design question
The text describes a practical business scenario and requires the design of a system that can realize the xxx function quickly and cost-effectively.
This kind of question is relatively divergent. Usually, most of the students recruited by the school are unlikely to have any experience in this type of design questions. Basically, you need to rely on your own understanding of the system, especially the principles of computer composition or operating system, to draw conclusions by analogy, to express freely, and to be well-founded and logically rigorous. The test point of this type of question is usually not a standard answer, but your ability to analyze actual problems.
How to prepare for the written test
Although the content of the written test is usually the knowledge accumulated in daily life, the importance of "pre-exam surprise" cannot be ignored
1. c/c++
Recommended textbook: c programming language (the textbook written by the creator of C language is short and concise, beating Uncle Tan Haoqiang Dozens of streets), c++ primer, effective c++
2. Computer systems
I don’t know which textbook is from Jiaotong University. The textbook used by Uncle Xue for self-study:
"In-depth Understanding of Computer Systems" English name: Computer.Systems: A Programmer's Perspective
"Modern Operating Systems" English name: Modern Operating Systems
3. Data Structure and Algorithm
The textbook used by Jiao Tong University that year was the C language version of "Data Structure" by Professor Yan Weimin of Tsinghua University
My uncle also used this book before looking for a job For review
Of course, if there are talented people reading MIT's "Introduction to Algorithms" or "The Art of Computer Programming" by Donald E. Knuth, then there should be no big problem with the knowledge of algorithms
4. Improvised interview questions
The information listed in the first three items requires a certain amount of time to digest. If we start from scratch now, there is obviously not enough time. Therefore, Uncle Xue gives some information here to serve as a starting point.
1) "The Beauty of Programming" Microsoft Technical Interview Experience
This book summarizes dozens of typical algorithm questions often used by Internet companies. It is definitely worth studying. In contrast, domestic fast food such as Programmer Interview Guide is A bunch of flying. . .
2) csdn blog - The method of structure, the method of algorithm
Search "method of structure" on Google or Baidu and click on the 1st search structure. The blogger of this blog is a master of algorithms. It is recommended that interested students take a look at the interview algorithm questions.
In addition, the Sina Weibo account of this algorithm expert is researcher July. He is currently giving a lecture on interview algorithm questions, so you can pay attention to it. Preparation for school recruitmentAli written test: August 25
Baidu written test: September 27th or October 12th
Tencent written test: xxx
"Sword Pointer Offer"
"Programmer Interview Guide"
"Big Talk Design Pattern"
Before "Learning Algorithms from Zero Basics" Five chapters
"The Beauty of Programming"
csdn Blog - The Law of Structure and the Way of Algorithms
"PHP Job Search Guide"
"C and Pointers"
"Getting Started with Redis"
Copyright Statement: This article is the original article of the blogger and may not be reproduced without the permission of the blogger.
The above is an introduction to Brother Fan’s interview experience, including various aspects. I hope it will be helpful to friends who are interested in PHP tutorials.
Follow-up question: If the program is cored, but no core inquiry is generated, what is the reason?
Answer: The switch for core file generation is not turned on. ulimit -c unlimit
Further question: Do you know if there is a problem with the program and a signal is generated without using the core file?
Answer: I was confused at the time, but now that I think about it, it’s just the kernel sending signals to the process. Didn't answer.
3. Can shared memory be read and written safely without using synchronization?
Answer: This question was wrongly answered, and somehow it got related to the fork. This question should not work. Shared memory is a critical area and should be synchronized. Otherwise, problems will arise if two processes operate a memory area at the same time. You can use read-write locks to synchronize.
4. After fork, what does the child process retain from the parent process?
Answer: The memory area of the child process is a copy of the parent process, and the stack, etc. will be inherited, as well as open file descriptors, etc. In fact, there are many more, such as actual user ID, effective user ID, current working directory, storage mapping, etc.
5. In addition to file mapping, is there any other way to share memory?
Answer: Shared memory object mapping.
Follow-up question: What is the difference between the two?
Answer: I don’t know.
6. How does tcp implement flow control?
Answer: The peer informs the window size. The amount of data passed by the local end is smaller than the window size. (A better way is to tell the peer the size of the local window, and the amount of data transmitted by the peer must be smaller than the window)
Further question: How to tell the window size?
Answer: In the ACK message.
7. Programming question (didn’t figure it out, eh~)
Q: How to convert a decimal number (greater than 2^32) represented by a very long string into a hexadecimal string?
Ganji.com interview summary
Interview method: 2 to 1 (technical leader and front-end person in charge)
Interview method: 1 to 1
The written test questions for Baidu technical positions are set by each department themselves. Therefore, there will be several sets of written test questions after the written test every year. Circulated online.
The inspection areas mainly include:1. Basic requirements
Language (mainly C/C++), programming principles, operating system principles, and computer networks. Such as pointer arithmetic, byte alignment, function call stack frame structure, memory management, process scheduling, seven-layer network protocol model, etc. Usually in the form of quiz questions. 2. Data structures and algorithms
Search (typically such as binary search), sorting (typically such as quick sort, outer sort), tree (typically such as pre/middle/post-order traversal of a binary tree, trie tree). If you are a good person, the question clearly tells you "Please write the algorithm pseudo code for in-order traversal of a binary tree and analyze the complexity." This kind of question is relatively simple. If you are unlucky, the topic will be relatively abstract, such as "Given a file storing hundreds of millions of integer values, design an algorithm to perform xx processing on these integers while satisfying xx space complexity or xx time complexity." This kind of problem is relatively difficult to deal with. Therefore, everyone must be mentally prepared. This part is usually about writing algorithm pseudocode.
3. System design question
The text describes a practical business scenario and requires the design of a system that can realize the xxx function quickly and cost-effectively.
This kind of question is relatively divergent. Usually, most of the students recruited by the school are unlikely to have any experience in this type of design questions. Basically, you need to rely on your own understanding of the system, especially the principles of computer composition or operating system, to draw conclusions by analogy, to express freely, and to be well-founded and logically rigorous. The test point of this type of question is usually not a standard answer, but your ability to analyze actual problems.
How to prepare for the written test
Although the content of the written test is usually the knowledge accumulated in daily life, the importance of "pre-exam surprise" cannot be ignored
1. c/c++
Recommended textbook: c programming language (the textbook written by the creator of C language is short and concise, beating Uncle Tan Haoqiang Dozens of streets), c++ primer, effective c++
2. Computer systems
I don’t know which textbook is from Jiaotong University. The textbook used by Uncle Xue for self-study:
"In-depth Understanding of Computer Systems" English name: Computer.Systems: A Programmer's Perspective
"Modern Operating Systems" English name: Modern Operating Systems
3. Data Structure and Algorithm
The textbook used by Jiao Tong University that year was the C language version of "Data Structure" by Professor Yan Weimin of Tsinghua University
My uncle also used this book before looking for a job For review
Of course, if there are talented people reading MIT's "Introduction to Algorithms" or "The Art of Computer Programming" by Donald E. Knuth, then there should be no big problem with the knowledge of algorithms
4. Improvised interview questions
The information listed in the first three items requires a certain amount of time to digest. If we start from scratch now, there is obviously not enough time. Therefore, Uncle Xue gives some information here to serve as a starting point.
1) "The Beauty of Programming" Microsoft Technical Interview Experience
This book summarizes dozens of typical algorithm questions often used by Internet companies. It is definitely worth studying. In contrast, domestic fast food such as Programmer Interview Guide is A bunch of flying. . .
2) csdn blog - The method of structure, the method of algorithm
Search "method of structure" on Google or Baidu and click on the 1st search structure. The blogger of this blog is a master of algorithms. It is recommended that interested students take a look at the interview algorithm questions.
Baidu written test: September 27th or October 12th
Tencent written test: xxx
"Sword Pointer Offer"
"Programmer Interview Guide"
"Big Talk Design Pattern"
Before "Learning Algorithms from Zero Basics" Five chapters
"The Beauty of Programming"
csdn Blog - The Law of Structure and the Way of Algorithms
"PHP Job Search Guide"
"C and Pointers"
"Getting Started with Redis"
Copyright Statement: This article is the original article of the blogger and may not be reproduced without the permission of the blogger.
The above is an introduction to Brother Fan’s interview experience, including various aspects. I hope it will be helpful to friends who are interested in PHP tutorials.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Mac version
God-level code editing software (SublimeText3)