Summary of 20 companies including lianfake Xiaomi in autumn 2020


There are 23 autumn recruitment delivery companies, and 1 resume has been brushed. Three failed in the written examination / evaluation. So far, there are no news of 8. The companies that have been offered include Xiaomi, Zhaoyi innovation, Quanzhi technology, Zhejiang Dahua, Haige communication, Jingxin communication, Jingjia microelectronics, Guangzhou langguo electronics, Beijing Huada electronics, and China long technology group. It has signed a contract with Zhejiang Dahua.



   friendly tips: the date after the company name represents the delivery date, and the time after the interview batch represents the interview duration and interview date.

There’s an interview

MediaTek Beijing (7.16)

  20200805received notice, 0806 9:30 am interview. What I wrote in the email is WebEx meet, a software I haven’t heard of before. It took me a long time to find it on the Internet, and the software has no simplified Chinese, so I have to adjust it to traditional Chinese. It was written in the e-mail that I would wait for the notice and then connect. About 9.40, I received a call asking me to join the meeting.

The interviewer is a woman, first let me introduce myself, and then start to look at my resume. After the introduction, ask the project directly.

One side (35min, 8.5)

Did you do that part yourself? Is it made on the basis of senior brothers and sisters?

No, what elder martial brothers and sisters did before was mainly theoretical research. What I have done is the design of hardware and the transplantation of software code.

Transplantation of open source code, what changes have been made? How to modify it?

The main modification is the hardware pin, clock configuration, SPI bus debugging, chip communication process debugging.

In the upper computer part, you said that Kalman filter was used. Have you investigated other filtering methods?

I didn’t think about it. At that time, I consulted some people who were also working in this direction, and their advice was to use Kalman. No other way was considered( In fact, the most important thing is to solve problems. If you can solve problems, you can do it.)

