1. What do you think is the most important process in the project?
The analysis, design phase to find the priority of progress
2. If you are given a team of 4-6 people, how to assign?
Pick a skilled person as my substitute. The other person distributes the task evenly, each week carries on the comprehensive assignment, each person receives one week's workload
, reporting progress daily.
3. Brief description of software development documentation?
Requirements analysis, summary design, detailed design, operation manual, test plan
4. How do you think a project is correct?
is to maximize the interests of enterprises.
5. Do you often read those books?
Java programming idea Java Model man Moon myth
How does the 6.SPRINGMVC work?
Client requests are submitted to Dispacherservlet by the Dispacherservlet controller to query the handlermapping to locate the controller that handles the request
After the controller invokes the business logic processing, it returns Modelandview
Dispacherservlet Query view resolution, find Modelandview specified view
The view is responsible for displaying the results to the client
What is the difference between 7.SPRINGMVC and struts2?
Mechanism: The entrance to the SPRINGMVC is the servlet,struts2 entrance is the filter
Performance: SPRINGMVC will be a little faster than struts2. SPRINGMVC is based on the method design, Struts2 is based on the class, each time the request will be an instance of an action, each action will be injected into the property.
Parameter passing: struts2 is an attribute that can be used to receive parameters when parameters are accepted, and this description allows multiple methods to share
Interceptor mechanism: STRUTS2 has its own interceptor mechanism, SPRINGMVC with the independent AOP method, STRTUS2 configuration file is larger than SPRINGMVC, SPRINGMVC use concise, SPRINGMVC is more efficient than struts2 development.
8.How does struts2 work?
Client initializes a request to execute the servlet
This request passes through a series of filters, called by Filterdispatcher, and asks Actionmapper to decide whether to invoke the action
Filterdispatcher the processing of the request to Actionproxy.
Actionproxy to find the desired action class by asking the relevant configuration file via Configuraction Manager
Actionproxy creating an instance of Actioninvocation
Actioninvocation invoke the interceptor before and after the action
After the action is completed, the corresponding view page is found according to the Struts.xml configuration file
How does 9.Hibernate work?
Read and parse the configuration file
Create Sessionfactory
Open session
Create transaction: Transaction
Persistent operations
Commit a transaction
Close session
Close Sessionfactory
10. Why use Spring?
Spring can be well integrated with the big framework
Spring manages object creation and destruction Factory mode through the IOC container
When using Hiberna,mybatis, you can use spring AOP to manage transaction AOP is actually the implementation of a dynamic proxy without having to write the code of the committed transaction every time.
Declarative transactions and programmatic transactions
What are the advantages and disadvantages of 11.mybatis?
pros : SQL written in XML for unified management and optimization
Provides mapping labels to support ORM field relationship mapping for objects and databases
SQL can be optimized
cons : Large SQL workload
Mybagtis transplant last name is not good
Cascading is not supported
12. Talk about SSH integration?
Struts (presentation layer) +spring (business layer) +hibernate (persistence layer)
Struts is a framework for representing layers that are primarily used to receive requests and distribute requests. Struts actually belongs to the VC level in MVC.
Hibernate is the framework of a persistent layer that is primarily responsible for working with relational databases
Spring is the framework of a business layer and is an integrated framework that is well-bonded to the presentation and persistence layers.
What is 13.maven? What's the effect?
is a project management, build tool
Role: Help download jar to find dependencies, help download dependent hot deployment, hot compile
14.WEB Front-end optimization?
Reduce the number of HTTP requests (merge CSS, JS, pictures)
Using the browser's caching mechanism
Using the gzip compressor system: Valid only for text-class resources
Put the CSS file at the beginning of the HTML
Put the JavaScript file at the end of HTML
Avoid CSS expressions (judging the browser)
Using JavaScript compression
Reduce DNS Lookups
Avoid redirects
Using Ajax
15. Security Testing
Use security testing techniques to identify potential vulnerabilities
16. Transaction Isolation Level (4 types)
Serializable (serialization): A transaction is completely invisible to the database when it is executed (the transaction does not allow other transactions to execute concurrently, and the transaction can be executed one after the other, not concurrently)
REPEATABLE READ (Repeatable Read): A transaction can see newly inserted records that other transactions have committed during execution, but cannot see updates to existing records from other transactions
Read commited (reading committed data): A transaction can see the newly inserted records that other transactions have committed during execution, and can see updates to existing records that have been committed by other transactions.
READ UNCOMMITTED (Reading uncommitted data): One transaction can see the update of newly inserted records that other transactions have not committed during execution, and can see that other transactions have not been committed to an update to an existing record
17.MYSQL Storage Engine (4 types)
MyISAM It does not support transactions, does not support foreign keys, especially fast access, there is no requirement for transactional integrity, or a SELECT, insert-based application can basically use this engine to create tables.
Each myisam is stored on disk as 3 files, where the file name and table names are the same, but the extension is:. frm (storage table definition), YD (MYData, store data), MYI (Myindex, storage index), InnoDB, The InnoDB storage Engine provides transactional security with commit, rollback, and crash resiliency. However, compared to the MyISAM storage engine, InnoDB writes are less efficient and consume more disk space to preserve data and indexes.
1) Auto-Grow column 2) foreign KEY constraint
MEMORY
Memory creates a table using the content that exists in it. Each memory table actually corresponds to a disk file in the format of. frm. The memory type of table access is very fast because it goes to the data in memory, and the hash index is used by default, but once the server shuts down, the data in the table is lost, but the table continues to exist.
MERGE
The merge storage engine is a combination of a set of MyISAM tables in which the MYISAM table structure must be identical, there is no data in the merge table, operations on tables of the merge type can be queried, updated, deleted, and these operations are actually operations on the internal MyISAM table.
18. Transaction propagation Characteristics
1. propagation_required: If there is a transaction, the current transaction is supported. If no transaction is turned on
2. Propagation_supports: If there is a transaction, the current transaction is supported. If there is no transaction, the execution of the non-transaction
3. Propagation_mandatory: If a transaction already exists, the current transaction is supported. Throws an exception if there is no active transaction.
4. Propagation_requires_new: Always open a new transaction. If a transaction already exists, the existing transaction is suspended.
5. Propagation_not_supported: Always executes in a non-transactional manner and suspends any existing transactions.
6. Propagation_never: Always executes in a non-transactional manner and throws an exception if there is an active transaction
7. propagation_nested: If an active transaction exists, it is run in a nested transaction. If there is no active transaction,
20.TCP Protocol (Transmission protocol transmission Control Protocol)
Establish a link: three handshake (1. Dial 2. Hello, please, who is the 3 I am Xiao Liu)
Close link: four times waving to ensure reliability
What is 21.shiro?
Apache Shiro is a powerful, easy-to-use Java security framework that provides features such as authentication, authorization, encryption, and session management.
Authentication: Verifying users to verify their identities
Authorization : Session Management
22. Project Technology
Front Desk: Customer-facing
Front end: CSS Div js jquery
Back end: Springmvc Spring MyBatis
Optimization techniques used:
1. Page static (Freemarker)
2. Caching
2.1 Page Cache (Oscache)
2.2 Distributed Cache (memcached)
3. Picture separation (server)
4. Load balancing (solves the ultimate high concurrency strategy)
Backstage: (Managing objects)
Front end: CSS HTML js jquery
Back end: Springmvc Spring MyBatis
Database: MySQL
Picture Separation frame: Jersey
23. What is restful (representation State transformation) architecture?
(1) Each URI represents a resource;
(2) between the client and the server, the transmission of such resources of some kind of performance layer;
(3) The client through four HTTP verbs, the server-side resources to operate, to achieve "performance layer State transformation." (please click here to read the full text)
The above content has only done a simple summary and guidance, the specific content can be summarized in detail according to their own situation
Turn Java advanced programmer face Question