Three interviews with Huawei have passed, and the salary was negotiated at 10K. The interviewer said I don’t respect Huawei?

When they don't know the general salary level of a company, many interviewers dare not blindly ask for a price, but this may make the interviewer doubt your ability. A netizen shared his experience online. The man is a tester and has nine years of working experience. He thinks his abilities are pretty good.

Because I feel that the current salary in the company is not very satisfactory, I plan to change jobs. So I went to Huawei for an interview, and I passed it smoothly. But when I asked myself about my expected salary, I didn’t know what Huawei’s salary level was, so I conservatively said 10,000.

But I didn’t expect that after the second interview, there was no news, so I wondered if the salary I asked for during the interview was less. To be honest, a monthly salary of 10,000 yuan at Huawei is indeed a bit low.

 After seeing it, netizens also expressed their opinions. Huawei employees directly said that the starting salary for fresh graduates is still 20,000 per month. Huawei indeed does not have positions with such low wages, and what is needed is really less. No wonder there is no explanation. A veteran employee with nine years of experience only has a salary of 10,000 yuan. In such a situation, how can the interviewer trust your ability?

Some netizens also said that with such a salary, the interviewer may not know what to do. Now experienced employees with good abilities will cost at least 20,000 yuan after tax in Huawei a month. If you don’t get anything, you’ll be sad that the interviewer won’t contact you.

Some netizens said, didn’t you ask about it during the interview? Don’t you know the salary level of a company?

Therefore, when interviewing a company, you must understand the level of the company in advance and offer a price that suits you. Otherwise, the interviewer will think you are just a showman, so they will not dare to ask for a high salary. Don't be conservative during the interview, otherwise you will be the only one who suffers in the end.

But in the end, no matter how your interview goes, with other factors being the same, the only thing that guarantees your success is your technology, and making good technical reserves is the most important thing at the moment.

As a veteran who has been in the software testing industry for many years, I would like to share some of my summary and summary of technology over the years, as well as my notes on the skills that a senior software testing engineer needs to master. I hope It can help friends who are determined to go all the way on the road of technology!

1. Basic theoretical knowledge of software testing:

The theoretical knowledge of software testing is the theoretical basis and support for carrying out testing work. It is a skill that must be mastered in the very important stage of testing.

Software quality model: The software testing process ensures the quality of the software. What aspects of this guarantee can be considered based on the quality model?

Test classification: The software testing process can be classified from different perspectives, from basic testing to advanced testing.

Development process: Tell testers a complete life cycle of software, the process of software from scratch to death

Testing process: Master and guide testers on how to carry out testing work in actual projects. This requires testers to have a thorough understanding of common mainstream testing processes. Encounter different software projects and know where to test software defects most efficiently

Test plan and program: How to plan testing activities in the project and ensure that the testing activities are carried out in an orderly manner

Design case methods: Some test case design methods that must be mastered during the black box testing phase. For example, black box test case design methods, test case elements, etc.

Software defects: Defects should be identified during test execution and defect reports should be submitted

Defect management: After submitting a defect, how to assist the development team in handling verification submission issues in actual work. For example: bug level priority classification, bug description, bug life cycle, use of defect management tools, such as ZenTao, etc.

Test report: Review of the test process and confirmation of results, and generate a systematic professional software test evaluation report.

2. Software testing skills—Linux system

The Linux system is the main server operating system and one of the basic technologies that most people working in IT positions must possess.

Basic knowledge of Linux system: multi-user, multi-tasking, distribution version, etc.

Common Linux operation commands: log viewing, file compression and decompression, user management, file permissions, etc.

Will deploy and configure basic applications jdk, mysql, tomcat

Docker installation and use

Writing basic shell RAD scripts

Remote terminal tools used: shell, xftps, etc.

3. Basic software testing skills - Sql database

As an essential application system for software systems, databases often need to be operated in processes such as interface testing, performance testing, etc. to verify the correctness and integrity of data, which are inseparable from the addition, deletion, modification, and query operations of the database. During the project deployment phase, the database also needs to be Need to cooperate with project deployment. Database support is required in performance testing and interface automation testing.

Basic concepts of database

Relational Database

MYSQL basic add and modify query statements and stored procedures

