This article was published on my official account in November, and today I suddenly remembered that there are nuggets, so I sent it to conclude the last article. In fact, it’s nothing to look back on now, but there was a naked resignation pressure at the end of the year, share it with those who quit naked/plan to resign/look for a job, if you are tired of the domestic big factory environment, you can also come to our company or similar direction to try.

Yesterday was my last day at Byte.

When I started last year, I was wondering, how long would I stay in Byte? A year? Two years? After all, “one byte, three years in the world.” Now we have the answer. One year and two months. Fortunately, it exceeded the seven-month average.

In this year, I participated in the Tik Tok Spring Festival project and spent more than two months in Beijing in closed development. I was responsible for the development of koi venue. I developed the cross-end frame from scratch and made many performance optimization to provide users with smooth experience like static pages. I also got to know a lot of excellent colleagues, I won’t name them.

During this year, I participated in maintaining the node. js framework of the company, reconstructing type generation, optimizing TS development experience and providing multiple CLI commands to assist development.

In this year, I participated in the construction of the front-end RESEARCH and development framework of mutual entertainment. Based on front-end infrastructure and back-end Node.js framework, I built the integration capability of the front and back ends from zero, enabling the front and back ends to develop, build and deploy together. The front end can be used as both Page Server and Server rendering. There is no need to register routes, enhance function functions through higher-order functions and decorators, realize type security of front and back ends naturally through TS, improve the efficiency of full-stack development, and successfully support Tiktok PC version and many internal middle-background projects.

In fact, this year has grown quite large, I only did PC side business and H5 before coming to the byte, but after coming to byte, I did cross-terminal and node.js. And the byte technology atmosphere is very strong, the various discussion groups can learn a lot of knowledge. I’ve had two good performance reviews, I’m ready for a promotion, and I got a raise at the peak of my career. Everything seems to be going well.

But I had to go anyway, just as the headhunter asked me if I had a chance. Byte doesn’t work that well for me, and I’ve become increasingly frustrated with byte over the course of the year. I also began to think about what I had left to gain in this job and whether it was worth continuing. The idea of leaving, once created, will take root, lingering. Will let me stop the pace of crazy overtime, so that they slow down, looking back will find that they have also quite “volume”, look forward as if it is an endless black hole. Began to turn inward, began to get tired of not seeing the sunset days after work, began to swim fitness, also began to job-hopping journey.

I didn’t want to go to a big company, so I decided to go to a startup company or a foreign company. The interview began at the end of October, and I talked for an hour with a start-up company I met at the weekend and wrote a test paper, which made me feel quite good. On November 1, next Monday, I mentioned the idea of leaving the company to the leader, in fact, I wanted to do less work and have more time to prepare for the interview. As a result, the company gave me a flat salary on Friday, 5th. In the afternoon, a company that I really wanted to work for failed, because they didn’t have a front end and wanted to hire a more business front end, who could play the role of product and UI. I felt uncomfortable during the interview, so it hit me quite hard this week. Fortunately, I was able to adjust, so I continued to make good preparations.

On the weekend, I did the first coding test of my next company, which was the deformation of LeetCode 715. For Hard, I usually read the problem solving directly, but other languages have special data structures, so I had a good idea for the problem solving of JS, but it was difficult to understand and incorrect, so I wrote a better version based on his idea. Various test cases are supplemented. In the weekend evening, I also took four rounds of written tests of micro strategy. I felt that the most difficult part was the English part, which required one multiple choice question in one minute on average. It wasted too much time to look up the words in the front, so I chose them directly based on the general meaning, but I passed it smoothly.

The second week from the foreign bell sheng began, very ashamed of the bell sheng side hung. React code: Prototype chain, Class, pure functions, higher-order functions, closures, design patterns, dependency inversion principle, etc. Some of the questions were not correct, but I think it was very useful. First, it is also a process of checking and filling up the gaps, so that I can know where there are shortcomings. Second, the design pattern makes me go back and look at the solid, and I feel that solid is a good theoretical support when I do reconstruction.

Went back to prepare, the next day ushered in the micro strategy interview. Each round of micro strategy will have an English self-introduction, write it in advance and recite it. After three rounds, I feel I have memorized it very well. The first round of technical aspects in addition to the normal various problems and handwritten throttling there are two algorithms, the first one did not find the original problem, roughly is to change the right child node of the binary tree into the right child node of the left child node, at that time wrote a post-order traversal, the second is reverse linked list, all successfully written.

The second one is to chat, and the third one is to speak English at the beginning, but later, because of lack of vocabulary, they ask “Can I speak Chinese?” However, I finally hung up, HR said I didn’t think well, maybe I said something true at that time.

