I recently interviewed 12 people and found that I couldn't answer the basic questions of this test...

In general interviews, I will ask one or two very basic questions to check whether the candidate's "foundation" is solid, some are on the operating system level, some are on the python language, and some...

Having been working in the IT industry for many years, we found that for a programmer, being able to go to a first-line Internet company will have a great impact on our future development.

Many people want to say, I know this, but it is too difficult to get into a big factory, and the resumes are basically thrown away, let alone interview invitations.

Since my friend is temporarily busy, today I will conduct an interview on behalf of my friend. It is the first time to interview someone (not apply for our company), and I will complete the process with a very serious and responsible attitude, which lasts about 30 minutes. It is mainly a technical interview. In the past 30 minutes, the interviewee and I conducted exchanges and learning. The whole communication process was pleasant but there was no disturbance in my heart.

As an interviewer, you should have a good attitude, communicate equally with the interviewee, try to guide him/her to analyze the problem, don't interrupt him/her at will, let alone show off your little knowledge, after all, we hope Hiring the right people. In addition, if the interviewee is very good, then this is also an opportunity for the interviewer to learn. Learning and respect are always two-way.

In view of the relatively simple resume and experience of the other party, I asked very shallow questions. I didn’t say much, and only gave the technical topics we talked about. Even if it is a cliché and simple topic, I will list it:

What is a system bottleneck?
What is concurrency? How to test concurrently in lordrunner? What happens if the rendezvous point fails?
In your past work, what is included in a software defect (or Bug) record? How to submit a high-quality software defect (Bug) record?
What are the criteria for the end of the test?
Please answer what indicators are there for performance testing, what are the indicators for performance testing a login function, and how to measure the maximum number of requests that can be processed at the same time How to answer how to test the login
function?
What are the characteristics of the orthogonal table test case design method?
What are the precautions for requirements testing?
What is the difference between a client with 300 clients and 300 clients with 300 clients putting pressure on the server?

The person who came to the interview for these 9 questions was full of loopholes, advanced questions were even deadly, and he didn't pay attention to the latest developments in cutting-edge technologies. But this person's salary requirement is close to 20k, and he thinks highly of himself during the discussion.

The above is not an excuse for people who don't want to learn automated testing. Instead, I feel that the testers should not lose themselves in the work. At present, as far as the large amount of recruitment information is concerned, if you want a high salary, you will need the following points:

Understand the basics of automated testing, Appium operation, element positioning, operation, waiting, sliding, etc., in-depth explanation of PO, unittest, yaml, configuration files, test reports, etc., and complete the App test framework design based on keyword-driven, Pytest and jenkins continuous integration And development, testing tools, such as performance testing tool loadrunner, automated testing tools selenium, Appium.

meager strength

As an automated software tester, I would like to share some of my summaries and summaries of technology over the years, and share my notes on the skills that an advanced tester needs to master. I hope it can help those who are interested in technology. On the road all the way to black friends!

Let me share the knowledge structure diagram of the development direction of software testing engineers that I have compiled, which may be the most complete in 2022.

Junior software test engineer professional skills reserve

1) Understand the basics of computer and software testing

a. Basic computer knowledge

Computer components, operating system classification, common system architecture (B/S and C/S), commonly used DOS commands

b. Basic theoretical knowledge of software testing

The purpose, definition, principle of software testing, product quality model, basic process of software testing

2) Commonly used Linux commands

In software testing, sometimes we need to build the test environment by ourselves, or deploy automation projects on the server. The servers basically use the Linux system, so we need to master some basic Linux commands

3) SQL statement

In software testing, the verification of test results or the preparation of test data in automation will be done by operating the database. Therefore, for the most basic addition, deletion, modification, and query SQL statements of the database, it is necessary to be able to write independently

4) Writing of manual test cases (most important)

As a software test engineer, the most basic requirement is the ability to write use cases. How to write a test case with high coverage and low repetition rate is the ability that should be constantly pursued when entering the software testing industry.

5) Defect management

Understand how to manage the bugs proposed by testers in the team, so as to ensure that the bugs of the project can be fixed in time

Mastering the above skills, for a student who has just entered the software testing industry, he will definitely be able to gain a firm foothold.

Intermediate software test engineer professional skills reserve

1. Professional skills related to interface testing