Second round: the first thought at that time was Kalman, because Kalman was widely used and mature in practical engineering, and the effect was good. At that time, it was tried, and the positioning accuracy was greatly improved( The positioning drift and jitter are about 40 cm. The main reason for drift and jitter is that the received signals are not only the result of superposition of multiple signals, but also the Kalman filter mainly filters out other signals except the first path signal

How does it work? Are you benchmarking with others?

The positioning effect is OK, 64 tags can be positioned every second.

Second offer: the industry’s evaluation criteria are mainly in several aspects.

How many lines of code are there in the whole project file?

The exact number of lines is not clear. The final hex file compiled is 112k

What problems are encountered in the process of code migration and how to solve them?

Balabala, the communication process is a bit complicated. It’s estimated that the interviewer didn’t understand, so he didn’t go on asking (actually, he should talk while drawing).

Reply: the whole process of solving the problem should be described in more detail, focusing on the key parts. The three parts of the problem should be explained clearly!

How much code is actually written in the project

Not much, mainly hardware design and debugging, software transplantation, problem solving, modification.

Reply: obviously, the interviewers dislike the lack of code. At this time, it can be said that they have written a lot of wechat applet code, more than 70%. From 0 to 1

How to run multi thread and multi process in project code

There is no need for multithreading and multiprocessing.

How to master C + + in assembly?

Self taught assembly, you can understand. C + + has not been used.

Double disk: assembly is self-taught, C + + and C syntax almost, can understand.

Rewrite the strcpy function?

After that, I explained to the interviewer. That’s right

Change the value of the third bit of a register from 0 to 1

Explain when you’re done. That’s right

What do you want to ask me?

If I am lucky enough to be in your company, what part is the driver mainly responsible for?

It mainly depends on which department you are assigned to. Camera, audio and video, and IO drivers are doing it.

When can I get an answer to the interview result?

If you are not sure, you should give hr the record of the interview process first.


1. What I do in my project is an implementation of software + hardware. The interviewer asks about the software in the whole process, but the hardware doesn’t ask at all.

2. I wrote my blog in my resume and put a link. I don’t know if the interviewer read it or not.

3. The position of interview is linux driver development. I didn’t ask anything like bootloader, input subsystem of Linux kernel, bus device driver model and so on.

4. Female interviewers may not know much about hardware? The whole process is software, and the code written in my own project is not too much, mainly modification. Interviewers should focus on the actual ability to write code. I feel cold.

5. The whole journey is 35 minutes.

6. In summary, how to explain when the project is further considered?

Guangzhou langguo Electronic Technology (8.24)

One side (60min, 9.14)

Leaderless group discussion. There is no standard answer, online search under the leaderless group discussion matters needing attention, want to play what role. But don’t say nothing. Express your views logically.

Two sides (25 min, 9.16)

HR mainly asked about the family situation, girlfriends, workplace, and whether they could accept overtime work. HR also frankly said that the company was on the rise. We are the standard 996.

Three sides (40min, 9.18)


Mainly for the content written on the resume to ask, project drawing schematic diagram, flow chart clearly, and formula derivation.

What is kernel space? What is user space

Communication mode between kernel space and user space

Why uboot? No, is that ok?

The purpose of using uboot is to boot the kernel.

I understand that the theory is OK. Write some work done in uboot into the kernel, and the board can also start. However, few people do this. After all, the kernel is very large and it is difficult to modify it in a large area.

Volatile keyword


9.25 mail, to sign the agreement between the two parties. This company does smart TV and other display devices, including Android driver and Linux driver, as well as embedded application layer. Snacks, desserts, afternoon tea, take a taxi after 10 o’clock for reimbursement. There is a bonus every quarter (0.5-1 month’s monthly salary). There is also a year-end bonus (it is said that you can get 18 salary). It’s just that you have too much overtime (it is said that 996 is standard, 9107 when you are busy). I’m afraid you can’t stand it. In the end, he refused.

Zhejiang Dahua Co., Ltd. (9.3)

One side (30 min, 9.10)

After finishing the written test on September 8, 2020, on the afternoon of September 10, I suddenly called to ask if it was convenient to do a telephone interview.


Suggestions on writing test questions

There are a lot of written questions about C + +, I do embedded software part (partial bottom). It’s hard to do the C + + part. I hope the written test can be divided into the upper and lower parts.


After asking for a long time, the interviewer was very interested in my project.

Static keyword

When modifying a variable, the scope of the variable is only the function, and if the function is called many times, the variable will be initialized only once. Modify function, function scope is only in this file.

How many registers does arm have? What is CPSR, SPSR? When will it be used?

37 registers. CPSR is the current program status register, which stores the status of the current program, such as some register contents of the context. CPSR is used when the program is running. SPSR is the backup program status register, which is mainly used to store the value of CPSR when an interrupt occurs.

What are the character devices? What’s the difference between a block device and a block device? How to write a character device driver?

Character devices include keyboard, mouse, etc. The main difference between character device and block device is the access mode. The access character device is accessed by character stream, and the access block device is accessed by block and can be accessed randomly.

Take an LED driver as an example, first define a file_ Operations structure, and then write the init function to complete the mapping of pins in the init function, register_ Chrdev character device registration, class_ Create class registration, class_ device_ Create registers a device under the class. In the exit function, the character device is unloaded, the class is unloaded, and the memory space is released. The initialization of hardware pins is completed in the open function, and the lighting operation is completed in the write function.

What about the boot process of uboot?

No difficulty.

What’s the difference between heap and stack?

1. Application mode: the stack space is automatically allocated and released by the operating system, and the space on the heap is manually allocated and released. 2. Application size: the free space of the heap is relatively large, and the free space of the stack is relatively small, generally 2m. 3. Application efficiency, stack application speed is relatively slow, heap application speed is relatively fast.

Why is stack space discontinuous

hear nothing of.

General subject, which one do you like? Well learned.

Math, English.

The branch of mathematics is more interested

Matrix theory. Because in the in-depth study of many problems, basically more than 50% of the problems will be transformed into a matrix to solve. So I’ve seen a lot in this part.

In addition to the mathematics in the textbook, do you read other contents about mathematics in private

No, I read more professional books.

In professional courses, which one is better

C language, operating system, computer composition principle, arm system and architecture

In addition to classroom learning, have you ever studied a certain field, or have you seen it in private

Linux kernel source code, operating system, computer composition principle, private will spend time to understand, learn

How to learn? In what way

In the process of learning linux driver, I will think of some problems, such as why interrupt is turned off, DCache is turned off, MMU is turned off, TLC is turned off during the startup of uboot. When I encounter these questions, I will check them. In the process of solving the problems, I will think of other problems. I will record these problems and solve them one by one.

Like the Linux kernel, I recently read a book about the source code analysis of linux0.12 written by Mr. Zhao Jiong. This book is based on the linux0.12 kernel and introduces each part of the kernel in detail. Although it seems difficult, I still insist on reading it.

   second offer: better organized.There are two main forms of learningOne isIn the process of learning to solve problems, problem-solving oriented. For example, in the process of porting uboot, I will think about why I want to turn off Icache, DCache, etc., and turn off interrupts, etc. (these questions can be raised here in case of later questions). When I encounter these questions, I will record them, and then go online to check the information. In the process of solving these problems, may encounter other problems, continue to search for relevant information, until finally all clear.secondIf I have enough time, I will read books like arm system and architecture, operating system and Linux source code analysis bit by bit. To understand the content.The above is my usual way of learning

Which is more familiar with C / C +? Have you ever done development?

C more familiar with, done development, 3000 lines of code experience.

Are you familiar with Linux operating system?

Familiar, common use is no problem.

What do you usually do when you are free

I will go to learn some new knowledge and study some underlying things, such as operating system, computer composition principle, etc. One of the things I’ve always insisted on is blogging. Every week, I will make a summary of this week’s questions and new knowledge learned this week. Every week, I will ask myself to publish a blog to make a summary of this week’s content.

Reply: if I have time, I will devote more time to the study of technology. In the process of learning, I will output my ideas by blogging. Every week I will insist on writing a blog. The main content of the blog is to learn new knowledge this week and solve the remaining questions.

Rhetorical question

Is this your first interview? When will you get the result of this interview? Will the next interview be informed in advance?

It’s the first interview. As a result, it will be given in the last two or three days. Because there are many people, the interview will not be informed in advance.


The interview time is 35 minutes. The whole interview process is very smooth. All the questions are basically answered. The only question about the space discontinuity of the stack is really my own knowledge blind area, which has been supplemented later.

In retrospect. Some questions should be well thought out. Pay attention to the organization, what you ask and what you answer, and don’t talk nonsense.

Two sides (35min, 9.12)


The difference between process and thread

1. Process is a basic unit of resource allocation and scheduling, and thread is the basic unit of CPU scheduling and allocation. 2. The process has its own independent address space, and the thread shares the memory space of the process. 3. The cost of process switching is large, while the cost of thread switching is small. 4. As long as one thread dies in a multithreaded program, the whole process will also die. The death of one process in a multithreaded program will not affect another process.

There are several ways to write loop

for(;1;){},while(1){},do {} while(1);

See you write familiar with the kernel bus device driver model, explain. What is the difference between bus device driver model and character device?

The bus device driver model and character device driver are not parallel concepts. The bus device driver model is a shell based on the character device driver model. In fact, the writing method of the internal driver is basically the same as that of the conventional character device driver. The purpose of this is to isolate BSP and driver and make the driver have better scalability.

How does uboot boot the kernel?

The boot kernel of uboot mainly passes three parameters R0, R1 and R2 to the kernel. The first parameter R0 is 0 by default. The second parameter, R1, CPU ID, tells the model of the CPU on the kernel board. The third parameter R2 tells the kernel where the image file exists and how much memory is left on the board. These parameters are passed in the form of tag_ List.

Major development languages

C language is the best

LValue and RVaule

The left value can be written and the right value can be read. Generally, the left value can be used as the right value, but the right value is not necessarily the left value.

The difference between array name and pointer

The array name corresponds to the address of a block of memory, and the pointer points to the address of a block of memory. The memory address corresponding to the array name cannot be modified, and the memory address pointed by the pointer can be modified, which is more flexible. The array stores the data content, and the pointer stores the address.

Usually like C + +, python this language is involved

C + + can understand, can change. It’s not good to write a big program by yourself. I have learned the words of assembly, and I can understand them and change them. The python language is not involved. JS / HTML / CSS these front-end language is actually used in their own projects, use no problem.

Duplicate disk: first throw out the conclusion, C + + assembles JS / HTML / CSS, which is my language. Then describe it.

The previous projects are all low-level implementations, right.

no Can be called the bottom is the second project, porting uboot 2012 to 2440 development board. The first project is a design and development of hardware and software, which does not involve the bottom layer.

Second offer: how to clearly describe the first project. The first project is mainly to do the hardware design, software code transplantation, is the upper level, there is no technology related to the bottom.

If you think about it yourself, you will be inclined to the development at the bottom in the future, right

That’s right

What about system, driver and kernel?

I’m thinking about driver development

Why drive development

I think it’s more interesting to do the bottom layer. If we do driver development, we know that Android camera driver and audio and video driver are independent pieces, and each piece is worth studying. I personally prefer to engage in challenging work. At present, we are considering to do linux driver first, and then we will do Android driver if possible, and then we will slowly go to camera driver and audio and video driver. This is also a career plan for me

Reply: the answer is a bit off center, but it doesn’t matter. I expressed my plan for the industry to the interviewer.

Next time I answer like this: because I think the bottom layer can make us know more clearly how our program runs and how it is arranged in memory after compiling. I am very curious about technology and often think about some questions, such as can DCache and Icache be turned off during the startup of uboot, How does the Linux kernel know the environment I’m in (running on that CPU, which is actually the way of uboot and kernel parameter passing. I don’t know, let the interviewer ask you) and so on. I like to get to the bottom of all these problems. So I like to do driver development.

Besides going to class, what kind of content will you watch?

The two books I’m reading recently are scenario analysis of Linux kernel source code. The Linux 0.12 kernel written by Zhao Jiong is fully annotated. Last night, I was watching the data structure part of the scenario analysis of Linux kernel source code, including how to realize the linked list, queue, binary tree, etc( Coincidentally, I saw this part last night. In addition, every week, I will learn some new knowledge and record my own feelings and other people’s views on this issue in my blog. Probably in some, do the most is to write a blog, from input to output of a feedback.

Second offer: draw a conclusion first. First of all, the most important thing to do is to write blog, feedback from input to output, Balabala.

There are two main things I do most every week. The first is to learn new knowledge, learn some content that I am interested in, such as the book I am reading recently. The second is to write a blog. I will write a blog every week. The main content of this blog is the summary of the knowledge learned this week, or the solution of the questions left behind before.

In addition to knowledge learning, what hobbies do you usually have

I run about three times a week and play basketball at least once a week.

Look at the blog you wrote, 104 in 11 months, which is equivalent to about 10 in a month.

Many of these 104 articles are notes and essays in the process of self-learning linux driver development. In the process of learning, it’s easy to record. In fact, I found that it would take a little time to produce a good article in a month. So, one of my requirements for myself now is to write one every week to ensure the quality. Not like before, in the form of taking notes.

Which of these articles are highly visited

The operation of adding, deleting, changing, checking and reversing single linked list, bubble, quick sorting, merging and other sorting of single linked list, threaded binary tree and so on.

Is data structure self-taught? Are you familiar with trees? What are the characteristics of those trees

Full binary tree, all root nodes will have two child nodes. In balanced binary tree, the value of the left child of the root node is smaller than that of the root node, and the value of the right child is larger than that of the root node

Double disk: the balanced binary tree is wrong.

In the process of driving, is there any optimization and improvement for a certain point?

Hesitated for a long time, did not remember. Embarrassed!

Duplicate disk: the most basic key driver, changed from query mode to interrupt mode. During the startup of uboot, the relocated program is stored in the front (link script) to ensure that the code within 4K can complete the copy of the following program.

Rhetorical question

When can I get two results?

Within a week. HR will contact you later.

There are several rounds of interviews to come

There should be another round of interviews. After HR interview, it will make a comprehensive evaluation and give an offer.


It’s OK on the whole. 70. The technical questions asked in the interview are summarized in the data. The binary tree is wrong. I don’t know if the interviewer has found out. During the interview, I spent a lot of time talking about blog, which is also my good direction.

The answer to the last question is not good. I really don’t think about it. Just think about it now and give a similar example. It’s not bad to answer directly.

Three sides (15 min, 9.14)

What did you get after the interview

Some questions could have been answered very well, but they were not answered very well due to lack of experience.

What companies have you invested in at present

I invested in two companies, one is XX, the other is Dahua, Dahua is the fastest in the interview( Actually, I’ve invested in several companies.)

Family members. Are there any requirements for the workplace?

Just answer truthfully.

Expected salary

I said that companies should have a unified standard, just follow the standard. HR said you’d better say one. I said XXX.

What are the current offers

At that time, I was afraid of price reduction, so I said that I had XX and XXX offers (in fact, none). In fact, there is a slip of the tongue here. Previously, it was said that there were only two deliveries. Where did you get the offer? I don’t know if HR is aware of it( If Dahua’s colleagues see it, don’t beat me, ha ha.)

Rhetorical question

When is the result?

Within a week.


Today is 9.21. There are still no results. Ask tomorrow.

The final offer was issued on 9.30, and I was quite satisfied with it!

Zhaoyi innovation (9.3)

One side (50 min, 9.21)

I asked about the project for a long time


How to write character device, frame

The driver framework of data summary includes. It’s easy to answer.

LCD driver frame

The driver framework of data summary includes. It’s easy to answer.

Uboot startup process

The driver framework of data summary includes. It’s easy to answer.

SDRAM interface address

I forgot the specific address, but I know he is connected to bank6

You are from the north. Do you have any requirements for your work place.

Me: No. I mainly value what I do in the company.

Let me introduce our department to you. After Balabala talked about a lot of work content (when the interviewer said this, I think it would be a play), he mainly made fingerprint chips. Most of the work content focused on the Android bottom layer and Hal layer, and it took 50% of the time to solve problems for customers.

In fact, I don’t like this job very much, mainly because I feel FAE. But it didn’t come out at the time.

Two sides (15min, 9.25)

How to understand the innovation of Zhaoyi

Many of the competitions are sponsored by or named after Zhaoyi innovation. I also participated in the power research competition held by Zhaoyi innovation this year. We won the national third prize in the power research competition.

What’s your current offer? How much is it for you?

Dahua, Quanzhi. Not yet( At that time, for fear of price reduction, he said that he had two offers on hand.)

When will it be sent to the third party? Pull in group first

Late October, early November.

Work in Shenzhen or Shanghai?

Think again.

Parents’ requirements for workplace


Do you plan to settle in Shanghai or Shenzhen


There are 200 + people in the offer group. Many of them are from CETC, Xidian, Xijiao and Xigong University. I dare not speak in the group.


I still don’t like this job very much. I mainly work on the Android bottom layer and Hal layer, and solve problems for customers, which takes up 50% of the time. In fact, 30% of the time is acceptable, and 50% is a little too much. Thank Zhaoyi innovation for my recognition, sorry!

Jing Jiawei (9.13)

Jingjiawei’s interview is professional. Three in a day. Each interview is two interviewers, two or a round of pressure.

One side (35min, 9.23)


I didn’t ask in detail. Basically, it’s about principles and so on. Just explain it clearly.

Have you ever studied data structure and taught yourself? How many questions did you brush? Ask a simple question

I learned it myself. I haven’t calculated the specific number. There are about 200.

How to judge whether a number is prime?? I really can’t forget the concept of prime number. After thinking about it for a long time, the interviewer said, I guess you don’t understand the concept of prime number. Forget it.

Spin lock and semaphore


When will binary trees degenerate? What is a balanced binary tree?

I don’t know when it will degenerate. Balanced binary tree is that the degree difference between left and right subtrees is less than 1

Uboot startup process

I’ve said it many times.

Cache consistency

I don’t know the concept. But I specifically mentioned some problems of reading and writing cache, such as clearing the cache during initialization.

How to write a character device driver

Init function, exit function, file_ Operation structures and things like that

Why does uboot start to turn off interrupts, MMU, DCache and so on

It has to be closed. The purpose of uboot is to boot the kernel, and when uboot starts, it just turns on what is needed, and turns off everything else that is not necessary. Of course, it can also be opened. DCache and the like must be shut down, because SDRAM is not initialized and may get wrong data.

The difference between bin file and ELF file

unclear. Later, I added this content to my summary of interview knowledge.

When to use hash? How to solve hash conflict?

The requirement of time is relatively high, and the requirement of occupied memory space is not high. Open address law, Hashimoto law.

Two sides (45min, 9.23)

Introduction of project principle

The purpose of blogging

I have considered this issue before, and I made four points at that time. 1. The form of essay is convenient for self review. 2. Good study habits 3. Know a lot of predecessors in the industry. 4. After getting used to it, stick to output every week.

Look, you’ve written a lot of awards. Many of them are university level. Do you have any others?

There is a national level, the third prize of the national research electricity competition.

Project difficulties


There are all kinds of problems for me, in short, the pressure side, has been negating you

With so many scholarships on your resume, do you think you are the best around you? Why? What’s the difference between you and others? Why don’t you go to work directly after graduation? Why take the postgraduate entrance examination? What did you do during the undergraduate period? What did you get? Do you think you are the most hardworking? Didn’t you work hard before? Why are you watching c primer plus? Is the foundation not good? And so on( This kind of question can be answered calmly and truthfully. Don’t let the interviewer think you have a problem

Three sides (30 min, 9.23)

The most impressive people


Introducing the project

The most successful project

Project difficulties

How to overcome and learn the difficulty of project

If an order needs to be approved by your superior, but the superior is very busy, what will you do?

If this customer is trading with us for the first time and the time is very urgent, you can consider looking for a superior leader. If this customer has had many transactions with us and the superior leader really has no time, then I can also audit.

Second round; After reflection, we should not answer the question “I can audit myself”. Generally speaking, the company must have countermeasures. Just follow the company’s process.


Offer on September 25 and reply after national day. The company is in Changsha, do graphics card, the main customer is the army. I didn’t really want to go. On the first day after the national day, I gave jingjiawei a reply that I couldn’t go.

Quanzhi Technology (9.15)

One side (20min, 9.23)

Brief introduction of the project

The difference between process and thread

I’ve asked many times.

Programming problem: pointer function, function parameters for int, return value for character pointer

char *((*p)(int))

Macro definition for maximum

​ #define  MAX(a,b) (a)>(b)?a:b

Uboot startup process

I’ve asked many times.

Two sides (40 min, 9.26)

A hotel, chatting with the general manager of R & D department, benefited a lot.

Why blog?

I have considered this issue before, and I made four points at that time. 1. The form of essay is convenient for self review. 2. Good study habits. 3. Know a lot of predecessors in the industry. 4. After getting used to it, stick to output every week.

Project principle, five minutes to explain to me

Talk while drawing.

Why learn Linux? What development board is used? When did you buy it? How much did it cost? Self taught? Is there any guidance? How long did you study?

Is there much Linux around?

Will the operating system? How much do you know about the principle of computer composition?

I don’t have time to see it completely.

Why don’t you have time to see it all?

During the day, I am busy with my tutor’s arrangement. I have to write papers, change papers, write patents and so on. In the evening, I have time to learn some content. At that time, he said that although he didn’t have time to look at it completely, he still understood the basic concepts of the operating system.

Let’s talk about MMU. What is MMU? Why MMU? Make the whole story clear

I’m going to talk about some of the contents of this

  Details of S3C2410 MMU

   physical address to virtual address mapping, in order to run large programs, operate more addresses

It’s the mapping from virtual address to physical address. You’ve reversed it.

Then I said that what I value most is the mastery of the operating system and the principles of computer composition, which are the basis of the embedded system.

These are all in my plan, but I’m looking at the framework of the source code.

Do not read the source code, do not understand the operating system and computer composition principle, read the source code will be exhausted. In our previous project, we had to modify the scheduling program in the kernel. I studied the process scheduling, and it took me more than two weeks to complete the modification. So, if you have time, you should make up for the computer foundation. Don’t worry about the content of the source code.

The interviewer is really good. I also told myself a lot. So next, we need to adjust our strategic thinking,First look at the operating system and the principle of computer composition

During the period of school, we should lay a solid foundation and read well.

   when I interviewed other companies before, the interviewer could answer some questions about the operating system. Here I am a little inflated. I actually told the interviewer that I understood the basic concepts of the operating system. I was knocked down by the interviewer. So, if you are not familiar with it, don’t tell the interviewer that I am proficient in XXX, or you will be asked by the interviewer until you can’t.Learn a lesson!

HR surface (20 min 9.26)

Finally, I went to another room to chat with HR about the salary and salary. The salary is average, and there is 20% performance in the salary composition, floating up and down. I’m not going. Moreover, because Quanzhi has also caused layoffs before, he tentatively asked how many people will be cut during the HR probation period? HR’s answer is that we do not specify specific indicators. Then I added, can I understand that there is no upper limit or lower limit? HR said yes. So, he refused.

After chatting with HR, by the way, I asked the name of the examiner below. HR said that this is the R & D director of their XX Department. Chat with this interviewer, really learned a lot, benefited a lot!

Xiaomi (9.15)

One side (40 min, 9.21)


First of all, self introduction. Originally, I was going to introduce myself for three minutes, but I was interrupted by the interviewer in the middle of the interview, saying that the interview time was limited. Be brief, or there would be no time to write code later. I’ll introduce my blog. Then the interviewer is also very direct, up on the basic knowledge began to ask.

The difference between process and thread


   process is a program with certain independent functions. It is a running activity on a certain data setThe system is an independent unit for resource allocation and scheduling. For example, when a user runs his own program, the system creates a process and creates itAllocation of resources, including various tables, memory space, disk space, IO devices, etc., and then the process is put into the ready queue of the process. The process scheduler selects it, allocates CPU and other related resources for it, and the process is run.

   a thread is an entity of a process, which is a threadThe basic unit of CPU scheduling and allocationA thread basically does not own system resources, but only some essential resources (such as program counter, a set of registers and stacks) in running. However, it can share with other threads belonging to the same processShare all resources owned by the process

In the operating system without thread, process is not only the basic unit of resource allocation, but also the basic unit of scheduling. It is the unit of concurrent execution in the system. In the operating system with thread, process is the basic unit of resource allocation, while thread is the basic unit of scheduling and the unit of concurrent execution.

Not all. The interviewer reminded me again. What are the methods of interprocess communication. Pipeline, FIFO, signal, semaphore, message queue, shared memory (fastest), socket.

Have you ever heard of zombie progress


Static and volatile


Static mainly changes the scope of functions and variables. Volatile prevents registers from being optimized so that each instruction runs as we write

What commands are used to transfer files between two Linux operating systems?

I don’t know what command it is, but I can say what I think. I think it can be transmitted by using the HTTPS protocol.

It’s not an order. It’s an agreement.

Have you studied data structure? What sort of algorithm do you know?

I didn’t learn it at school, but I learned it in private. Sorting algorithm: quick sort, select sort, bubble sort, insert sort, heap sort.

Let’s talk about the process and time complexity of fast scheduling

Balabala, that’s right.

Hand tearing code

Invert the word I am a teacher – > rehcaet a ma I in the string

It’s a very basic question. A came out.

Last question

When is the result?

I’m not sure. In a week.


There’s a lot of basic knowledge that hasn’t been laid. Mainly focuses on the concept of operating system. I really don’t know. I’ll make a good supplement next!

Two sides (50 min, 9.25)

The project is very detailed

20min, principle and flow chart

What’s the difference between typedef and define

1. Typedef is processed at compile time and has the function of type checking; Define is expanded during precompiling, which does not check for errors, but replaces characters. 2. Define has no scope limit. Typedef has its own scope. 3. When typedef defines the alias of a pointer, the alias can define two pointer variables in succession. When defining an alias of a pointer, using this alias to define two pointer variables consecutively will report an error.

Can array subscript be negative

No, I don’t think so.

Can’t use sizeof() function, how to judge whether the operating system is 16 bits or 32 bits

In 16 bit system, the range of int variable from – 32768 to + 3276732767 + 1 becomes – 32768. We can use this feature to judge.

How does IIC send a data? IIC sequence diagram. What are the IIC chips?

The answer was OK.

Is user stack and kernel stack in the same area? What’s the difference?

no User stack and kernel stack are two independent areas. The kernel stack stores the register information when the kernel state program is running, and the user stack stores the user state content.

How to communicate between user space and kernel space?

1. API function, copy_ from_ user,get_ And so on. 2. Proc file system 3. MMAP system call 4. Using file

Interrupt response execution process? Have you heard of the top half and the bottom half? Talk about

The CPU accepts the interrupt, saves the interrupt context, jumps to the interrupt processing history, executes the upper part of the interrupt, executes the lower part of the interrupt, and restores the interrupt context.

The top half of the execution is generally more urgent tasks, such as the clear interruption. The second half performs some less urgent tasks, which can save the time of interrupt processing.

What drives have you written? How to write LCD driver?

Balabala, I’ve asked many times.

Hand tearing code

Given an array, find the number whose sum is s. Two search, a.

Rhetorical question

If you are lucky enough to enter the company, which aspects are you mainly responsible for?

IO driver, audio and video driver, kernel optimization and porting are available. Look at how well your interests match your past experiences.

How long does it take to get results?

It should be given by the end of the month

Three sides (10 min, 10.15)

Family situation

Salary Expectation

Do you have a girlfriend? Is the place of work Beijing or Shenzhen?



The offer is already 10.20. It’s too late. The three parties have already sent it. Considering the overall situation, I feel that the cost performance is not very high. If you go to Xiaomi’s platform, it’s really good. In fact, I have a little regret in my heart. But that’s it. It’s doomed to miss Xiaomi.

China Great Wall Technology Group (9.15)



What are the Linux instructions you know


What is busybox?

A reduced version of the UNIX system commonly used command toolbox. Mainly includes some commonly used linux instructions, environment, etc.

What is the root file system

The root file system is the first file system mounted by the kernel when it starts, and the kernel code image file is saved in the root file system.

Why blog?

I’ve answered that before. Four o’clock.

Rhetorical question

What is the main responsibility of this position?

Your position is Linux system engineer, mainly responsible for the optimization and porting of the operating system.


On September 25, wechat told me that I had passed the interview and asked if I had signed a contract. After comprehensive consideration, I refused. Sorry! In fact, the company is not bad. In Changsha, the minimum salary is 16 per year, and the room and board are included. It’s quite suitable for Changsha people to go.

CEC subsidiary Beijing Huada Electronics (9.15)

The interviewer is two people, an HR and a supervisor in his 40s. I didn’t ask deep technical questions, mainly about projects and blogging. They mainly do WiFi chip and SOC, more likely is the application layer development task. The treatment is OK, but I think the platform is small, refused, sorry!

Beijing Telecom (9.16)

One side (10 min, 9.21)

I forgot what I asked. But it’s not difficult. It’s very basic( The shortest interview in history, 10 minutes)

Two sides (15min, 10.19)

I entered the Tencent meeting at 9:30 in the morning and found that there was more than one person. A few interviewers just chatted. We all don’t know whether it’s technology, group or HR? There was no notice of the interview in advance. Later, a woman came in and said, “you can wait patiently. If you are interested, you can listen together. Let’s face each other.”. About 20 minutes for each person.

After the first interview, HR asked the second person to come. I don’t think everyone responded, so I’m the second one.


What’s your decision-making process like?

What about the offer? Expected salary? Where do you work?

Rhetorical question

How long will the offer be made? How long before we talk about salary?

Within a week


I felt that the interview was not very formal. The telephone interviewer was 20 minutes late and didn’t ask a few technical questions. It was over in 10 minutes; One side and two sides are too long. I don’t know if others have. Anyway, I am. Maybe it’s too much food. It was picked up later. 10.23hr calls to confirm whether to accept the offer. I’m sorry for the rejection!

Hagrid communications (9.27)

One side (20 min, 9.27)

Group face, five people in a circle, each person to do self introduction, HR will ask questions separately, the general content is about where people, family, parents work, how much to know about Hagrid and so on.

Two sides (25 min, 9.27)


You know the common linux commands


IO multiplexing

I don’t know, but I know the reuse of IO pins. Balabala explained.

What programs have you written on Linux

Basic peripheral drivers have been written, such as LED, button, LCD, NAND flash, etc.

The compiling process of the program is divided into several parts

Preprocess, compile, assemble, link

What is 4-byte alignment? Why alignment?

The data are summarized as follows.

How to find the address of a structure member variable

Just a few days ago, I wrote a blog.

  Container in kernel_ Detailed explanation of macro

Function pointers and pointer functions

The data are summarized as follows.

What is a wild pointer? How to avoid it?

The data are summarized as follows.

What’s the difference between sizeof and strlen?

Sizeof is an operator, which has been determined during program compilation; Strlen is a function that can be calculated only when the program is running.

int a[5] = {1,2,3,4,5},sizeof(a) = ?


The idea of quick sort? Time complexity?

Play cards, O (nlogn).

What is a hash table? How to use it?


Rhetorical question

If you are lucky enough to enter your company, what are your main responsibilities?

Responsible for debugging and maintenance of basic peripheral driver, cooperate with hardware engineer to develop new platform.

When can I get the result of this round of interview?


Three sides (10 min, 9.28)

Deputy Secretary of the Party committee interview, the whole process is very relaxed, just ordinary chat, self introduction, where people? Why did you choose to study in the south? What do you know about Hagrid? How to treat overtime? Is overtime acceptable? Career planning?

All sides (15 min, 9.28)

Big boss interview, like a general manager, self introduction, introduce the project, project several people? What part are you in charge of? In addition to this project, what other projects are there in graduate school? What’s your role? Which direction did your tutor study? Why is your research direction different from that of your tutor? Do you think the tutor has helped you a lot during the postgraduate period? Where’s your girlfriend from? What do you do? Have you ever considered settling down in Guangzhou? Why? Wait a minute. I can’t remember.


The whole interview felt strong state-owned enterprise flavor, valued people’s comprehensive quality, and didn’t have high technical requirements. 9.29 to talk about salary is not so much to talk about salary as to tell you directly. There is no room for argument. Unified package price. No, I’m sorry!.

The resume is brushed


I have to say that oppo’s resume card is really strict. It’s all manual screening. It depends not only on your school, but also on whether your project experience matches. It’s normal for me to get brushed.

Written examination / assessment

Hikvision (9.1)

It’s a pity that the evaluation failed.

Lexin (8.18)

Previously, HR of Lexin said that batch delivery in advance does not affect autumn recruitment. So it was delivered to Lexin technology very early. Lexin is my first written examination company. At that time, the written test questions were three programming questions. Great difficulty! It’s more difficult than Huawei’s written test. Moreover, the first time I used Niuke’s written test system, I couldn’t read the input and output, so the written test was directly suspended.

9.8 to HR confirmed that the early batch will be automatically pushed to the official batch. But I didn’t receive the written test until 9.19. Later HR asked me to go to the official website to see the status of my resume, and the result showed that the talent pool! Is there no written examination for the official approval? What operation.. It’s a bit false to say that it doesn’t affect, but it does. Those who may pass the written examination in advance will not have the chance to participate in the formal examination( Guess for yourself)


The written test of factory C is very metaphysical. At that time, I still had great expectations for factory C. The written test questions are in order, and all the big questions come out. The correct rate of choosing to fill in the blanks should be 80%. But in the end, the written test failed for no reason. Without exception, all of my classmates failed in the written examination. Is the 100 point question, the 90 point pass line? In the future, when we do the written test of C factory, we should be extra careful and try our best to have a high correct rate!

On 12.9, I received a call from cvte HR, saying that I was making a supplementary record and that I would make an appointment for an interview. There are no three parties in hand. I refused.

No news

Cambrian (9.3)

There was no news after the written test on September 16. Three big questions, a 1.5( In fact, the company doesn’t know much about it. When it sees a job, it invests. It’s said that it’s the boss of AI four little dragons.)

Huawei (9.10)

In August, Huawei made a special online presentation. At that time, each department of the presentation made an introduction to the wechat group, and I also added several groups. After adding to the group, HR will take the initiative to add your friends and make a voice call directly to solve your questions about the delivery post, which is very enthusiastic. Hr of each department will say that we have a lot of HC here, so it is suggested to send it to our department.

In the selection of departments, the following aspects are mainly considered. In view of this year’s situation, Huawei’s consumer BG is not considered. After all, the chip supply has been cut off, and the mobile phone business has also been greatly reduced. It is very likely that Huawei will shrink its recruitment. Wireless department, I don’t think about it. God terminal, the name of Saint wireless is not blowing. Moreover, Huawei’s wireless department also has high performance requirements, about 10%( HR from other departments. Finally, consider that the Bu of smart car is newly established, and HR of Bu of smart car strongly recommends us to deliver it. So we delivered the bu.

   after delivery, I searched the Internet for information about the Department and saw a message, which roughly means that the Department’sThe number of people will not be too many. They should be small and precise. I felt a little bit trapped by the HR of Bu.

In the written test on September 14, the first question of big question a was given. The latter two didn’t do it. 9.16. 9.19 asked the person in charge of the delivery department that the first batch of interviews had been closed for the time being, and there might be HC after that. There would not be too many places, but after October. Send a message to HR again in October, HR has no reply. On the contrary, students from other departments arranged interviews during the week of 9.19-9.24.

How to say, I blame myself for the late delivery and Huawei’s tense situation this year. At that time, the main consideration was that it was not ready, and Huawei basically ended three times a day. It’s not worth it if you’re not ready to be cannon fodder. So the delivery was a little late. Now I’m ready, but I’ve missed the time node. It’s a pity.

  Huawei Technology interview preparation and experience sharing

  Everyone, please tear the code by hand

  After Huawei’s operation, ZTE may become the biggest winner

  I can’t sleep in the middle of the night. Talk about Huawei’s autumn recruitment..

For more information about Huawei’s recruitment, you can go to

On the afternoon of 11.30 and 12.3, I received phone calls from HR of Huawei cloud & AI and consumer BG, asking me about my basic situation and asking me to continue to send my resume. Considering that there were no three parties, I refused. Moreover, Huawei’s talent pool has gone to sea, and this time node is still inviting interviews. I guess the KPI of HR has not been completed yet.

BOE(8.25 & 9.12)

It’s strange that there’s no news about the early approval, and the formal approval is not given to the written test. it’s too hard.

NXP (9.15)

I heard it’s only 211 / 985?

Ruixin micro (9.17)

I really want to go to this company, but there is no news.

Ziguang zhanrui (9.18)

It’s mainly late delivery. What’s more, it’s funny. I only sent a text message to inform the written test, but I didn’t receive a link on the day of the written test. Later, he asked HR and said: sorry, this is our first online recruitment. The system is buggy, and we will deal with it later. Later, I sent an email to ask HR when to arrange the written test, and the reply was also very official. It’s too hard to miss the last written examination in September.

I sent a text message at 12:00 p.m. on November 1 to attend the interview directly on the afternoon of November 2. Considering that there was no tripartite agreement, I refused.

MediaTek Chengdu (9.18)

Delivery is late. There may be no shortage of people in Chengdu. There has been no news.

Xiaoma Zhixing (9.18)

It’s not until later that I learned that this company only recruits 985 people.


The whole autumn recruitment is relatively smooth, although there was a period of time in early September when the state of mind collapsed, but it was adjusted in time. Feel autumn recruit is also very dramatic, six points of luck, four points of strength. Good luck, and the interviewer chat smoothly, maybe also get SP, ssp. But, also cannot blindly rely on luck. Opportunities are always reserved for those who are prepared. When opportunities do not come, we should prepare carefully. When the opportunity comes, we should make good use of it.

Finally, I wish all the friends who read this article can get their favorite offers in autumn recruitment.

Form a habit, praise first, then watch! If you think it is well written, you are welcome to pay attention to it, like it, watch it, forward it, thank you!

If you have any questions, please contact me through the QR code in the announcement