9.30 14:30 one side
practice:
- what did the internship do
- Introduction to Internship Programs
data structure:
- What data structures are there
Difference between linked list and array- The principle and insertion process of skip list
- Scenario question: There are a lot of data, each with dependencies, what data structure is used to store it
Network:
- The process of three handshakes and four waves
Design Patterns:
- Factory pattern design ideas, advantages and disadvantages
JVM:
- four citations
- Scenario question: If a server is used to store data, and then some data is a hotspot array, which needs to be cached, which reference should be used
Java:
- Difference Between Object Oriented and Process Oriented
- Difference between interface and abstract class
- Polymorphic classification
- anomalous system
- The role of finally
- If there is a return statement in a finally block, will the exception be executed? doesn't happen?
- The expansion process of ArrayList
- How to change a non-thread-safe collection to thread-safe
Algorithm :
- Analyze the worst and best time complexity
10.8 17:30 Two sides
practice:
- what did the internship do
- Introduction to Internship Programs
Project :
- Introducing the project
- How to implement IOC
- How to manage beans
- A request to enter, how does it work
- How is Shiro integrated?
- How to resolve circular dependencies
The harvest of this project
Redis:
- What are the data structures of Redis? scenes to be used? (I am embarrassed, I only know the scene of sorted set)
- Scenario Question: Record Active Users
Spring Cloud:
- What are the core components and their corresponding functions
Netty:
- Netty's threading model
Algorithm :
LC 515 Find max value in each tree row
On the basis of the above topic, modify the conditions (the largest odd number, the smallest even number) (also an embarrassing scene, the flag variable is defined, and I forgot to update it)
public List<Integer> largestValues(TreeNode root){
List<Integer> res = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList<>();
if (root != null){
queue.offer(root);
}
boolean flag = false;
while (!queue.isEmpty()){
int cur = 0;
if (flag){
int cur_size = queue.size();
cur = Integer.MIN_VALUE;
for (int i = 0;i < cur_size;i++){
TreeNode x = queue.poll();
cur = Math.max(cur,x.value);
if (x.left != null){
queue.offer(x.left);
}
if (x.right!= null){
queue.offer(x.right);
}
}
}else {
int cur_size = queue.size();
cur = Integer.MAX_VALUE;
for (int i = 0;i < cur_size;i++){
TreeNode x = queue.poll();
cur = Math.min(cur,x.value);
if (x.left != null){
queue.offer(x.left);
}
if (x.right!= null){
queue.offer(x.right);
}
}
}
res.add(cur);
flag = !flag;
}
return res;
}
10.20 17:30 Three sides
practice:
- Introduction to Internship Programs
- what did the internship do
- How to solve the difficulties encountered in the internship
- Internship gains
Algorithm :
The sword refers to the maximum sum of 42 consecutive subarrays
- dynamic programming
- Bisection recursion
On the basis of the above topic, modify the condition (output sub-array, not just the maximum value)
public static void main(String[] args) {
int[] nums = {0,2,3,4,-2,-3,9,11};
System.out.println(maxSubArr(nums));
}
public static List<Integer> maxSubArr(int[] nums){
if (nums == null || nums.length == 0){
return new ArrayList<>();
}
int[][] dp = new int[nums.length][2];
for (int i = 0;i < nums.length;i++){
dp[i][1] = i;
}
dp[0][0] = nums[0];
int max = dp[0][0];
int start = 0;
int end = 0;
for (int i = 1;i < dp.length;i++){
if (dp[i - 1][0] > 0){
dp[i][0] = dp[i - 1][0] + nums[i];
dp[i][1] = dp[i - 1][1];
}else {
dp[i][0] = nums[i];
dp[i][1] = i;
}
max = Math.max(dp[i][0],max);
if (max == dp[i][0]){
start = dp[i][1];
end = i;
}
}
List<Integer> res = new ArrayList<>();
for (int i = start;i <= end;i++){
res.add(nums[i]);
}
return res;
}
Small talk:
- Ideas for Blog
- thoughts on new technology
- How to learn a new technique
- future plan
- How to coordinate work and study
10.25 20:00 HR face
What did the project do and what did it gain?- Opinions of previous interviewers
- An understanding of
BIGO - Understand a difference between YY and BIGO
- What did you do in the internship and what did you gain? (At this time, I found that BIGO did not add the content of the internship when submitting the resume. I said why the interviewer heard me saying that the internship was not specific.)
- What is more important to the business
- A requirement for salary
- Do you have any other offers on hand or in the process?
10.28 pm Received Letter of Intent
Interview Manual:
I have been frequently interviewed recently, and the questions asked by the interviewers have been compiled into a PDF document, covering Java, MyBatis, ZooKeeper, Dubbo, Elasticsearch, Memcached, Redis, MySQL, Spring, Spring Boot, Spring Cloud, RabbitMQ, Kafka, Linux, etc., as shown below:
The above information has been packaged and uploaded to Baidu Cloud, you can download it yourself:
PDF document download:
Link: https://pan.baidu.com/s/1V7bVck1Q6jxjQaoa_deoYg
Extraction code: 77f5
Baidu cloud link is unstable and may fail at any time~
If the Baidu cloud link fails, please pay attention to the blogger's WeChat public account: Java head , you can also get it by sending " document "~