Current location - Education and Training Encyclopedia - Resume - What knowledge and ability should a Java intern have?
What knowledge and ability should a Java intern have?
0 1, Java foundation

If you carefully look at the first volume of Java core technology, you will find the common usage of collection classes, the most important two are ArrayList and HashMap, and it is ok to easily brush leetcode and some media for collection class operations. Further, you can look at the source code of ArrayList (this part of the source code is almost easy), which is helpful to understand the use of interfaces and abstract classes.

In addition, for the main Java interviews at present, I think Java memory model, GC, thread safety and thread pool all need to be understood. Whether the interview will be asked or not, at least you should know that Java has these things, and you can supplement this knowledge by reading about Java virtual machine and Java concurrent programming in actual combat. Internship should not touch these things, but again, these concepts should be known.

02, familiar with the database and basic SQL statements.

The mainstream of database is MySQL. Familiar with MySQL installation, startup and visualization tools (workbench, navicat, etc. ) and know what the isolation level is. SQL statements can be used to write the basic two tables: select, insert, update and inner join, plus ddl statements to add fields and modify fields, so as to understand the indexing principle and innodb characteristics. If possible, you can buy a cloud host at a student price, and Tencent Cloud in Alibaba Cloud will do. You are already familiar with installing and using MySQL through the command line in CentOS or Ubuntu.

In addition, as an extension, you can learn about the basic usage of redis. As a popular component now, it is actually very easy to use, and some technical interviews like to ask.

03, understand a Java Web framework.

I recommend Spring+SpringMVC+Mybatis (it is not recommended to learn Sping Boot as soon as you come up), and build such an environment locally first.

A good place to learn is github, such as teaching you to manually integrate the most elegant SSM framework, and patiently use this tutorial to configure a web development environment step by step. Focus on IOC and AOP in spring.

It is recommended to use Intellij IDEA for coding and learn how to use Git. Commands include switching branches, creating branches, adding, submitting, pushing and merging (understanding what conflicts are and how to fix them), whether using the command line or the graphical interface provided by IDEA. I strongly recommend the latter, because you will know how useful it is after using it.

04, know a little front-end knowledge.

In my experience, you need to know simple html, css, js(angularjs 1.x) and jQuery, among which you need to know a bootstrap. According to the documentation, you can use its components to achieve the desired effect. How long will it take you to learn these things? Maybe three days. . . I only need to know the most basic writing methods to meet the needs of the project. If I can't meet my future job, I can study at Baidu at any time, so I don't think it's a very difficult thing.

05. Implement projects based on SSM framework.

The bad things are online bookstores and personal blogs. Although they are old-fashioned, they are always familiar with database operations and trained in adding, deleting and checking business logic. Among them, you need to pay attention to the following points:

Code style, including hump naming, database fields, types, table names, etc. , focusing on interface-oriented rather than implementation-oriented programming.

What is MVC doing? Why is the code written in my Tao and service almost the same? Then why do you want to make two floors? What needs to be done in the controller?

Further (the topic requirements can be ignored but need to be understood), how to store the password when logging in? Clear text? What about session management? How to set the transaction configuration? How did I just jump backstage as soon as I changed my website? How do I control the permissions of this part? How to do front-end paging and back-end paging, and so on.

Finally, try to publish your application to the cloud host you bought, and be familiar with the basic commands such as cd, tar, scp, vi, vim, tomcat configuration and operation, which is helpful for future practice.

06, brush some simple handwriting algorithm problems.

It is almost inevitable for these programmers to interview. The high-frequency topics are nothing more than quick sorting, method of bisection, topK, binary tree traversal, double-stack simulation queue and so on.

07. Write at the end

After the above, I think it is ok to apply for a Java intern in an ordinary company, not to mention a big company. The only drawback is that if you want to enter a big company, you can only be better than what I said, but technology doesn't care too much about your background. It can be said that there is a chance if you work hard.

Finally, read more interviews before the interview, prepare common questions and write a concise and refreshing resume.