On Friday, I started two rounds of interviews with my next employer. The first round was the algorithm, LeetCode 189 rotation array, but K can be a negative number. This is the added condition, and you will be asked if you have missed any cases. I didn’t brush it, so I wrote a more general and stupid method, and then I started asking about complexity, and how to optimize it, and I was probably not conscious at the time, and I got stuck on the linked list (digging holes), and then he asked me how to do the rotating linked list (LeetCode 61), which I had never done before, but I knew it was double-pointer. So I went back to the array and continued to think about optimizing the method. I came up with a more efficient API and a way to adjust the order in place without taking up extra space. I was almost there, but I didn’t say the most important point, and I ran out of time.

The second round of test system design, first asked project, then said to the back-end also pretty you know, that to design the short url system, open the drawio began to draw, draw out all I can think of, then the interviewer to ask some of the conditions (top left), how to realize these functions, to calculate how much storage, how to optimize the system, How to achieve high availability and so on.

It happened to be my colleague’s former department. It was said that it was not very good, but I never heard from it. Although I thought the interview was good, the feedback said it was inappropriate.

Weekend simple preparation ushered in the third week, from my third round of CTO, but in the United States, so it is 9:30 in the morning, still talk about the project, and then a classic question: I went through everything from entering the URL to rendering the page, and then I started to dig a little bit deeper. I didn’t know what DNS does when you have multiple nodes around the world, how to return to the nearest node, and he told me about the implementation. HTTPS related, how to shake hands, how to verify certificates, etc. How to make the page render faster, said systematically. How to do the load balancing on the back end, which algorithms are there, RR, P2C, etc., and asked a more basic question, FORGET what it is. Then asked the user information such as how to store the balance and so on, I was very confused and did not know what to ask, then pulled micro services are generally split such as user center, trading center and so on, and then he asked what kind of database to choose, SQL or NoSQL, I said SQL, query fast what, he said strong consistency. Last but not least, LeetCode 647 loop substring. First, I said O(n^3), he asked how to optimize, and suggested the characteristics of the next loop substring, I understand, using symmetric structure, from the middle to both sides, how complex? O (n ^ 2). Ok, so let’s write it down. Let’s run the case after we write it down. We missed a case.

And then add a round, said that the first round is not very good, let the front end, on Thursday morning and face a round technology, is a fast worker the front end of the brother who just did the Spring Festival this year, they quickly out of the us only the top byte, chatted, and then there is the topic of some js, handwritten curry, see I write very fast, just add the word algorithm, not the original. .

Let me think while exchanging ideas, I said to see if there is a law, found there is no law, he asked how to do if there is no law, I said to solve violence, he said that you write a violent case, finally wrote out, is the n=100 case did not consider at the beginning, took some time. Finally, the interviewer asked how to solve this problem. The interviewer said that double pointer, in fact, is to maintain two queues, constantly taking the minimum value.

And finally, the co-founder interview at 7 a.m. At the beginning, she also spoke English, saying sorry for the interview so early, and I was forced to flash “Can I speak Chinese?” Dafa, back to “there is a saying that early rise stupid day, I estimate that today will be stupid day”. Finally, I asked a question about how to learn English. She told me that they had a Story about a Engineer who graduated from Yale who learned N language by watching a play. Then she said that if you have any questions, you can send her an email, which made me feel kind.

I offered the offer in the second week, slightly a, still satisfied with it, I accepted it. There will be other interviews later, but I won’t go into them here. During this job-hopping journey, I feel that the biggest progress is to do the questions. I haven’t encountered any brushed questions, but I can do all of them, including the one at the back that asks me to write the numbers within 100 and turn them to Roman numerals:

And HTTPS is a very common question. Then be sure to look for a few interviews to find the feeling first, check the leak to fill the gap, want to face to the back. Finally, I must not resign naked, the pressure is really great, especially I still have a mortgage. In fact, WHEN I left my job two weeks ago, I hadn’t decided on a new job yet, but someone said I was riding a donkey to find a horse, so I thought I’d just mention it, but it turned out ok.

In fact, there are many feelings, not to mention, a year and two months, goodbye, goodbye byte, goodbye excellent colleagues. I went to 965 and WFH, if you are interested in my next house (jery. ai), please contact me.

PS: We are really hiring. HR asks for my resume every day. If you are interested, you can search Jerry

My official number: Tory daily (no technology, only the year-end summary of the year, originally intended to just give their own records, but this article was sent to my circle of friends, on the public).