Whether it is automated testing or performance testing, or even developing in the direction of test development, the most basic thing is to test the interface. Therefore, if you want to be a good intermediate software test engineer, the first step is to be able to complete the interface test.

1) Basic theoretical knowledge related to interface and interface testing

Including the concept of interface and interface testing, the principle of interface testing, the process of interface testing, http protocol, Restful interface style. These things need to be understood

2) Use of interface tools: Postman and Jmeter

For interface testing, you can use code or tools. Usually, interface testing is done using tools at most. There is no other reason, "efficient".

3) Packet capture tools: Fiddler and Charles

During the test, in order to locate the front-end and back-end problems, we will use the packet capture tool to view the results returned by the interface. In order to locate the problem is the front-end, or the back-end.

These two tools, we generally choose one of the two to learn, because their functions are the same.

2. Programming language learning

The implementation of automated testing mainly relies on code to complete. So to be able to automate testing, you first need to master a programming language. Currently, the mainstream automated testing programming languages ​​in the industry are python and java. I personally recommend python, because for newcomers, it is less difficult to get started. If you can study all day, you can get started with python in about 10 days

3. Automated testing and learning

After learning Python, we can start learning about automated testing.

The purpose of automated testing is mainly to reduce the time for regression testing.

Automated testing in software testing is divided into UI automation and interface automation.

After passing the above study, let's see what abilities you have?

SQL statements, Linux common commands
Manual test case writing and defect management
Use packet capture tools for front-end and back-end problem location
Use Postman or Jmeter for interface testing
Use Python for interface/UI automation testing

Knowledge points that senior test engineers need to master

At this stage, you need to broaden your knowledge system, and at the same time have a deeper understanding of the advanced stage, code quality, test architecture, microservices and middleware, containerization, automated test design, test architecture, CI/CD, and shift left testing , test phase, test shifted right.

One of the differences between test development and R&D posts is that R&D pays more attention to depth, while test development pays more attention to breadth.

For example: you need to understand CI/CD, because the test platform/tool ​​you make may need to be connected to the CI/CD pipeline or the operation and maintenance monitoring system

Another example: when you do performance testing, if you don't understand the core knowledge of architecture design, you may encounter many problems that are difficult to solve when doing full-link stress testing and service degradation testing.

Find a test development JD to compare, and you can also see that this post is for middleware and performance testing. All privatization platforms understand.

In addition to broadening your knowledge system, you also need to refine your coding skills.

In short, big factories use Java a lot. If you want to go to a big factory, you basically have to be familiar with Java, otherwise the interview will be easily passed.

The third point: interview questions

Here is a comprehensive collection of questions frequently asked by big manufacturers such as ByteDance (including answer analysis)

First release on the whole network - covering 16 technology stacks

The first part, test theory (test basis + requirements analysis + test model + test plan + test strategy + test case, etc.)

The second part, Linux (Linux basics + Linux practice questions)

The third part, MySQL (basic knowledge + query practice + summary of classic interview questions of Wannian student table + real questions of database enterprises)

Part IV, Web Testing

Part V, API Testing

Part VI, App Testing

Part VII, Management Tools

The eighth part, Python basics (Python basics + programming questions + collections + functions + Python features, etc.)

Part IX, Selenium related

Part 10, Performance Testing

Part Eleven, related to LordRunner

Part 12, Computer Networks

Part Thirteen, Principles of Composition

Part Fourteen, Data Structures and Algorithms

Part XV, logic problems

Part XVI, Human Resources

Basics of Software Testing

What are the steps of software testing?

How to record test script?

Test methods that should be considered for how to test

How to estimate the testing effort?

The problem with test design

When an error occurs during the testing process, what are the solutions?

Problems with test execution

Goals of Test Evaluation

How to improve the test?

Advantages and disadvantages of C/S mode

Advantages and disadvantages of B/S mode
insert image description here

The difference between Linux
grep and find? What are the uses of grep?

View IP address?

Create and delete a multilevel directory?

Find the haha.txt file in the current user's home directory?

How to query the tomcat process and kill the process, and write linux commands?

View log files dynamically?

Command to view system hard disk space?

View all ports of the current machine listen?
insert image description here

Python
counts the number of lines of code in the python source code file, removes comments, blank lines, and outputs?

Python calls cmd and returns the result?

Bubble Sort

How many different and non-repeating three-digit numbers can be composed of the four numbers 1, 2, 3, and 4?

Please use python to print out symmetric numbers within 10000 (symmetry number characteristics: numbers are symmetrical left and right, such as: 1, 2, 11, 121, 1221, etc.)

Given an integer N and a number K of 0-9, it is required to return the number of occurrences of the number K in 0-N

Determine how many prime numbers there are between 101-200, and output all prime numbers

A function that inputs a triangle, whether the output can form a triangle after input, and the type of triangle, please use the equivalence class-partition method to design a test case
insert image description here


Which Mysql engine do you use for MySQL , and what are the differences between each engine?

How to optimize the query command?

Database optimization?

How does Sql injection occur and how to prevent it?

What is the difference between NoSQL and relational databases?

What is the most basic difference between the essence of MySQL and MongoDB

How to implement paging in Mysql database?

Operation of Mysql database?

Optimizing the database? Improving the performance of the database?

What is data integrity?
insert image description here

Web

What is the difference between web testing and app testing?

WEB test environment construction and test method

WEB Testing Tutorial

Key points and basic methods of WEB testing

Web test page summary

insert image description here

Interface testing
What is an interface

If the module requests http to https, how should the test plan be formulated and modified?

What does the commonly used HTTP protocol debugging agent I have? Explain in detail the setting process of capturing the HTTPS protocol?

Describe the hierarchical structure of the TCP/IP protocol and the important protocols in each layer

jmeter, the response result of an interface is as follows:

How to clean up the garbage data generated by the interface

How to deal with reliance on third-party interfaces

Where do you put the test data?

What is data-driven and how to parameterize it?


insert image description here

Performance testing
What do you think is the purpose of performance testing? What is the key to doing a good job in performance testing?

From what angles are server-side performance analysis performed?

How to understand stress testing, negative testing and performance testing?

How to judge whether there is a memory leak and the indicators of concern?

Describe the causes of memory leaks in the software and how to check them. (It can be described in combination with a development language)

Briefly describe what is value transfer, what is address transfer, and what is the difference between the two?

What is a system bottleneck?

insert image description here

How does selenium
build an automated testing framework?

How to design automated test cases:

How does webdriver open and exit a browser?

What is an automated testing framework?

What is Selenium and what are the popular versions?

How do you start Selenium RC from the command line?

On my machine port 4444 is not free. How can I use another port?

What is Selenium Server and how is it different from Selenium Hub?

How do you connect to the database from Selenium?

How do you verify that an object exists on multiple pages?

What is the difference between using single and double slashes in XPath?

How to write user extensions for SeleniumIDE/RC?

How to verify the existence of an element after the page loads successfully?

What do you know about Selenium Grid? What features does it provide?

How to start Selenium server from your Java Class?

What are the verification points in Selenium?

What is XPath? When should I use XPath in Selenium?


insert image description here

Computer and Network
The IP of a computer is 192.168.10.71 subnet mask 255.255.255.64 with 192.168.10.201…

Please briefly describe the concepts of DNS, active directory, and domain.

What does 10M broadband mean? What is the theoretical download speed?

What is an IP address?

What are the seven layers of the OSI network model?

What is the difference between TCP and UDP?

Which protocol layer does HTTP belong to?

What is the difference between HTTP and HTTPS?

What is the difference between cookies and sessions?

What is the difference between an HTTP get request and a post request?

What is the difference between HTTP1.0 and HTTP1.1

TCP connection establishment process, and disconnection process?

The process of the client using DHCP to obtain an IP?

Write down the network address and broadcast address of a network segment?


insert image description here

insert image description here

Human Resources
What is your testing career development? What do you think are the advantages of doing testing?

When you are looking for a job, what is the most important consideration?

Why should we admit you?

Please tell us about your personal best feature.

What qualities and skills should a test engineer possess?

Also, how do you ensure the quality of the software, that is to say, how do you think the quality of the software can be guaranteed to the greatest extent?

Why did you choose to test this line?

If I hire you, what contribution can you bring to the department?
insert image description here

How to obtain documents:

This document should be the most comprehensive and complete preparation warehouse for friends who want to engage in [software testing]. This warehouse has also accompanied me through the most difficult journey, and I hope it can help you too! All of the above can be shared, click the small card below to enter the group to get it for free.

Guess you like

Origin blog.csdn.net/hlsxjh/article/details/130533808#comments_27918232