Si Teng 2022-05-22 12:44:25 阅读数:684
In front of the epidemic ,“ Shut up and practice ” Are you worried about the job hopping season ？ If you can make it up today, it will be said 30 Chapter by chapter Java Arrangement of core interview knowledge （ Include ：VM,JAVA aggregate ,JAVA Multithreaded concurrency ,JAVA Basics ,Spring principle , Microservices ,Netty And RPC, The Internet , journal ,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra, Design patterns , Load balancing , database , Consistent Hashing ,JAVA Algorithm , data structure , encryption algorithm , Distributed cache ,Hadoop,Spark,Storm,YARN, machine learning , Cloud computing ）, Have a good digestion , Let you interview job hopping no longer panic ！！
It is a comprehensive 、 Enterprise application development one-stop solution , Through the presentation layer 、 The business layer 、 Persistence layer . however Spring Can still integrate seamlessly with other frameworks
Netty It's a high performance 、 Asynchronous event driven NIO frame , be based on JAVA NIO Provided API Realization . It provides the right TCP、UDP And file transfer support , As an asynchronous NIO frame ,Netty All of the IO Operations are asynchronous and non blocking , adopt Future-Listener Mechanism , Users can easily obtain the information by active or notification mechanism IO Operating results .
Zookeeper It's a distributed coordination service , Can be used for service discovery , Distributed lock , Distributed leadership elections , Configuration management, etc .Zookeeper Provides a similar to Linux The tree structure of the file system （ Think of it as a lightweight memory file system , But it's only suitable for storing a small amount of information , Not suitable for storing a large number of files or large files at all ）, At the same time, it provides the monitoring and notification mechanism for each node .
Kafka It's a high throughput 、 Distributed 、 Based on the release / Subscribed message system , By the first LinkedIn Companies to develop , Use Scala Language writing , At present, it is Apache Open source projects for .
RabbitMQ It's a by Erlang Language development AMQP Open source implementation .AMQP ：Advanced Message Queue, Advanced message queue protocol . It is an open standard of application layer protocol , Designed for message-oriented middleware , The client and message middleware based on this protocol can deliver messages , Non-subject product 、 Restrictions on conditions such as development language .RabbitMQ It originated in the financial system , Used to store forward messages in a distributed system , In the ease of use 、 Extensibility 、 Things like high availability are doing well
base Is distributed 、 Column oriented open source database （ Actually, it's column oriented family ）.HDFS by Hbase Provide reliable underlying data storage services ,MapReduce by Hbase Provides high performance computing power ,Zookeeper by Hbase Providing stable services and Failover Mechanism , So we say Hbase It is a distributed database solution to solve the high-speed storage and reading of massive data through a large number of cheap machines .
MongoDB By C++ language-written , It is an open source database system based on distributed file storage . Under high load , Add more nodes , Server performance can be guaranteed .MongoDB For the purpose of WEB Applications provide scalable, high-performance data storage solutions .
MongoDB Store data as a document , Data structures are defined by key values (key=>value) The composition of .MongoDB The document is similar to JSON object . Field values can contain other documents , Arrays and document arrays .
Apache Cassandra It's highly scalable , High performance distributed NoSQL database . Cassandra Designed to handle large amounts of data on many commodity servers , Provide high availability without worrying about a single point of failure .Cassandra With a distributed architecture that can handle large amounts of data . Data is placed on different machines with multiple replication factors , For high availability , Instead of worrying about a single point of failure .
Load balancing Build on the existing network structure , It provides a cheap, effective and transparent way to extend Network devices and The server The bandwidth of the 、 increase throughput 、 Strengthening network data processing capacity 、 Improved network flexibility and availability .
It's a big data solution . It provides a distributed system infrastructure . The core content includes hdfs and mapreduce.hadoop2.0 Later introduce yarn.
hdfs It's for data storage ,mapreduce It is convenient for data calculation .
1. hdfs It also corresponds to namenode and datanode. namenode Responsible for saving the basic information of metadata ,datanode Directly store the data itself ;
2. mapreduce Corresponding jobtracker and tasktracker. jobtracker Responsible for distributing tasks ,tasktracker Responsible for carrying out specific tasks ;
3. Corresponding to master/slave framework ,namenode and jobtracker It should correspond to master, datanode and tasktracker It should correspond to slave.
Spark Provides a comprehensive 、 A unified framework is used to manage a variety of different natures （ Text data 、 Chart data, etc ） Data sets and data sources （ Bulk data or real-time streaming data ） The need for big data processing .
Storm Is a free and open source distributed real-time computing system . utilize Storm It's easy to handle unlimited data streams reliably , image Hadoop Batch processing of big data is the same ,Storm It can process data in real time .
YARN It's a resource management 、 The framework of task scheduling , It mainly includes three modules ：ResourceManager（RM）、NodeManager（NM）、ApplicationMaster（AM）. among ,ResourceManager Responsible for the monitoring of all resources 、 Distribute and manage ;ApplicationMaster Responsible for the scheduling and coordination of each specific application ;NodeManager Responsible for the maintenance of each node . For all applications,RM Have absolute control and allocation of resources . And each AM And RM Negotiate resources , At the same time with NodeManager Communication to execute and monitor task.
copyright：author[Si Teng]，Please bring the original link to reprint, thank you. https://en.javamana.com/2022/142/202205211836107086.html