Home>Article> 2 years of experience in PHP development, summary of interviewing more than 20 companies after changing jobs

2 years of experience in PHP development, summary of interviewing more than 20 companies after changing jobs

-
- Original
2018-02-28 19:15:23 9630browse

I recently changed companies. I started interviewing at the end of March, and by the end of April, I interviewed nearly 20 companies. I am a person who likes to sum up experience. Every time I go through an interview, on the way back, I will carefully think about which questions I can answer better today, or which questions I have not encountered before, or which knowledge points I learned today. Asked again and so on. In mid-April, I was thinking about writing an interview experience, mainly because I thought it might be helpful to those in the same situation as me, and also to record the one-month interview process.

Personal introduction:

First of all, let me introduce my own conditions during the interview. I divided my situation into advantages and disadvantages, which may be more helpful for you to compare your own situations.

Disadvantages:

1. I started working in Shanghai after graduation in July 2015. The interview was from March to April 2017. More than one year of experience can barely be counted as two years of experience. Analysis: I think having more than one year of experience is quite embarrassing, as you are in a position where you are neither above nor below. Many companies prefer to recruit people with three years of experience, or directly recruit fresh graduates for training.


2. Graduated from a non-985/211 college and barely got into one. Analysis: This has a relatively small impact, because after you have work experience, the company's requirements for the school are not so high. As long as you have a bachelor's degree, it is basically no problem. However, there are still some companies that only require 985/211.


3. The previous company was in the traditional telecommunications industry. When I joined the project team, the project had been online for a while. Our task was to develop if there was demand, optimize if there were bugs, and chat at other times. Sao, everyone does their own thing. Working for more than a year is like living in retirement. In one sentence, it takes 5 minutes to program and 2 hours to talk nonsense. I have a serious lack of project experience and have never developed difficult needs. Analysis: This is the most hurtful thing. When the company recruits experienced people, they want to see what awesome things you have done. As a result, you tell the interviewer that the requirements I wrote are all rubbish.


Advantages:


1. I won many awards when I was in college. I was an outstanding student at the school level every year. I was an outstanding graduate at the municipal level when I graduated. Provincial ACM second prize, etc. Analysis: For a person with work experience, the company may not necessarily value university honors, but it may have a subtle impact on the interviewer, especially the ACM Award. I have met some interviewers who have also done ACM. , it is always easier to talk about common topics, but you must also be careful not to write too much in this column. It can only be used as an embellishment. I put it in the last column of my resume and briefly wrote the last Major awards.


2. Good communication skills. Analysis: This ability won't be critical, but it can be a bonus.


3. Strong learning ability and logical thinking ability. Analysis: Some companies and interviewers still value a person's learning ability. Experience represents what level you are at now, while learning ability represents what level you can reach in the future.


Learning process:

After reading my advantages and disadvantages, you will find that my advantages are simply not worth mentioning compared to my disadvantages. I have a clear understanding of this myself, so after the Chinese New Year, I began to seize my free time to study. The learning process is as follows:


1. Read the interview questions
The first step for normal people is to read the interview questions, and I am no exception. During the process of reading, I found that some articles Yes, it helped me a lot and is worth recommending


2. In-depth study
In the process of reading the interview questions, you will encounter some knowledge that you have not been exposed to or have not studied in depth before. , such as the most frequently asked internal implementation principle of HashMap, which prompts you to start looking at the source code of jdk or learn something new. Reading the source code is a very important step. It is difficult to get started, but it will benefit you a lot. If you encounter something you cannot understand during the process of reading the source code, you can use Baidu to check other people's understanding. In the process of learning source code, I have read several people's articles about source code that are very good.


3. Familiar with the project
Find out the most useful function that I have developed since I started working, and put it into practice Understand the entire functional process and everything involved. Projects are a mandatory part of the interview, and are usually based on a function point. Therefore, you must have a deep understanding of this function and there should be no ambiguity. If you have time, it would be best to understand the knowledge points involved.


