After writing "proficient" on my resume during the software testing interview, I was choked by the interviewer who had work experience...

Preface

If you have real talent and practical knowledge, writing about mastery can make the interviewer shine!

What if it was written blindly? Basically, he will be tortured severely!

During a recent interview, I regretted writing the word "proficient" on my resume...

Let me first show you the list of skills on my resume:

  • Familiar with the theoretical basis of software testing, familiar with the process and methods of software testing, and capable of analyzing and designing test case requirements
  • More than 2 years of experience in automated testing;
  • Familiar with Python language and Python automated testing process;
  • Familiar with the current mainstream automated testing technologies selenium, appium, unittest, pytest, etc.
  • Master web, interface, and app automated testing technologies;
  • Proficient in Linux operation and MySQL database use;

As soon as the interviewer read my resume, he smiled strangely. (I felt something was not good at the time)

HR sent three questions in succession:

"I see on your resume that you are proficient in Linux and MySQL.
I would like to ask: How can multi-threading avoid the problem of call stack confusion?" "Is it
better to use Join or multiple Select in SQL?"
"With more than 10 million pieces of data, is it better to build an index? Slow, what should I do?"
"I've never used any of these, how can I say I'm proficient in them?"

There are not many people who are asked silly questions like this on the spot and then "successfully" lose the interview. The reason is simply due to unfamiliarity with the business, which causes the interviewer to immediately reveal the secret when he asks. Although I read some interview articles in advance, I couldn't apply them properly in practice. In the end, I interviewed seven or eight companies, but still couldn't receive an offer. Some people even knew they were disappointed when they saw the HR's expression during the interview...

In order to help you get out of this trouble, I have compiled some experiences I gained when I changed jobs, including interview preparation, interview skills, and ideas for answering questions I encountered during the interview process.

Preparation before the interview

1. Several things to note on resumes

Due to space reasons, I will not go into the details of writing a resume here. Just a few points that need attention. (There is a resume template to share at the end)

Don't dig a hole for yourself

You are responsible for the resume you write yourself. Because during the interview, the interviewer usually takes your resume and asks about various details in it. Technical details, work experience, project status, etc. You must be fully prepared for the hidden topics behind every word you write.

2. Understand the relevant situation of the company

Before the interview, you should go to the company's website or other channels to understand the company's corporate background, business model, main products, etc. in advance, so that you can be targeted during the interview.

3. It is best to find someone to review your resume for you.

Because the resume is like a program written by yourself, it is difficult to find bugs by yourself. If you let others review it from the perspective of an interviewer, you will find some unexpected problems. You can find teachers, classmates, or friends, don’t be afraid of trouble.

4. Main websites and channels for finding jobs

  • Zhaopin Recruitment/51job/Yingcai.com (Traditional)
  • Retractor (relatively new)
  • Liepin.com (senior talents)
  • v2ex (cool job)
  • Direct recruitment from BOSS (chat directly with BOSS)
  • Related communities

5. Think of a 3-minute self-introduction example:

Hello, my name is xxx. Today I am here to interview for the position of software testing engineer in your company. Next, let me introduce myself.

(Know and understand the company’s recruitment requirements and skill requirements in advance, respond in advance, and the description of skill points must be targeted)

1) I know how to operate Linux system and use related commands, and have built a test environment in the project.

2) I have used MySQL database and used SQL statements for data query. Sometimes the test needs to compare the submitted data and the query data, and query the data in the database.

3) I know the Python development language and can use it to write test scripts for Selenium. The project requires the implementation of automated test scripts for some fixed functions, using the unittest framework, inserting assertions and introducing external data files into the scripts, and exporting test reports.

4) In accordance with project requirements, check and compare sensitive data in system transmission. Will use Postman to make interface data requests and view server response results, use Fiddler to capture data packets, and analyze whether sensitive data is encrypted.

5) Cooperate with development and operation and maintenance in the project to do some performance testing of the system. Use JMeter/Loadrunner to perform performance tests on complex operations and high-concurrency business of the system.

6) During the project, I participated in the entire process of requirements review, test plan setting, writing test cases, executing tests, and submitting bugs. We all used ZenTao/JIRA to manage and track use cases and defects.

7) For the test development frameworks Selenium, requests, and APPium to be built during the test, the environment is built by yourself.

A recent project I have worked on is the XXXXX management system, in which I am responsible for the testing of the XXXX module. His main function is XXXX. I have designed and written XXX use cases and found XXX bugs.

