At the beginning, I planned to interview outsourcing companies to brush experience, and then try to party A when the experience was almost enough. Unfortunately, it did not go well.

I. Max (30 minutes of interview)

  1. To introduce myself

  2. Left join (table A left join table B, all data in table A, no data in table B)

  3. Table A left connected to table B, b left connected to table C, c left connected to table A, what kind of data is this?

  4. SQL: a student in a class has two fields, one field is called score, another field is called group name, there are 4 groups, check each group first, SQL

select group_name,max(score) from table group by group_name order by group_name

5. What database engines are available (myIsam, InnoDB, etc.)

  1. The difference between myIsam and InnoDB (InnoDB supports transactions, foreign keys, crash recovery, InnoDB row-level locking, myIsam table-level locking)

  2. The advantages of myIsam (the blogger only remembered the advantages of InnoDB at that time, unexpectedly the interviewer asked about the advantages of myIsam, fast speed and less disk space)

  3. Two features of Spring (IOC and AOP, which design patterns are used for these features)

  4. Java container, collection (list, set, map etc.)

  5. Implementation of HashMap (array + linked list + red-black tree)

  1. How do I determine the index of an array when I put a key and a value? What do I do when I put two keys to the same place? (Hash values based on keys, subscripts based on hashes, etc.)

  2. Is HashMap thread safe? What are the implementations? (No, thread-safe can use HashTable, concurrentHashMap, etc.)

  3. How is concurrentHashMap thread safe? Specific implementation? How do two threads put two keys at once?

(1.7 array + list, segmented lock, 1.8 array + list + red-black tree, CAS +synchronized)

  1. How is sorting of Java collections (sort in stream) implemented internally? How does it work? What sort do you know?

(Comparable and Comparator references)

  1. Grouping of Java collections (groupingby (object :: property))

  2. Functional methods (interfaces), under what conditions can be used? Does this apply to all? Or is there a limit?

  3. Background requests are slow. What is the cause? Background request directly card, how to check, the log did not report an error? (Check slow SQL, need a lot of computation)

  4. How do I check lock logs? Thread logs? (I don’t know)

  5. Common thread pools, what kind of thread pools are these? (newCachedThreadPool, newFixedThreadPool, newScheduledThreadPool, newSingleThreadExecutor)

  6. Java lock, and briefly describe the lock, class name, keywords, lock implementation, etc.

  1. Have you used the Google Guava cache? (Never used)

  2. What were the difficulties in implementing the project, and how did you do it? (Answer according to your own situation)

Ii. Kino Technology (Party A)

In the past, it was past 8 p.m. on A Friday night

Side: HR (less than 10 minutes)

Simple self-introduction, technology, salary requirements of what, job-hopping reasons, evaluation of their own, the company is quite a lot of overtime, ask can accept

Second interview: Technology (less than 20 minutes, a little poor answer)

  1. The difference between symmetric and asymmetric encryption

  2. Cross-domain scripting attacks (several not heard of)

  3. Database isolation level (read uncommitted, read Committed, repeatable read, serialization)

  4. What are unrepeatable and phantom reads? (A reads the same data repeatedly, B modifies the data, A reads again, is not repeatable; A modifies some data, B inserts one data, A finds another data, then it is a phantom read.)

  5. What is a deadlock? What are the causes? How to solve (competition for the same resource, four conditions, destroy four conditions, this part did not answer well)

  6. Server CPU 100 percent, how to check (PS view process, answer is not very good, after all, this aspect did not study. Although the company also encountered 100 percent CPU situation, but the solution is to disable the MRP function that requires a lot of computation, and then add memory, add server. I can’t be honest about that.)

  7. What can nginx be used for (load balancing, reverse proxy, interviewer goes on and on, I don’t know what, I said IP blocking, etc.)

  8. What is CAS? (An implementation of optimistic locking that causes ABA problems, plus version number or timestamp)

  9. Redis persistence mechanism, advantages and disadvantages of RDB and AOF (full data backup, low security, long backup interval; Incremental data backup, data security, file size)

  10. Spring asynchronous annotations (unused)

  1. Talk a little bit about class loading

  2. The difference between a memory leak and an overflow

  3. I asked some other questions, but I don’t really remember

  4. Tell me about the project. How did you do it

3. Osa Pharmaceutical (Party A, interview lasted about 35 minutes)

See a little sister, ask the way, good beautiful

When you go in, fill out the paperwork, fill out the paperwork, ask questions

  1. InnoDB: support transaction, foreign key, row lock, support crash recovery, the interview also asked why recovery. Myisam: table lock, full text index)

  2. SQL > select *, null, like from ‘%’;

  3. What is the process of SQL statement execution? How to analyze explain

  4. If I have 100W data, I want the data after 600,000th row, how to optimize?

  5. What is Redis and why is it more popular than mongodb? (Non-relational database, memory based, etc., why popular, this I say do not know, because do not know mongodb)

  6. What is the difference between a non-relational database and a relational database? (Bad answer)

  7. Other than memory-based and fast reads, what makes Redis fast? (Bad answer)

  8. Common data types, application scenarios (String, List, Set, Zset, Hash)

  9. Persistence mechanism, the difference between RDB and AOF, how do you choose which mechanism (full vs. incremental, length of backup, data security, etc., now there are hybrid mechanisms)

  10. What are the elimination strategies? (Answer to the expiration strategy, the interviewer reminded)

  1. Why redis can increment and decrement strings

  2. How is Redis optimized? (Don’t know)

  3. What collections are commonly used in Java? (List,set,map, implementation class)

  4. Differences between arrayList and linkedList (data structure, read and delete speed, thread-safe copyonwriteArrayList)

  5. I want to insert hundreds of thousands of data into an arrayList. What are the optimizations? (I really don’t know.)

  6. How to put a hashMap Why add red and black numbers? Is it ok to use red-black trees for all the structure? Hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash hash O (1), o(1), o(log n), o(log n), o(log n), o(log n), o(log n), o(log n)

  7. Structure of ConcurrenthashMap (1.7 staged locks, 1.8 CAS + Synchronize)

  8. The difference between synchronized and lock

  9. The difference between hashTable and ConcurrenthashMap

  10. What Java locks are available? The implementation class? What is CAS? What is aQS? ReentrantLock: What else? Cas, the implementation of optimistic locking, causes ABA problems, plus version numbers or timestamps. Aqs is lock frame)

  1. How to use thread pool, common parameters? (Use ThreadPoolExcutor, core thread count, maximum thread count, time, queue, thread factory, reject policy)

  2. If there are 50 tasks to execute, 5 core threads, 10 maximum threads, 10 task queues, what is the flow, what is the state? Create 5 core threads and 10 queues. When the queues are full, create 10 non-core threads. The remaining 25 threads are determined by the rejection policy. Either ignore, discard, or use the original thread to execute) (later I learned that the answer was wrong, 10 maximum threads, 5 cores + 5 non-cores, the remaining 30 to reject the strategy)

The interviewer gave me the evaluation: the interview can answer, this is very good, but the understanding is not deep, although the work is not used, but the interview is such a rocket. It’s not bad, but it’s not great either. It’s TBD.

Iv. Kingdee Software (Party A, interview for 40 minutes)

  1. I asked a lot of questions about the project, how to design the function, how to design the database

  2. Left join, right join, inner join difference

  3. Mysql execution plan, what to see

  4. Springmvc executes the process, from the front end to the back end and back to the front end

  5. Authority verification, how to verify authority

  6. Database locks (optimistic locks, pessimistic locks, exclusive locks, shared locks)

  7. Which locks do SELECT, Update, and delete correspond to

  8. Java Collection architecture (List, Set, Map)

  9. Arraylist what’s important about deleting elements

  10. Is ArrayList thread-safe (no, thread-safe: vector, copyonWritearRayList)

  1. When to use arrayList, linkedList

  2. Deep copy and shallow copy

  3. Value passing and reference passing

  4. Multithreading, thread pool

  5. How does resource synchronization work?

  6. Can synchronized modify static classes

  7. The difference between Lock and synchronized? If so, what would you choose

  8. How do you usually study (see tutorials, read blogs)

  9. What are your plans? (Planning, microservices, distributed, etc.)

  10. What are the technical advantages

  1. How code is optimized, refactored (single responsibility, shared, etc.)

  2. How is your website optimized for performance? (plus CDN, plus REDis)

  3. What do you want to ask me? What technology are you using there? The technology stack is a package framework, without a front end, with dragging components, micro service is dubbo, database is Oracle, the focus is business, technology secondary.

Finally the interviewer said: There are four rounds of interviews, after the interview with the director to discuss (the remaining three rounds are not technical)

V. Ping An Bank (outsourcing, the interview lasted for 40 minutes, but was interrupted at last because of something else)

  1. Spirngboot startup principle (embedded tomcat….)

  2. Started annotations (springbootapplication)

  3. Springboot core configuration

  4. Configuration file way (YML, Properties)

  5. The SpringMVC workflow

  6. For springmvc components

  7. What @requestMapping does (block urls)

  8. Spring common modules, core

  9. Talk about IOC and AOP

  10. Common spring injection methods

  1. Do you know about spring beans

  2. Implementation of Spring transactions

  3. Spring’s isolation

  4. Isolation level of database (read uncommitted, read Committed, repeatable read, serialization)

  5. Impact of isolation level (dirty read, unrepeatable read, phantom read)

  6. Atomicity, persistence (indivisible, saved to database)

  7. Char vs. varchar (byte size, ” and “”)

  8. Left JOIN and right Join

  9. How do you tune SQL

  10. SQL Execution Plan (Explain)

  1. SQL row and table locks, advantages (lock a row and lock the entire table)

  2. Optimistic locks, pessimistic locks (version number, timestamp)

  3. Mysql engine, different (InnoDB supports foreign keys, row locking, crash recovery, MyISam supports full text indexing)

  4. Select count(*) from table, mysql > select count(*) from table, mysql > select count(*) from table

  5. How many bytes float and double take up

  6. Innodb = 7; myISam = 5; innodb = 7; myISam = 5;

  7. Redis usage scenarios, and memcache differences

  8. Persistence of Redis (RDB and AOF, full, incremental)

  9. Learn about redis distribution, how many nodes there are, and some commands

  10. Nginx application Scenario (Front end separation, load balancing)

  1. Load balancing strategies (polling, weights, etc.)

  2. How do the front and back end interact

  3. Forward and reverse proxies

  4. Swagger (Interface documentation)

  5. == and equals

  6. Do you know anything about the stack

  7. The difference between StringBuilder and StringBuffer (thread-safety, efficiency)

  8. IO streams (Reader and Writer, InputStream and OutputStream)

  9. Difference between FileInputStream and BufferInputStream

  10. Set (list,set,map)

  11. What are thread-safe collections (vector, CopyonWritearRayList, HashTable, ConcurrenthashMap)

  12. Implementation of HashMap (1.7 header, 1.8 tail)

  13. Hashset and linkedhashSet (bottom hashMap, ordered, bottom linkedhashMap, unordered)

  14. Deep copy, shallow copy

The question lasted almost 40 minutes, but I had to work, so I interrupted the interview. As a result, the second round of interview came in the evening

Ping An Bank Second Round of interview (26 minutes)

  1. Mysql > alter table select *,in,null, or, %; mysql > alter table select *,in,null, or, %;

  2. Index failure cases (in, NULL, OR, %, etc.)

  3. Common collection classes (List, Set, Map, and implementation classes)

  4. What are thread-safe container (vector, copyonwritearraylist, hashtable, concurrenthashmap)

  5. Concurrenthashmap is thread safe (1.7 uses segwise locking, 16 locks, 1.8 uses CAS + SYN)

  6. Data structure of hashMap (1.7 array + linked list, multiple threads forming a loop, CPU surge 100%, 1.8 array + linked list + red-black tree)

  7. When is it converted to a red-black tree (key,hash, array greater than 64, linked list greater than 8)

  8. Rewrite hashcode (); rewrite equals ();

  9. Are linked lists bidirectional

  10. Redis data structures (string,set,sort set,list, Hash,bitmap, etc.)

  1. Redis distributed lock

  2. Mysql > select * from b+ tree;

  3. Cache breakdown (cache failure, not found in cache, data in database)

  4. Solution (random cache expiration time, stagger time, or give a marker) (actually set hotspot data to never expire, mutex, etc.)

  5. Does Threadlocal know anything about it? (I didn’t hear the pronunciation clearly, I heard what logo was, I heard it for three times, and then I reflected what he was going to say.)

  6. Difficulties encountered in the project (MRP function)

  7. Is it possible to use multiple threads when the server CPU is above 90?

  8. Have you been working on any new technologies lately? (Learning microservices)

  9. Microservices-related components, some I haven’t heard of (explain what they are)

  10. Zookeeper (Distributed)

  1. What are memory leaks?

  2. Evaluate yourself from a professional point of view + personality

  3. What kind of project are you looking for? (Technology stack, technical atmosphere)

  4. Commonly used Linux command (ls, CD, PWD, chmod, vi, whereis, find the binary file)

Interviewer: The arrival time is very urgent. The technology stack is Springboot + Dubbo, micro-service cluster, ZooKeeper + Redis +mysql, etc

Interview evaluation: No big problem, hope to work soon

At the end

JVMS, microservices, distributed, etc., are not recorded, not touched, heard and forgotten, not written up in time. There are also some interviews, not to record, sorting and recording interviews can take time, the above mainly recorded technical interviews. Some final interviews, 40 minutes of interviews, life details, hobbies, blog, remember? Xx, do you still remember what it said? Where are you from and will you stay in Shenzhen in the future? Dizzy, kept asking for over 40 minutes, which would have been over an hour if I hadn’t interrupted. A running list interview like this was left out.

Finally, I was lucky enough to win several offers. I still had to brush the interview questions more to avoid failing to answer them, and the chances of receiving offers would be more.

conclusion

My company is relatively comfortable and stable, which is also a greenhouse, with complex business (ERP system) and simple project architecture. For single projects, last year, we said that we did not add caching, and the maximum single table data is thousands, but now there are more than 260 tables. We have 20 clients, the CPU went up to 90%, and then the server crashed, several times. Later, our CTO’s solution was to disable the function (MRP operation). Later, we found that it was the report form problem and oom error, so we changed the report form tool. After a period of time, add memory, add server. (microservice, distribution, cache, cluster, message queue are not used, also can not learn), has been doing some complex business functions, write business code. I’d better leave the place where the technology can’t be improved earlier. Although he has been brainwashing me, saying what’s the use of knowing so much technology? You don’t know how to do business, you don’t know how to write code, and no matter how much technology you know, it means nothing. However, I always denied it in my mind. After all, I am a technical person who understands the basic business. I can discuss the business and hand over the requirements to the project manager, and then arrange what I can do. Unless take business line, take management, understand technology understand business. I’m not fit for business.

The original link www.xuluowuhen.com/article/159…

Hello, everyone, MY name is Cxuan. I have handwritten four PDFS, including Java basic summary, HTTP core summary, computer basic knowledge and operating system core summary. I have sorted them into PDFS.