4. Do interview questions
Many companies have interviews. If you are not prepared, it is easy to make mistakes in various small places. It is recommended to go to some interview question websites to do more For the title, I use Niuke.com.


5. Learning record
Recording your daily study time and learning content can make you more motivated to study. Learning is a boring process, and you must keep yourself motivated at all times. Motivated.


Submit your resume and schedule an interview

1. Which websites can you apply to?
Lagou.com, BOSS Direct Pin, Liepin.com.

2. Should we invest overseas?
There are two situations when submitting a resume.
1) No social recruitment interview experience: It is recommended to adopt the overseas investment method. As long as the job requirements match your own, you can apply and accumulate interview experience. In this link, you can add two more websites for submitting resumes: Zhaopin and Wuyou.
2) If you think you have enough experience in social recruitment interviews: apply for positions that match the position and that the company is satisfied with. Company reviews can be found on Zhunwang, Baidu, Zhihu, etc.


3. How many interviews a day is appropriate?
The most ideal situation is to have interviews with two companies, usually around 10 o'clock in the morning and around 2 o'clock in the afternoon. It is recommended that you apply to your ideal company in the afternoon, because there is plenty of time in the afternoon, which allows the company to get to know you more fully. When I started interviewing, every time the interview was bad in the morning and good in the afternoon.


4. How often do you submit your resume without success?
I didn’t expect that the resume screening process would be so difficult. Maybe it’s because my resume didn’t have many highlights. Moreover, many HR personnel are not insiders, so what they can see most directly is your previous company and you. If you don't graduate from a great company/school, you may encounter the same situation as me, and the way to deal with it is to invest more.


5. Should I resign naked?
I initially applied while working, and then used my time off or asked for leave to go to interviews. Later, there were more and more interview opportunities, and I was embarrassed to ask for leave too frequently, and I already had enough confidence. At this time, I chose to resign naked. Another reason for resigning naked is that during the interview process, you will find that some companies are very demanding of people. If your resignation process is too long, you may miss the company.


6. Notes
1) Calculate the route and time the day before the interview. It is best not to be late.
2) Carry a schoolbag, resume, power bank, tissues, and umbrella.


Interview Session

1. Common questions in the written test?
Common Interview Questions The interview question links given above are basically all there. I will only mention a few points: 1) Writing SQL: When writing SQL, group by, inner joins and outer joins are often examined. 2) Handwritten code: Handwritten code generally tests singletons, sorting, threads, and consumers and producers. I suggest that in addition to bubble sorting, it is best to hand-write another sorting code. Just imagine: if most interviewers write about bubble sort, and you write about quick sort/heap sort, it will definitely leave a good impression on the interviewer.


2. Interview process?


1) Let you introduce yourself
2) Ask about basic Java knowledge
3) Ask about the project
4) Scenario questions, for example: after one of your functions is put into the production environment , the server pressure increases suddenly, how to troubleshoot.
5) What do you want to ask the interviewer?

3. Common knowledge points asked in interviews?


1) Collection-related questions (must ask):
The underlying implementation of HashMap, LinkedHashMap, ConcurrentHashMap, ArrayList, and LinkedList.
The difference between HashMap and Hashtable.
The difference between ArrayList, LinkedList and Vector.
The difference between HashMap and ConcurrentHashMap.
The difference between HashMap and LinkedHashMap.
Is HashMap thread-safe?
How does ConcurrentHashMap achieve thread safety.

2) Thread-related questions (must ask):
3 ways to create threads.
What is thread safety.
The difference between Runnable interface and Callable interface.
The difference between wait method and sleep method.
synchronized, Lock, ReentrantLock, ReadWriteLock.
Introducing CAS (lock-free technology).
What is ThreadLocal.
4 ways to create a thread pool.
The inner workings of ThreadPoolExecutor.
How to ensure thread safety in a distributed environment.
Those who want to develop in this area or are really interested. You can ask me for some basic learning videos. Q number: 3300863615. This is free. I hope that students will not take it for granted when asking me for it. After all, it is all my hard work. I hope you really have a desire. Learn Java well, and I will do my best to help you become an excellent programmer.