MYSQL complex query, multi-table query

MYSQL index and transaction related concepts

Use of database client tools: such as Navicat

4. Software testing skills - programming language

It is recommended that friends without programming foundation can learn Python language

The learning content of Python language includes the following knowledge points:

Python basics: Python language features, running environment, basic syntax, coding style, sample programs

data structure:

Basic data structures: numbers, strings, type judgment, type conversion, slicing, string formatting, numerical operations, positional parameters and keyword parameters;

Combining data structures: lists, tuples, ranges, dictionaries, sets, unhashable objects, unpacking, in-memory data structure addresses, immutable data

Program control: sequence structure, loop structure, judgment structure, exception handling, logical operators

Functions: define functions, function parameters, return values, variable scopes, anonymous functions, and commonly used built-in functions

Modules and libraries: modules and packages, import keywords, commonly used standard libraries, commonly used third-party libraries, package management tool pip

Object-oriented: The origin and advantages of object-oriented, the relationship between object-oriented property classes and objects, and the special methods of objects

Logging: baseConfig, file log, email log, customized format, built-in placeholder, level filtering, hierarchical propagation, configuration file

Test framework: unitest, pytest, etc.

Concurrent programming: multi-process, multi-thread, coroutine, thread pool, synchronization control, thread communication, distribution, monkey patch, async syntax, generator

Network programming: basics of socket programming, TCP server and client, parallel request processing, HTTP server and client

5. Advanced software testing automation - interface testing

Interface testing is essentially a type of functional testing. It simulates the client calling the server interface through scripts or tools. Because it is tested from the interface layer, problems can be discovered earlier, thereby improving testing efficiency and reducing repair costs.

http/httpst protocol learning

Learn common request methods: GET, POST

Cookie and session learning

Basic concepts of interfaces

Interface document understanding

Interface test case writing

Interface testing tools used: postman, Jmeter, SoapUl

6. Advanced software testing automation - performance testing

The technical requirements for performance testing are very high, and it requires not only a deep understanding of performance testing indicators, test classifications, and test design. You also need to learn knowledge about system business and architecture so that you can better design performance scenarios.

Basic concepts of performance: meaning of performance testing, understanding of common performance indicators, classification of performance testing

Performance testing process: performance requirement analysis, performance scenario design, test script writing, test execution resource monitoring, performance tuning, regression testing

Used by Jmeter and roadrunner

Performance test report output

7. Advanced software testing automation - app automation

More and more projects and systems provide services through mobile terminals. The quality of software on mobile terminals is becoming more and more important. App automated testing has become an important part of automated testing. With Appium, App automated testing and Web automated testing have many similarities, but as a test engineer, you still need to master the tools and features of mobile applications.

Appium mobile test environment construction: Appium ServerAppium and Desktop, Android operating environment construction, simulator installation and connection, real device debugging mode, adb, weditor, - - UiAutomator22, Monkey

Appium element positioning: native application element positioning, pure web application element positioning, hybrid application element positioning

Appium element interaction: waiting for elements to load, basic attributes and methods of elements, sliding, dragging, zoom operations, drop-down selection operations, toast message processing, common control analysis, common layout analysis

Package testing framework: Integrate Appium, adb and other tools, pre-defined exception handling, record Appium logs, screenshots, and create a multi-purpose testing framework

8. Advanced software testing automation - continuous integration and continuous testing

Continuous integration and continuous testing is a process of building, testing products and fixing bugs in iterations. It helps teams find defects early in the development phase, when they are usually less complex and easier to fix. Through continuous integration and continuous testing, you can minimize the risk of errors early and deliver better quality software faster.

Version control Git: background introduction, environment deployment, workspace, staging area and submission area, branch creation and merging, conflict resolution, tags, config and aliases, local warehouse and remote warehouse, GitHub and code cloud

Continuous integration with Jenkins: background introduction, environment deployment, file structure, remote warehouse and private server, ja package dependency, plug-in management

Container Docker: Understand Dockers’ images, warehouses, containers, Docker Engine and architecture diagrams, network settings, and data persistence

Summarize:

Finally, I would like to thank everyone who reads my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, if you can use it, you can take it directly:

 

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/hlsxjh/article/details/132839008