The middle-aged programmer is 40 years old, the company has reached the middle-level salary of 30w+, and suddenly received the news of being dismissed, what should I do?

The cause of the event

I am a programmer. I worked in a company in Hangzhou in July 2016. I was engaged in Android development. I successively served as the head of mobile R&D and the technical director of the project department.

Due to the epidemic, the entire company will work from home after the year. February 24, 2020, should be a very happy day in Japan, because the unit notified me in advance that I will go to work on this day; and what is waiting for me is the layoff notice.

On the morning of February 21, 2020, the personnel notified me that the CTO wanted to talk to me, so around 10 am, HR, CTO, me, and three people nailed and started the voice. The CTO made some preparations and told me that it was very good for them. Difficult choice, saying that everyone is excellent, besides me being laid off, there are others.

I expressed that I understood the company's decision, so the CTO let people continue to talk to me about compensation matters, and first left the chat.

Ms. HR told me that February 24th was my last day of work. The entire department I worked in was disbanded. I learned about the layoffs earlier. Seeing my serious and responsible attitude in handling things in the group, I feel very touched ( Ms. HR was able to say this, and I was very touched when I heard it, but another phone call immediately afterwards proved that it was an emotional card, nothing more).

On February 24, 2020, I went to work in the company. I thought of working in this company for more than 3 years. In the end, I was sad to talk about personnel, but I also felt relieved. There was nothing to miss. I wanted to finish my resignation as soon as possible. End this trip, organize yourself well, and start the next job. Everything is wonderful. It is a hero who can bend and stretch.

In the next few months, he started his job hunting journey. Huangtian simply paid off his efforts. After 2 months, he found a job that he was more satisfied with. In accordance with the previous promise, I will share it with everyone!


Some sorting out of Android elementary-advanced interview questions

basis

  • Talk about the life cycle of Activity
  • Introduce the change process of Activity life cycle in different scenarios
  • If Activity is destroyed but Task is not destroyed, how to solve this AsyncTask when Activity restarts?
  • Why should Asynctask be set to only be able to task once?
  • If the Activity has been destroyed, at this time AsynTask is executed and returns the result, will it report an exception?
  • When the memory is insufficient, the system will kill the activity in the background. If you need to save some temporary state, which method should be used?
  • Introduce the four launchMode of Activity:
  • LaunchMode usage scenarios
  • How to set an application as a system application
  • What is the connection and difference between Activity, Window and View?
  • Two ways for Activity to start Service
  • Can two Android applications be in the same task stack?
  • What is Fragment? What problems have you encountered about Fragment?
  • Fragment life cycle
  • How to realize the rapid dimming of the Activity window
  • Fragment overlap problem
  • Have you ever used local broadcasting, and what is the difference between global broadcasting?
  • How to register for broadcast?
  • Why does Android introduce a broadcast mechanism?
  • Security issues of BroadCastReceiver
  • Know IntentServices?
  • In which thread does Service's onCreate run?
  • Increase the priority of the Service process
  • Introduce the data storage method under Android
  • How ContentProvider realizes data sharing

  • How to publish SQLite database (dictionary.db file) with apk file?
  • Vulnerability in Webview
  • Service and Activity communication
  • How to ensure that the Service is not killed in the background
  • Talk about your understanding of Context in Android
  • RemoteView application
  • How to get the unique identification of the phone in Android.
  • What are the implementation schemes of verification code login in Android applications
  • Why design Bundle instead of using Map directly?
  • The advantages and disadvantages of XML parsing in Android

Layout related

  • Performance comparison between LinearLayout and RelativeLayout
  • Screen adaptation related
  • What do dp, dip, dpi, px, sp mean and their conversion formulas? What do layout-sw400dp and layout-h400dp stand for?
  • Layout optimization
  • The difference between mipmap folder and drawable folder
  • Reasons for ListView Caton and Optimization Strategies
  • How to implement a partially updated ListView
  • How to implement multiple layouts of ListView
  • Why should ViewHolder be declared as a static inner class

Process, thread

  • What are the ways of process communication?
  • What is AIDL?
  • What design ideas are embodied in AIDL
  • Binder mechanism
  • Simply talk about the Handler mechanism

Animation related

  • What are the animations in Android?
  • Android animation principle
  • Android attribute animation characteristics

View drawing related

  • The difference between SurfaceView and View
  • Introduce the basic process of custom view
  • Talk about the drawing process of View
  • The custom View executes the invalidate() method, why sometimes it will not call back onDraw()
  • How to achieve the stroke and shadow effect of a font

Event delivery mechanism

  • Talk about the transfer process of touch events
  • simply put:
  • The execution order of onTouch, onTouchEvent, and onClick in setOnTouchListener in View
  • Common solutions to Android conflicts

Use Bitmap efficiently

  • Talk about your understanding of Bitmap and when to bitmap.recycle()

Reflection related

  • When will reflection be used?
  • What have you done with reflection?

JNI series

  • What is NDK?
  • Android ndk is mainly used in which scenarios? What are the pits?
  • What should I pay attention to when developing NDK?
  • The process of using JNI?
  • How to pass String objects through JNI

Network Optimization

  • Several points of optimization of data acquisition on the mobile terminal
  • How to design a good network layer?
  • How to prevent repeated network requests
  • How to realize wap networking

Testing and debugging

  • How to debug an Android application
  • Common testing tools in Android?

Memory leak/memory overflow related

  • Memory leak problem
  • Under what circumstances OOM occurs
  • How to troubleshoot OOM
  • How to avoid OOM

ANR error

  • What is ANR
  • How to locate ANR errors
  • How to avoid ANR

Safety related

  • How to encrypt locally stored data? For example: shared_prefs, sqlite data, username, password, etc. If it is aes encryption, how to save the key?

System related

  • API differences between Android versions
  • What is Dalvik virtual machine
  • What is the difference between Dalvik virtual machine and JVM
  • What is the memory size allocated by Android for each application
  • How to solve the 65k problem?
  • Android system startup process analysis

end

No matter what technology is hot or not, learning is uninterrupted. Riding on young technology is the kingly way. Otherwise, in the turbulent career of programmers, you can't eat much if you want to eat your youth. year. However, wanting to improve is one thing, but how to improve effectively is another matter. I have been working for nearly ten years, and I have brought many interns and fresh graduates. Many young people are really studying hard, working overtime and working hard, but the method is still wrong.

What is the method? The method is to follow the big guys around you, ask more and learn more. If you don’t have big guys around you, you can join our learning resource exchange group. Small partners all over the country can chat and learn together to learn more about the industry, trends and trends. Towards.


2056-page Android Interview Questions Collection at the end of 2020 (including answer analysis)

Get the direct link by yourself: [ click to get ]

You can check my [ GitHub ] if you need relevant knowledge , and you can ignore what you have already mastered to save time.



Get the direct link by yourself: [ click to get ]

You can check my [ GitHub ] if you need relevant knowledge , and you can ignore what you have already mastered to save time.

Guess you like

Origin blog.csdn.net/Android725/article/details/115302048