Q : Please introduce yourself.
A :
First of all. thank you so much for the opportunity.
My name is Frank.
I'm Chinese and I'm in China.
I have more than five years of Java development experience and some experience with Linux,Kotlin,Python and Ruby.
I like programming and often record technology blogs.
(not asking not answer)I am now studying computer science and technology at Shanghai University of technology at the weekend to obtain a bachelor's degree.
I like play basketball and music.
I have been learning programming from Mooc,Books and blogs.
~(you can say or not)
My hometown is Linzi District of Shandong Province, the birthplace of football and the hometown of Confucius.
Q : What's Spring?
A :
Spring is a layered Java Se / EE full stack lightweight open source framework.
Q : What's Spring Boot?
A :
Spring Boot is a framework based on the spring framework and more targeted at rapid development,it's easier to use and get started quickly.
Q : What's Spring Security?
A :
Spring Security is a access-control framework that focuses on providing both authentication and authorization to Java applications.
Q : What's Spring Cloud?
Spring Cloud is a distributed system framework composed of a series of spring boot modules.And it provides tools for developers to quickly build some of the common patterns in the system.
Q :Take a few examples of spring cloud components.
A :
Spring Cloud Config
Spring Cloud Gateway
Spring Cloud Security
Spring Cloud Stream
Spring Cloud Netflix
...
Q : What's message queue? Why do I need message queue?
A :
Since there is communication demand between systems, message queues have been generated.
Many inter process communication problems in distributed systems can be solved by message queues.
Q : What message queue frameworks do you know?
Talk about the features of each message queue.
A :
RocketMQ,Kafka,RabbitMQ,And I have used these in Program projects.
~
RocketMQ is developed in Java language,and it supports transactions,
RocketMQ is applicable to online business scenarios.
~
RabbitMQ is written in Erlang.
Its feature is out of the box,But the performance is poor.
~
Kafka is written in Scala and Java, with a large number of batch and asynchronous ideas in design.and it supports transactions too.
Kafka is suitable for big data and stream computing, but it is not suitable for online business scenarios.
Q : List several Spring or Spring Boot related annotations.
And briefly describe their functions.
A :
~
@Bean > The presentation method generates a bean managed by spring.
@Configuration > This annotation tells Spring Boot that this is a configuration file written in Java, that is , a configuration class.
scope:Method
~
@Controller > The class identified by the @Controller, which represents the controller class is control layer and presentation layer.
scope:Class
~
@RestController > It realizes the combination of @Controller and @ResponseBody annotation functions,This annotation is very popular when writing interface classes.
scope:Class
~
@RequestMapping > Use @RequestMapping to map requests, that is, use it to specify which URL requests the controller can handle.
scope:Method,Class
~
@Service > If a class is annotated with @Service, it will be automatically registered to the spring container.Similar annotations include @Component, @Repository and @Controller.
scope:Class
~
@Autowired > When the @Autowired annotation is added, the bean will be created by type. And initialization is based on the parameterless constructor.
scope:Method,Field
~
@Resource > By default, the @Resource assembles bean according to the name. If there is no identification name matches, it will search again according to the type.
scope:Method,Field
~
@SpringBootApplication > This annotation indicates that this is a Spring Boot project, including automatic configuration and component scanning functions
scope:Class
Q : How do you communicate with the product manager?
A :
We will have a product function briefing. When the product manager describes the functional features, we will join the discussion and start to discuss and understand the requirements, and then discuss the initial data modeling with colleagues.
Q : What version management tools do you often use
A :
Git
~
git init,git add,git pull,git push,git clone,
git commit,git mv (this command can change the file name in temp storage),
git status (the status of commit),git log,
...
Q : Do you have any experience in telecommuting? How do you arrange it?
A :
I worked remotely during the pandemic ,
I often use notes like notion to manage my work tasks.
Q : How do you generally deploy projects?
A :
At first, I used shell script and Java jar package to deploy single project.
After that, the previous company used Jenkins and docker for deployment.
Q : Have you used any cloud services?
A :
I have used Alibaba cloud and Huawei cloud platform. I often use Alibaba cloud ECS server and OSS service. I am also using them now.
Q : Which databases have you used and which ones are commonly used?
A :
MySQL,Oracle,PostgreSQL,
The most commonly used is MySQL.
Q : Have you ever touched distributed transaction?
A :
yes,seata.
Q :Is there anything you want to ask us?
A :
How are the working hours arranged?
...
I have no other questions to ask.