The above is my self-introduction. Interviewer, do you think there is anything I need to add, or do you want to know more details?

Written test during interview

Each company has different written tests and test development requirements, but the core technologies include operating systems, TCP/IP protocols, automated testing, and Python basics. Some companies will have logic or intellectual questions. The definition and process of software testing are tested a lot.

Conversation with the interviewer after the written test

Don’t just tell the truth that I don’t understand the question very well or don’t know how to do it, avoid the topic, or ask the interviewer for advice.

If you agree with the correct views and opinions expressed by the interviewer and show your appreciation for the things he said well, the interviewer will find it pleasant to communicate with you. At the same time, I will also appreciate that you are a person who is good at listening to other people's opinions and knows how to absorb other people's good suggestions and opinions.

When expressing your subjective opinions, you should speak out decisively.

Review after the interview

Review is very important. Actions without review are often ineffective because they have not been summarized and settled. Everyone should develop the habit of reviewing frequently. We can do the following to review the interview:

1. Review all the questions and answers you asked in the interview

Record HR interview questions and technical interview questions and answers respectively

Is there anything you could have done better to answer the interviewer's question?

2. Write a summary of the interview experience

It is best to write the above content into an interview summary and store it in your notes. For example, form a "job hunting notebook" like this, share interview experiences on Niuke.com and CSDN, and record all the gains in the process. These experiences will be the best database for future interviews.

3. Summarize the rules and prepare again

Throughout the review, we must pay special attention to how to maximize our ability to demonstrate a high degree of fit with the position we are applying for through strong logical expressions. The STAR method mentioned earlier is a good way.

STAR is an abbreviation that represents the four steps to answer this type of question

Situation (S) – what the situation is

Task (T) – What specific task do you need to complete?

Action (A) – What action did you take?

Results ® – what was achieved in the end

Answers to each question should be limited to 2-3 minutes. In the process of describing this very short example, your focus should be on emphasizing Action and Result, which are the parts that the interviewer cares about most. Therefore, in terms of time allocation, you should briefly mention the Situation and Task in one go, and explain the general background clearly.

Test development job interview questions

The sources are real interview questions from NetEase, Meituan, 360, Toutiao, Tencent, ByteDance and other companies, compiled from Niuke.com, Nuggets, and Sifou.

Basic test points

1. Bug required fields

2. Briefly describe the life cycle of BUG?

3. What do you think is the key to doing a good job with test cases?

4. What stages should a complete set of tests consist of?

5. What does software acceptance testing include?

6. What are the strategies for system testing?

7. Write test report

8. Describe the life cycle of software testing activities?

9. Briefly describe the "80-20 principle" in software testing.

10. The composition of a defect test report

11. What is stress testing? What factors need to be considered for stress testing?

12. What is the purpose of software testing?

13. Common methods of black box test case design

14. Which step is the most important among unit testing, integration testing, system testing, acceptance testing, and regression testing?

15. Please tell me the advantages and disadvantages of manual testing and automated testing.

16. How to implement automated testing

17. What is stress testing? What factors need to be considered for stress testing?

18. Talk about your understanding of CI/CD

19. What do you think software testing engineers need to do in a team? What's the value?

……

Common test points for automated testing

1. What automated testing frameworks do you know enough to know how to use?

2. Can you package an automated testing framework?

3. What do you think is the biggest flaw of automated testing?

4. What is compatibility testing? What aspects does compatibility testing focus on?

5. I have a program and it runs very slowly on Windows. How can I tell whether there is a problem with the program or a problem with the software or hardware system?

6. What design patterns are used in automation code?

7. What are the testing strategies?

8. Describe the complete process of test case design?

9. What was the execution strategy for automated testing in the previous project?

10. What framework was used for automated testing in the previous company?

11. How to automate testing of functions containing verification codes?

12. How to optimize and improve the execution speed of Selenium scripts?

13. How to deal with the alert pop-up window?

14. What methods of element positioning are you familiar with?

15. Does Seleinum have a library for reading excel files?

16. Give some examples of exceptions you have encountered during selenium automated testing.

17. Have you ever encountered elements in a Frame when searching for them? How do you handle the positioning of elements in a Frame?

18. How to highlight the current element during script execution?

19. What test automation scripting technologies do you know?

20. How is the PO model made?

……

Common test points for performance testing

1. What are the application fields of performance testing?

2. What software tests does performance testing include (name at least 3 types)?

3. To deliver a performance testing project, please describe your performance testing process.

