java培训有哪些?
Java核心基础:
Java入门语法、流程控制结构、面向对象核心、异常体系、集合与泛型、反射体系、线程机制、IO流、网络编程、设计模式、JDK8-15新特性、综合项目:EMS管理系统/客户管理系统/考试管理系统/银行管理系统
数据库关键技术:
DB、DBMS、SQL的理解、常见数据库关系系统的对比和认识、DML、DQL、DCL、DDL、数据的增删改查、数据库和表的管理、DQL数据查询语言、分组查询、子查询、join查询、union查询等、常见函数、存储过程和视图、事务以及事务的隔离级别、触发器、索引和优化、贯穿案例:Employees员工管理系统
Web网页技术:
HTML与CSS与JavaScript、XML与Tomcat、HTTP协议与Servlet、Thymeleaf、会话控制、Vue.js、Ajax、Filter、Listener:ServletContextListener、贯穿项目:尚硅谷书城
开发必备框架技术:
Spring、SpringMVC、MyBatis、SSM整合、Maven、Linux、Redis6、SSM整合案例
Java高薪提升课:
Git与GitHub、MySQL高级、Mycat、Nginx、Docker、Elasticsearch7、RabbitMQ、SpringBoot、SpringCloud、JVM/GC、JUC、Zookeeper、Dubbo
前沿技术大型企业级项目:在线预约挂号平台:尚医通
Spring全家桶项目:尚筹网、大型金融项目:尚融宝、分布式项目:美年旅游、前后端分离项目:尚课吧、微服务架构项目:尚品汇
大厂必备面试题精讲:
基础系列面试题、开源框架源码解析专题、高性能架构专题、性能优化专题、并发编程专题、微服务架构专题、大厂面试题真实题目详解
求java考题,笔试题
Java面向对象
1. super()与this()的区别?
This():当前类的对象,super父类对象。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束
而this他代表当前对象,当然所有的资源都可以访问.
在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.
而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源.
2. 作用域public,protected,private,以及不写时的区别?
Public:不同包、 同一包、 类内都可用
Private: 类内
Protected:不同包的子类、同一包、 类内都可用
不写时: 同一包内、类内
3. 编程输出如下图形。
* * * * *
* * * *
* * *
* *
*
代码如下:
public class Print {
publicstatic void main(String[] args) {
for(int i = 0; i 5; i++) {
for(int j = 5; j i; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
4. JAVA的事件委托机制和垃圾回收机制
Java事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。
垃圾回收机制垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收
5. 在JAVA中,如何跳出当前的多重嵌套循环?
用break; return 方法。
6. 什么是java序列化,如何实现java序列化?(写一个实例)
序列化:处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implementsSerializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以。如果这个类的修饰符是public,其类名与文件名必须相同。
8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序?
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
重写Override,子类覆盖父类的方法,将子类传与父类的引用调用的还是子类的方法。
重载Overloading 一个类多个方法,名称相同,参数个数类型不同。
两者都是Java多态性的不同表现。
Overloaded的方法是可以改变返回值的类型。
1, public class Ctest(){
Public static void main(){
System.out.prinln(8+8+”88”+8+8);
}
} 168888
(方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。)
10. Final类有什么特点?
属性常量 方法不可以overridding 类不可以继承
11. 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:父类:
package test;
public class FatherClass {
public FatherClass() {
System.out.println("FatherClassCreate");
}
}
子类:
package test;
import test.FatherClass;
public class ChildClass extends FatherClass{
public ChildClass() {
System.out.println("ChildClassCreate");
}
public static void main(String[] args) {
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
输出结果:
C:java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
12. 内部类的实现方式?
package test;
public class OuterClass {
private class InterClass {
Public Interlass(){
System.out.println("InterClassCreate");
}
}
public OuterClass(){
InterClass ic = new InterClass();
System.out.println("OuterClassCreate");
}
public static void main(String[] args){
OuterClass oc = new OuterClass();
}
}
输出结果:
C:java test/OuterClass InterClass Create OuterClass Create
13. 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?
14. 如在COLLECTION框架中,实现比较要实现什么样的接口?
15. 用插入法进行排序代码如下
package test;
import java.util.*;
class InsertSort {
ArrayList al;
public InsertSort(int num,int mod) {
al = new ArrayList(num);
Random rand = new Random();
System.out.println("The ArrayList SortBefore:");
for (int i=0;inum ;i++ ){
al.add(new Integer(Math.abs(rand.nextInt())% mod + 1));
System.out.println("al["+i+"]="+al.get(i));
}
}
public void SortIt(){
Integer tempInt;
int MaxSize=1;
for(int i=1;ial.size();i++){
tempInt = (Integer)al.remove(i);
if(tempInt.intValue()=((Integer)al.get(MaxSize-1)).intValue()){
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
} else {
for (int j=0;jMaxSize ;j++ ){
if(((Integer)al.get(j)).intValue()=tempInt.intValue()){
al.add(j,tempInt);
MaxSize++;
System.out.println(al.toString());
break;
}
}
}
}
System.out.println("The ArrayList SortAfter:");
for(int i=0;ial.size();i++) {
System.out.println("al["+i+"]="+al.get(i));
}
}
public static void main(String[] args) {
InsertSort is = new InsertSort(10,100);
is.SortIt();
}
}
JAVA类实现序例化的方法是实现java.io.Serializable接口
Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
16. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
public static void split(String source,intnum) throws Exception{
intk=0;
Stringtemp="";
for(int i = 0; i source.length(); i++){
byte[]b=(source.charAt(i)+"").getBytes();
k=k+b.length;
if(knum){
break;
}
temp=temp+source.charAt(i);
}
System.out.println(temp);
}
15、Java编程,打印昨天的当前时刻
public class YesterdayCurrent{
public void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
System.out.println(cal.getTime());
}
}
16、文件读写,实现一个计数器
public int getNum(){
int i = -1;
try{
String stri="";
BufferedReader in = new BufferedReader(newFileReader(f));
while((stri=in.readLine())!=null){
i = Integer.parseInt(stri.trim());
}
in.close();
}catch(Exception e){
e.printStackTrace();
}
return i;
}
public void setNum(){
int i = getNum();
i++;
try{
PrintWriter out=new PrintWriter(newBufferedWriter(new FileWriter(f,false)));
out.write(String.valueOf(i)); //可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String
out.close() ;
}catch(Exception e){
e.printStackTrace();
}
}
17、指出下面程序的运行结果。
class A{
static{
System.out.print("1");
}
public A(){
System.out.print("2");
}
}
class B extends A{
static{
System.out.print("a");
}
public B(){
System.out.print("b");
}
}
public class Hello{
public static void main(String[] ars){
A ab = new B(); //执行到此处,结果: 1a2b
ab = new B(); //执行到此处,结果: 1a2b2b
}
}注:类的static 代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造
18、抽象类和接口的区别?
(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:publicstatic final, 抽象类字段默认是"friendly"(本包可见)
当功能需要累积时用抽象类,不需要累积时用接口。
19、什么是类的反射机制?
通过类(Class对象),可以得出当前类的fields、method、construtor、interface、superClass、modified等,同是可以通过类实例化一个实例、设置属性、唤醒方法。Spring中一切都是返射、struts、hibernate都是通过类的返射进行开发的。
20、类的返射机制中的包及核心类?
①java.lang.Class②java.lang.refrection.Method③java.lang.refrection.Field
④java.lang.refrection.Constructor⑤java.lang.refrection.Modifier⑥java.lang.refrection.Interface
21、得到Class的三个过程是什么?
①对象.getClass()②类.class或Integer.type(int) Integer.class(java.lang.Integer)③Class.forName();
22、如何唤起类中的一个方法?
①产生一个Class数组,说明方法的参数②通过Class对象及方法参数得到Method③通过method.invoke(实例,参数值数组)唤醒方法
23、如何将数值型字符转换为数字(Integer,Double)?
Integer.parseInt(“1234”) Double.parseDouble(“123.2”)
24、如何将数字转换为字符?
1+”” 1.0+””
25、如何去小数点前两位,并四舍五入。
double d=1256.22d; d=d/100; System.out.println(Math.round(d)*100);
26、如何取得年月日,小时分秒?
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,2004);
c.set(Calendar.MONTH,0);
c.set(Calendar.DAY_OF_MONTH,31);
System.out.println(c.get(Calendar.YEAR)+" "+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));
27、如何取得从1970年到现在的毫秒数
Java.util.Date dat=new Date(); long now=dat.getTime();
或System.currentTimeMillis()
28、如何获取某个日期是当月的最后一天?
当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。
取下一个月的第一天,下一个月的第一天-1
public static void main(String[] args){
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,2004);
c.set(Calendar.MONTH,0);
c.set(Calendar.DAY_OF_MONTH,30);
Calendarc1=(Calendar)c.clone();
System.out.println(c.get(Calendar.YEAR)+""+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH));
c.add(Calendar.DAY_OF_MONTH,1);
if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH)){
System.out.println("是最后一天");
}else{
System.out.println("不是取后一天");
}
}
29、如何格式化日期?
Import java.text. SimpleDateFormat;
SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date dat=new Date();
String str=sdf.format(dat); //把日期转化为字符串
System.out.println(str);
Java.util.Date d1=sdf.parse(“yyyy-mm-dd”); //将字符串转化为日期
30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
String a=new String("中".getBytes("gb2312"),"iso-8859-1");
String a=new String("中".getBytes("iso-8859-1"));
应该是String a=new String("中".getBytes("gb2312"),"iso-8859-1");
String a1=newString(a.getBytes("iso-8859-1"));
java一面和二面什么区别
下面列出了一面问到的问题:
synchronized与lock的区别,使用场景。看过synchronized的源码没
JVM自动内存管理,Minor GC与Full GC的触发机制
了解过JVM调优没,基本思路是什么
如何设计存储海量数据的存储系统
缓存的实现原理,设计缓存要注意什么
淘宝热门商品信息在JVM哪个内存区域
操作系统的页式存储
volatile关键字的如何保证内存可见性
happen-before原则
Lucene全文搜索的原理
阿里二面
下面是面试过程中的问题:
自我介绍下自己,不超过3分钟(我的自我介绍仍然不超过1分钟)
你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别(果然深度不一样)
如何保证内存可见性
Http请求的过程与原理
TCP连接的特点
TCP连接如何保证安全可靠的
为什么TCP连接需要三次握手,两次不可以吗,为什么
AOP的原理
动态代理与cglib实现的区别(这个,醉得很厉害)
那么你说说代理的实现原理呗
看过Spring源码没,说说Ioc容器的加载过程吧
阿里三面(总监面)
先问项目,从项目问起
了解什么分布式数据一致性算法,具体说说
MySQL事务隔离级别以及MVCC机制
Redis缓存雪崩、缓存穿透以及如何解决?
问了设计秒杀系统
说说同步和异步,什么时候用同步,什么时候用异步
mysql的innodb索引数据结构为什么是b+树,用hash来实现可以吗?
分布式事务的实现?
如何解决redis和mysql数据一致性?
常见的MySQL主从同步方案有哪些?优劣势比较过?
阿里四面(总监面)
自我介绍
手画自己项目架构图,然后针对架构和中间件提问
四面总结
一面和二面总结
一面大概面了50多分钟,可以看出一面的问题不是很难,但是要得到面试官比较高的评价,还是需要一-定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。
二面面试官问的问题都比较直接,答案也是知道就知道,不知道就不知道。这些问题-部分是基础,一部分是根据你的专业技能的来提问的。面完后面试官对我的评价是:中规中矩,有机会下次面试。虽说是中规中矩,但听到面试官说有机会下次面试就感觉这次面试应该过了。
三面总结
三面是交叉面,没想到是阿里的总监面试。由于具体的技术问题在前两轮面试中已经问过了,所以三面后不会有具体的技术问题,总结来看,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。
针对项目,面试官关注的无非以下几点:
1.项目中某个比较重要的点是如何实现的(需要深入技术的原理)
2.遇到的最大困难是什么(有哪些),你怎么解决的?
3.如果需要扩展某个功能,如何降低系统的耦合度
4.如果针对某个功能进行优化,你会怎么设计和优化
四面总结
虽然这面比较轻松,也没有什么具体的技术问题,但对项目仍然是面试官关注的,后面了解到总监面除了看你的基础,主要看你的潜力(就是有没有培养的价值),这个东西看起来挺虚的,但是从你平时的学习中仍然是可以看得出来的。所以,作为一名开发人员。平时对技术的研究也是很重要的
最后
其实一步一步走过来,不单单只靠面试之前刷题那么简单,更多的还是平时的积累。小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日志、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等
想要免费获取这份完整版文档的朋友,点赞、关注、转发之后,私信【学习】即可免费获取
最后是总重要的技能环节,分享给大家一份核心面试文档
JavaOOP
Java集合/泛型
由于篇幅限制,无法全部展现出来,文末有完整版获取方式
Java异常
Java中的IO与NIO
Java反射
Java序列化
什么是java序列化,如何实现java序列化?
保存(持久化)对象及其状态到内存或者磁盘
序列化对象以字节数组保持-静态成员不保存
序列化用户远程对象传输
Serializable 实现序列化
writeObject 和 readObject 自定义序列化策略
序列化 ID
序列化并不保存静态变量
Transient 关键字阻止该变量被序列化到文件中
序列化(深 clone 一中实现)
多线程并发
JAVA 并发知识库
Java中实现多线程有几种方法
继承 Thread 类
实现 Runnable 接口。
ExecutorService、 Callable、 Future 有返回值线程
基于线程池的方式
4 种线程池
如何停止一个正在运行的线程
notify()和notifyAll()有什么区别?
sleep()和wait() 有什么区别?
volatile 是什么?可以保证有序性吗?
JVM
java中会存在内存泄漏吗,请简单描述。
64 位 JVM 中,int 的长度是多数?
Serial 与 Parallel GC 之间的不同之处?
32 位和 64 位的 JVM,int 类型变量的长度是多数?
Java 中 WeakReference 与 SoftReference 的区别?
JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用
怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
JRE、JDK、JVM 及 JIT 之间有什么不同?
解释 Java 堆空间及 GC?
Mysql
数据库存储引擎
InnoDB(B+树)
TokuDB( Fractal Tree-节点带数据)
Memory
数据库引擎有哪些
InnoDB与MyISAM的区别
索引
常见索引原则有
数据库的三范式是什么
第一范式(1st NF - 列都是不可再分)
Redis
什么是 Redis?
Redis 与其他 key-value 存储有什么不同?
Redis 的数据类型?
使用 Redis 有哪些好处?
Redis 相比 Memcached 有哪些优势?
Memcache 与 Redis 的区别都有哪些?
Redis 是单进程单线程的?
一个字符串类型的智能存储最大容量是多少?
Redis持久化机制
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
Memcached
Memcached 是什么,有什么作用?
memcached 服务在企业集群架构中有哪些应用场景?
Memcached 服务分布式集群如何实现?
Memcached 服务特点及工作原理是什么?
简述 Memcached 内存管理机制原理?
memcached 是怎么工作的?
memcached 最大的优势是什么?
memcached 和 MySQL 的 query
memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?
memcached 的 cache 机制是怎样的?
memcached 如何实现冗余机制?
MongoDB
mongodb是什么?
mongodb有哪些特点?
你说的NoSQL数据库是什么意思?NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?
NoSQL数据库有哪些类型?
MySQL与MongoDB之间最基本的差别是什么?
你怎么比较MongoDB、CouchDB及CouchBase?
MongoDB成为最好NoSQL数据库的原因是什么?
journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
分析器在MongoDB中的作用是什么?
名字空间(namespace)是什么?
Spring
不同版本的 Spring Framework 有哪些主要功能?
什么是 Spring Framework?
列举 Spring Framework 的优点。
Spring Framework 有哪些不同的功能?
Spring Framework 中有多少个模块,它们分别是什么?
什么是 Spring 配置文件?
Spring 应用程序有哪些不同组件?
使用 Spring 有哪些方式?
什么是 Spring IOC 容器?
什么是依赖注入?
Spring Boot
什么是 Spring Boot?
为什么要用SpringBoot
Spring Boot 有哪些优点?
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
运行Spring Boot有哪几种方式
如何理解 Spring Boot 中的 Starters?
如何在Spring Boot启动的时候运行一些特定的代码?
Spring Boot 需要独立的容器运行吗?
Spring Boot中的监视器是什么?
如何使用Spring Boot实现异常处理?
Spring Cloud
什么是 Spring Cloud?
使用 Spring Cloud 有什么优势?
服务注册和发现是什么意思?Spring Cloud 如何实现?
负载平衡的意义什么?
什么是 Hystrix?它如何实现容错?
什么是 Hystrix 断路器?我们需要它吗?
什么是 Netflix Feign?它的优点是什么?
什么是 Spring Cloud Bus?我们需要它吗?
什么是微服务
什么是服务熔断?什么是服务降级
RabbitMQ
什么是 rabbitmq
为什么要使用 rabbitmq
使用 rabbitmq 的场景
如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
如何避免消息重复投递或重复消费?
消息基于什么传输?
消息如何分发?
消息怎么路由?
如何确保消息不丢失?
使用 RabbitMQ 有什么好处?
Dubbo
为什么要用 Dubbo?
Dubbo 的整体架构设计有哪些分层?
默认使用的是什么通信框架,还有别的选择吗?
服务调用是阻塞的吗?
一般使用什么注册中心?还有别的选择吗?
默认使用什么序列化框架,你知道的还有哪些?
服务提供者能实现失效提出是什么原理?
服务上线怎么不影响旧版本?
如何解决服务调用链过长的问题?
说说核心的配置有哪些?
MyBatis
什么是 Mybatis?
Mybaits 的优点
MyBatis 框架的缺点
MyBatis 框架适用场合
MyBatis 与 Hibernate 有哪些不同?
#{}和${}的区别是什么?
当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
模糊查询 like 语句该怎么写?
通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?
如何获取自动生成的(主)键值?
ZooKeeper
什么是Zookeeper?
Zookeeper 如何保证了分布式一致性特性?
ZooKeeper 提供了什么?
Zookeeper 文件系统
ZAB 协议?
四种类型的数据节点 Znode
Zookeeper Watcher 机制 -- 数据变更通知
客户端注册 Watcher 实现
服务端处理 Watcher 实现
客户端回调 Watcher
数据结构
栈(stack)
队列(queue)
链表(Link)
散列表(Hash Table)
排序二叉树
前缀树
红黑树
B-TREE
位图
Elasticsearch
elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
elasticsearch 的倒排索引是什么
elasticsearch 索引数据多了怎么办,如何调优,部署
elasticsearch 是如何实现 master 选举的
详细描述一下 Elasticsearch 索引文档的过程
详细描述一下 Elasticsearch 搜索的过程?
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
lucence 内部结构是什么?
Elasticsearch 是如何实现 Master 选举的?
Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?
Kafka
Kafka 是什么
partition 的数据文件(offset, MessageSize, data)
数据文件分段 segment(顺序读写、分段命令、二分查找)
负载均衡(partition 会均衡分布到不同 broker 上)
批量发送
压缩(GZIP 或 Snappy)
消费者设计
Consumer Group
如何获取 topic 主题的列表
生产者和消费者的命令行是什么?
微服务
微服务架构有哪些优势?
微服务有哪些特点?
设计微服务的最佳时间是什么?
微服务架构如何运作?
微服务架构的优缺点是什么?
单片,SOA 和微服务架构有什么区别?
在使用微服务架构时,您面临哪些挑战?
SOA 和微服务架构之间的主要区别是什么?
微服务有什么特点?
Linux
绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
怎么查看当前进程?怎么执行退出?怎么查看当前路径?
怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当
Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
查看文件有哪些命令
列举几个常用的Linux命令
你平时是怎么查看日志的?
建立软链接(快捷方式),以及硬链接的命令
目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
查看文件内容有哪些命令可以使用?
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。
而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。
不用出国也能买到60多万的真皮腰带!机会难得,快来试试
精选推荐
广告

