Kotlin interview questions! Ali P8 big cow teaches Android open source framework from scratch, interview must ask

beginning

Yesterday I went to a company and my values ​​have been affected.

The interviewer did not say technically that he may be a perfectionist. No matter what happens to him, there seems to be a solution. I was said to be at a loss and felt that he was very powerful.

But what I cannot agree with is that the interviewer feels that working overtime is a matter of course, and that someone wants to do things better and is willing to work overtime on their own. I don't deny this, but why is it so natural to say that overtime is said, and is it so natural to violate the national system?

He asked me what I think about working overtime. I said you can work overtime as long as it makes sense. He then asked, some people think that it is meaningless to work for the boss. Is it meaningless to work overtime? Of course I said no, because he saves others by himself, I am speechless.

I said again, you can add it when you are busy, will it keep adding? Is there any saying about periodic rest and adjustment?
He said no, it will remain in this state until the company goes public.

Suddenly I don't know what to say, maybe it's the difference in values. It seems that if I don't work overtime, it means that my work is poor and inefficient.

It may be your colleague who asked you to work overtime, which seems a bit sad.

At present, the demand is becoming more balanced, and the demand for developers at the junior and intermediate level has decreased, but the market for demand for advanced and above is still very scarce, especially for Android developers in specific segments. Comprehensive capabilities, especially basic principles, are becoming more and more demanding. For example, many companies will give priority to certain requirements, such as the popular Kotlin, hybrid development, cross-platform development, NDK, advanced image processing, etc., the market The popular live broadcasts and small videos on the Internet also have a large demand for senior talents in the audio and video segment, so that AI, AR, VR and other technologies also need to be shown to users through the terminal, so the mobile terminal development will still be in the future. Make a difference.

Claim

So at present, we have to choose our own sub-fields for in-depth research, have a deep understanding of the basic principles, and approach and reach the advanced level as soon as possible. Of course, you must also understand new technologies and have an open mind to learn some new technologies. Don’t switch to learning as soon as a new technology comes out. This will lead to nothing at all. Of course, new technologies have a development process. It will not be popular and a large number of applications will wait for it to become a little mature, so that you will not step on a lot of pits, and do not reject it, completely ignore and understand the learning. The correct way is to simply understand what the technology is to solve. What are the advantages and disadvantages of the current development maturity and application range, we still have to grasp the essence and foundation of the technology, so that new technology will appear easy to learn, of course, the opportunity is right to learn it.

Therefore, find out your own positioning and subdivision areas.

Here I classified the following categories:

1. Application layer development is not limited to various products, mainly Android native development, mainly various performance optimizations.

2. Embedded development , not limited to various development boards, Internet of Things, smart home, car networking/car

3. Security development , not limited to various anti-reverse, disassembly, and search for security vulnerabilities

4. Audio and video development , not limited to live broadcast, on-demand, audio and video calls, audio and video conferences, short videos, etc.

5. Plug-in, component, and hot repair development, not limited to self-research and integrated development using open source frameworks

6. System development (Android) , not limited to Rom maintenance and FrameWork layer customization requirements

7. Graphics and image development , not limited to OpenGL ES, EGL, GLSurfaceView, filters, beauty

8. Mini Program/Quick Application

Mini Programs are products derived from WeChat’s billion-level traffic portal, and KuaiApp and KuaiApp are a new application ecosystem jointly launched by nine major mobile phone manufacturers based on the hardware platform. Users do not need to download and install, click to use, enjoy the performance experience of the native application, but personally feel that he is already cool, the small program is quite promising, Tencent is a big mountain, WeChat is a pavilion, it is difficult for you to feel cool or not. , But it depends on whether you just need it. For example, if your company has a need, then you can learn.

Recommended new technologies for learning, Flutter and Kotlin, both of which are recommended by Google.

Flutter

Flutter is a new mobile UI framework released by Google at the 2018 World Mobile Congress on February 27, 2018 to help developers develop high-quality native applications on ios and Android platforms

Since it was released by Google, it is worthy of recognition in terms of prospects.

Kotlin

Kotlin is the official development language recommended by Google. It is interoperable with Java, interchangeable, concise and safe, etc. It is a statically typed programming language that runs on the Java virtual machine. It is called Swift in the Android world. It is designed and developed by JetBrains. Open source,

Kotlin can be compiled into Java bytecode or JavaScript, which is convenient to run on devices without JVM.

At last

**A zero-based newcomer, I think persistence is the most important thing. **Many of my friends have come to me to study, and I teach them very carefully, but I can't hold on in less than a month. I think there are two main reasons for their inability to persist:

They plan to enter the industry not because of interest, but because of the so-called high wages in the IT industry, or that they have no plans for the future.

It was really boring when you first started learning. This is really a test for you, so it’s not easy to stick to it, but if you are interested, you don’t think it is tired, you don’t think it is boring. .

Technology upgrade encountered a bottleneck? Lack of advanced Android advanced video learning to improve yourself? There are also a lot of interview questions from big companies to prepare for your interview!

Click: Android learning, interview documents, video collection

Come to get learning materials to improve yourself to challenge the BAT interview difficulties

For many Android engineers, if they want to improve their skills, they often grow up on their own. The learning effect of fragmented systems is inefficient, long and helpless . The compilation of these knowledge graphs hopes to have a reference to Android development friends and avoid detours. The focus of this article is whether you have gained and grown, and the rest is not important. I hope readers can keep this in mind.

No matter what difficulties we encounter, it should not be a reason for us to give up!

If you have any questions, you can directly private me, I will try my best to help you!

Neither is important, I hope readers can keep this in mind.

No matter what difficulties we encounter, it should not be a reason for us to give up!

If you have any questions, you can directly private me, I will try my best to help you!

Finally, I wish every newcomer can persevere and achieve success in learning.

Guess you like

Origin blog.csdn.net/pkpir/article/details/113092702