4. How to understand stress testing, load testing and performance testing?

5. How does jmeter design performance test scenarios?

6. What does the JMeter aggregation report include?

7. Explain the names and specific meanings of 5 commonly used performance indicators.

8. What performance problems did you encounter during performance testing?

9. Give an example of how to use jmeter’s timer?

10. What is performance testing?

11. What is context switching? In what scenarios will context switching exist?

12. How to generate a test report using the command line? How to analyze jtl files?

13. Linux commands in performance testing

14. When can you start performing performance testing?

15. Briefly describe the steps of performance testing.

16. Is parameterization necessary during performance testing? Why create parameters?

17. Describe the software performance points that different roles (users, product developers, system administrators) are concerned about.

……

Common test points for interface testing

1. What kinds of protocol interfaces do most of the popular interfaces currently on the market have?

2. What are the characteristics of the http protocol? Can you tell me where these characteristics are reflected?

3. How to realize the association between interfaces in postman?

4. If the requested interface requires logging in first before requesting, how to perform the interface test?

5. How to test the dubbo interface?

6. From what aspects should interface test assertions be designed?

7. How to design test cases for interface testing?

8. Is it necessary to compare the database during interface test execution?

9. How to clean up the garbage data generated by the interface

10. How to test interfaces that rely on third-party data?

11. What are the advantages of API testing?

12. The interface cannot be debugged. How to troubleshoot?

13. Please briefly describe the differences between cookies, sessions and tokens.

……

Common test points for computer networks

1. Which layer do tcp and udp belong to, their differences and applications?

2. Do you know which software uses TCP protocol and which software uses UDP protocol?

3. The process and status of TCP three-way handshake and four-way wave. Three-way handshake? What happens twice? Four waves? What happens 3 times? Where does TIME_WAIT appear? Why is there TIME_WAIT?

4. Do you understand HTTP status code? Let’s talk about the principle, http request, ARP request

5. The difference between http and https and the encryption method of https

6. The difference between get and post

7. Cookie, session differences, application scenarios

8. OSI seven-layer model

9. arp attack

10. How to modify your mac address

11. What does the operating system do when the computer is turned on?

12. What are the parameters of the message queue interface?

13. What is the reason why the web page is not displayed correctly?

14. What files are included in the hypertext sent by the browser?

15. Browser request, the browser inputs a connection, and what happens after the page is displayed?

Common test points for Linux commands

1. Check the process/query process status to see which processes are currently occupying port 8080

2. Check the occupancy of a port and kill the occupied process

3. You can check the process under Linux with ps, netstate, lsof, and top.

4. Count the number of occurrences of a string

5. Search

6. Create a new file

7. View files

8. Modify files

9. Insert

10. Jump to a certain line

11. Replacement

12、JMM

13、JC

14. What commands are familiar with Linux?

15. Linux instructions (for loop outputs 1-100)

16. Give a lot of information including ip url info and other information info including error and other status codes. Use Linux commands to count the error probability corresponding to each url (it is true that I can’t even remember the problem clearly)

17. How to check the process under windows

Common test points for MySQL database

1. SQL using having

2. Database foreign key

3. Create indexes and index classifications

4. The role of index, when index becomes invalid

5. Indexing and stored procedures

6. Database addition, deletion, checking and modification

7. The difference between Drop and Delete

8. What is the difference between MYSQL relational and non-relational?

9. MYSQL query statement where joins two tables in descending order. Which functions are familiar to MySQL?

10. What is the function of MYSQL index, the principle of index creation, index failure, the more indexes the better, the underlying structure of index

11. Give a student table, including student ID, class, and student grades.

12. Find classes with multiple students whose scores are greater than 90 points

Handwritten SQL

1. Count the 10 oldest people from a user information table (limit+order by)

2. Students whose total score in three courses is greater than 85

3. Select the highest score in Chinese language from the database

Python

1. Do you know some advanced features of python and design patterns?

2. Let’s talk about Python data structure, the difference between tuples and lists

3. Mutable and immutable in Python

4. There is a set of serial numbers, and each serial number is an integer variable. If one serial number is wrong, subsequent serial numbers may be wrong. Please find the location of the first wrong serial number.

5. Bracket matching problem (asked about the difference between stack and queue)

Compilation of more real interview questions for software testing positions in front-line Internet companies:

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can also help you! Anyone in need Partners can click on the small card below to receive it 

Guess you like

Origin blog.csdn.net/okcross0/article/details/132992964