面试题2
104阅读·0评论·0点赞
2020年11月25日
66个求职应聘技巧性问答(三)
955阅读·0评论·0点赞
2015年5月26日
凯捷Java二面问题总结
84阅读·1评论·0点赞
2022年10月24日
程序员面试中一面、二面、三面有什么区别?
2697阅读·1评论·3点赞
2023年1月5日
纯干货分享!百度Java一、二、三面面经总结,本人已成功拿到offer!
5987阅读·7评论·8点赞
2021年4月11日
Java 虚拟机系列一:一文搞懂 JVM 架构和运行时数据区
460阅读·2评论·0点赞
2020年1月23日
阿里后端开发Java面经,附上我的面试真题复盘,希望对大家有帮助!
1429阅读·0评论·0点赞
2021年4月22日
华为OD(外包)社招技术二面,总结复盘
1.4W阅读·4评论·7点赞
2020年9月28日
java二面技术面试经验_网易java开发面试:一面+二面+三面以及 面试经验总结
280阅读·0评论·0点赞
2021年3月1日
java一面和二面_钉钉面经,Java面试题,一面二面整理
268阅读·0评论·0点赞
2021年3月10日
阿里Java研发2面,都会问什么?斩获阿里P6+的“他”告诉你答案
200阅读·2评论·0点赞
2021年5月19日
网易java程序员面试_网易Java程序员两轮面试 请问你能答对几个?
106阅读·0评论·0点赞
2021年3月8日
java二面问什么_java面试题,拼多多面试题分享(java二面)
2792阅读·0评论·1点赞
2021年3月11日
阿里高级Java面试题(首发,70道,带详细答案)
408阅读·0评论·0点赞
2022年8月19日
四年开发,待业半年本想放弃Java,抱着试试的心态面试某C轮金融科技公司居然过了!
1866阅读·18评论·6点赞
2020年11月21日
阿里第2面,都会问什么?
1426阅读·0评论·0点赞
2019年11月15日
阿里二面(主问项目和开发性问题)
875阅读·0评论·0点赞
2018年7月28日
阿里java研发岗五面(HR面+技术四面),附面试路线分享!
372阅读·0评论·1点赞
2021年7月26日
华为技术支持面试
7450阅读·1评论·3点赞
2011年11月18日
去首页
看看更多热门内容
评论1

jiasiyan

赞
请问大佬,校招不会问得这么难吧