3) JVM related issues:
Introduce the garbage collection mechanism (when, what, what is done).
What are the algorithms for garbage collection and their respective characteristics.
The process of class loading. Parental delegation model.
What class loaders are there?
Can you write a class called java.lang.String yourself?

4) Questions related to design patterns (required):
First ask you which design patterns you are familiar with, and then ask you specifically about the specific implementation and related extensions of a certain design pattern.

5) Database-related questions, for Mysql (required):
The question will ask you to write SQL by hand.
Do you have any experience in SQL optimization?
Data structure of Mysql index.
How to optimize SQL.
Execution order of SQL keywords.
What kinds of indexes are there?
When should (should not) build an index.
Explain which columns are included.
Explain what values are in the Type column.

6) Framework related issues:
The difference between Hibernate and Mybatis.
The difference between Spring MVC and Struts2.
What design patterns does Spring use?
What is AOP mainly used for in Spring?
How Spring injects beans.
What is IOC and what is dependency injection.
Is Spring a single instance or multiple instances? How to modify it.
Spring transaction isolation level and propagation.
Introducing the caching mechanism of Mybatis/Hibernate.
The difference between # and $ in Mybatis mapper file.
The difference between resultType and resultMap in Mybatis mapper file.
The DAO layer interface in Mybatis does not have an implementation class. How are the methods in Mapper and the DAO interface methods bound together, and how are they implemented internally.

7) Other problems encountered:
Introduce the stack and queue.
The difference between IO and NIO.
The difference between interface and abstract class.
Issues related to automatic unboxing/packing of int and Integer. Issues related to constant pool.
==The difference between equals.
The difference between overloading and rewriting.
The difference between String, StringBuilder and StringBuffer.
Are static variables, instance variables, and local variables thread-safe? Why. Which one is executed when try, catch, and finally all have return statements?
Introduce B-tree and binary tree.
What do the four letters of ajax mean?
What is the full name of xml.
Implementation of distributed lock.
Distributed session storage solution.
Commonly used linux commands.


Some experience:

1. Invest in some ordinary companies first, and then invest in ideal companies after you have gained experience.
2. Don’t take the initiative to mention unfamiliar technologies.
3. For companies that offer a 20% discount for a 6-month internship period, don’t go unless you have no other choice.
4. Small companies like to pressure you on salary, so increase it appropriately when opening.
5. Don’t go to job fairs, it’s a waste of time.
6. Treat the interview as a technical exchange, and don’t worry too much about whether you can be admitted. If you are looking for a job or have just graduated from school, or are already working but often find it difficult and feel that your Java skills are not good enough and want to continue learning, or want to change careers and are afraid that you will not be able to learn, you can add Q3300863615 to learn more about Java and continue learning. . There are more free videos waiting for you to collect.
7. The company usually decides whether to accept the application after the interview. It is generally useless to ask you to go back and wait for news, no matter how good you think the interview was.
8. Try to pass as few phone interviews as possible, otherwise the effect will not be good.
9. During the interview days, keep learning every day, whether it is learning new things or reviewing old things.
10. After you get the offer, ask yourself if this company makes you 100% satisfied. If not, please continue to work hard to find a better one.
11. The interviewer can roughly judge the situation of the company.
12. Many resumes submitted by Lagou will be screened out, but Lagou is still the main source of interview opportunities.
13. You can invest in an ideal company several times. I have had the experience of being screened out for the first time on many occasions, but I just made it through after investing a few more times.
14. When asked about knowledge that you have studied in depth, seize the opportunity to perform well and don’t let it go easily.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn