#sort:对向量进行排序;返回排好序的内容 #order:返回排好序的内容的下标/多个排序标准 > x <- data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1)) > sort(x$v2) [1] 6 7 8 9 10 > sort(x$v2,decreasing = TRUE) [1] 10 9 8 7 6 > order(x$v2) [1] 4 2 5 3 1 > x[order(x$v2),] v1 v
最近感慨面试难的人越来越多了,一方面是市场环境,更重要的一方面是企业对 Java 的人才要求越来越高了。 之前私圈分享过的面试真题,反馈都还不错,今天公开分享一波。 1、2022 年大厂面试真题 大厂面试真题 + 核心知识点全覆盖 + 答案详解!内容挺全的,截了一部分图。 核心知识点全覆盖 JVM 39 道、Java I/O 15 道、Kafka 16 道、MySQL 32 道、Netty 15 道 、Dubbo 15 道、ZooKeeper 28 道、MyBatis 27 道、Redis 40 道、Spring 129 道、消息队列 16 道、分布式 15 道、微服务 15 道、Java 并发编程 72 道、Java 集合 30 道。 15 个技术栈,覆盖 Java 全部核心知识点点。而且题目贴合实际,就算你没有面试的打算,也能帮你夯实基础、完善技术体系。
个人认为注释还是要写,算是对代码的中文翻译,因为我们的英语水平,命名习惯各不相同。
Java的每个对象中都有一个锁(monitor,也可以成为监视器) 并且wait(),notify()等方法用于等待对象的锁或者通知其他线程对象的监视器可用。 在Java的线程中并没有可供任何对象使用的锁和同步器。 这就是为什么这些方法是Object类的一部分,这样Java的每一个类都有用于线程间通信的基本方法 volatile关键字在Java中有什么作用?
参考链接: 使用Java计算文本文件txt中的行数/单词数/字符数和段落数 基础 1. String是基础数据类型么? 不是,String是一个类 而java的8大基本数据类型分别是: 逻辑类 boolean 文本类 char 整数类 byte, short, int, long 浮点类 double, float。
自己经验有限,篇幅也有限,这里只是记录一些比较容易混淆或有难度和一些易忘的技术知识点,里面有一些也是面试阿里经常会被问到的问题,但是不保证答案全部正确,有错误的地方望大家指正 JVM相关 JVM内存是如何分配的 步骤其实很简单: 读取文件 排序 这里直接提供代码,分别是jdk 1.7和jdk 1.8的2个版本 1.7: import java.io.*; import java.util.*; import ; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main 乍一看这问题不要太简单,但是我挺佩服问这问题的面试官的,这问题向后衍生无论是广度还是深度都无可挑剔。
所有的 Java虚拟机实例必须在每个类或接口被 Java程序“首次主动使用”时才初始化它们。 如果你经常参加面试,一定会被问到这个 Map实现类,这个 Map实现类是在 jdk1.5中加入的,其在 jdk1.6/1.7中的主要实现原理是 segment段锁,而每个Segment 都继承了 ReentrantLock 八、java -> class -> 执行 ---- Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。 Java.lang.ClassNotFoundException Java.lang.NoSuchMetodException Java.io.IOException Exception:一般分为 Checked 【1】Checked 异常:只有 java语言提供了 Checked异常,Java 认为 Checked异常都是可以被处理的异常,所以 Java程序必须显示处理 Checked异常。
Java基础部分 1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思? l 自定义类继承Thread类方式 l 自定义类实现Runnable接口方式 1.4 Java集合框架的基本接口有哪些? 1.6 Java中的两种异常类型是什么? Error:称为错误,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理。 1.8 Java中如何实现序列化,有什么意义? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。
Java 集合 1. 推荐阅读:《Java 8系列之重新认识HashMap》 注:本块内容后期再做整理修改 9. 并发环境下推荐使用 ConcurrentHashMap 推荐阅读:疫苗:Java HashMap的死循环 11. ConcurrentHashMap 和 Hashtable 的区别 后期补上 12.
一、MyBatis 与 JDBC 的区别 ---- 【1】JDBC 是 Java 提供操作数据库的 API;MyBatis 是一个持久层 ORM 框架,底层是对 JDBC 的封装。 Mybatis 会自动将 Java 对象映射至 SQL语句(比如查询的时候,用户输入了什么参数就是用什么作为条件,没输入的参数就应当过滤掉等)。 > </set> where id=#{id} </update> 【3】choose、when 和 otherwise 标签:选择其中的一个查询条件,一个满足即可,类似于 Java
Java面试百分百.jpg
请求来自于前端的web服务器,这可能是 Apache, IIS, Nginx等; 【2】Tomcat 作为独立服务器:请求来自于web浏览器; Tomcat 的工作一般分为三种: 【1】**bio:**传统的Java
JAVA NIO的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开 IO 设备(例如:文件、套接字)的连接。 在 Java 7 中引入了 NIO 的改进版 NIO2,它是异步非阻塞的IO模型。 ChannelInboundHandlerAdapter 与 SimpleChannelInboundHandler 的区别 ---- 【博客连接】:链接 本文来源程序猿进阶,由javajgs_com转载发布,观点不代表Java
对于springboot而言可以讲解一下自动装配、微服务与分布式的区别这两个点,有的可能会涉及与spring等框架的区别和常用注解。
制定标准: 这块内容其实非常重要,但大部分系统都是缺失的,笔者过往面试的同学中只有不到一成的同学能给出自己的系统 GC 标准到底什么样,其他的都是用的统一指标模板,缺少预见性,具体指标制定可以参考 今天的面试内容等主要参考了美团大大们的佳作,通过这段时间的面试童鞋们的沟通、反馈,发现不少问题都是重复的,但很多时候童鞋们并未能深入或者更有条例的讲解出来,导致于面试滑铁卢,所以接下来根据童鞋们的反馈、 Java面试百分百.jpg
其他面试问题参考: 简单介绍项目,怎么做的,为什么要做这个,用到了什么技术; 常见的协议有哪些? AVL树(树高与节点数关系),红黑树; 一道场景题设计数据结构; 数据库:索引有哪些类型,分别应用场景; b+和红黑树用来做索引区别,b+和b树区别; 场景题:根据需求设计数据库表,写sql语句; java 基础:java语言特性(封装继承多态); 举例子说明以上三种特性; 接口和抽象类区别。
运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。 1:区别 (1)拦截器是基于java的反射机制的,而过滤器是基于函数回调。 (2)拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
?
编译时,Java编译器也会提示,这称之为类型安全。这样就为程序设置了一道安全防护。同样的,使用泛型还可以省去使用普通对象时繁琐的强制类型转换。相反,使用普通对象,编译时并不会提示。 9、什么是 java 序列化?什么情况下需要序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。 2:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。 Java中用于常见算法有4种: 1. 标记-清除算法(mark and sweep) 分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收掉所有被标记的对象。 Java面试百分百.jpg
对于任意一个类,都需要由加载它的类加载器和这个类本身来一同确立其在Java虚拟机中的唯一性。 为什么需要双亲委派? 里无法获取,负责加载<JAVA_HOME>/lib下的类。 扩展类加载器(Extension ClassLoader):Java实现,可以在java里获取,负责加载<JAVA_HOME>/lib/ext下的类。 但又说volatile不能保证原子性(java程序员很熟悉这句话:volatile仅仅用来保证该变量对所有线程的可见性,但不保证原子性)。 其他面试内容: 1、Hashmap的底层实现,效率提升了多少(用时间复杂度表示)? 2、如何用两个栈实现一个队列,最大容量是多少? 3、讲一下OSI七层模型?