
面试
文章平均质量分 53
鬼灭之刃
提升自我
展开
-
刷题算法框架
1 动态规划框架(1)定义变量(一直变化的值,无限一定不是变量)(2)写状态转移方程(3)求最优值(4)确定边界1.1 子序列(1)最大子序和(2)最长上升子序列(3)最大回文子序列(4)最长公共子序列(5)二维上升子序列(6)编辑距离int n = array.length;int[] dp = new int[n];for (int i = 1; i < n; i++) { for (int j = 0; j < i; j++) { dp原创 2022-02-27 23:26:10 · 642 阅读 · 0 评论 -
面试一:JAVA继承需要注意的问题
1 多继承问题1.1 一个类不能同时继承多个类 原因:当前类不知道使用的是哪个父类的方法和属性。1.2一个类可以继承多个接口 原因:依赖注入,接口中的方法是抽象的没有实现的,而具体是使用哪个父类的方法是有当前类决定的。2 构造器问题子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地...原创 2019-04-14 16:22:17 · 300 阅读 · 0 评论 -
面试二:JAVA变量
1 变量分类(1)类变量(2)局部变量(3)实例变量2 类变量(1)独立于方法之外的变量,用 static 修饰(2)无论一个类创建了多少个对象,类只拥有类变量的一份拷贝(3)静态变量储存在静态存储区(4)类变量被声明为public static final类型时,类变量名称一般建议使用大写字母3 局部变量(1)局部变量只在声明它的方法、构造方法或者语句块中...原创 2019-04-14 16:42:09 · 189 阅读 · 0 评论 -
面试三:java代码执行顺序
在运行一个Java程序时,分为类加载过程和实例化过程,即static修饰的代码块、属性、声明为类加载,类的普通属性、代码块、构造器为实例化过程。其中类加载的代码属于整个类,只执行一次;而实例化过程中的代码属于实例化对象的,每次实例化过程都执行。先父类加载后子类加载,先静态加载后实例加载,先父类构造块后子类构造块,先父类构造函数后子类构造函数(1)如果存在父类,先执行父类的加载代码,然后再执...原创 2019-04-14 17:09:47 · 416 阅读 · 0 评论 -
面试四:中间缓存变量机制
static int j=0;public static void main(String[] args){ for(int i = 0; i < 100; i++) j = j++; System.out.println(j);}输出 0为什么不是99呢?因为静态缓存变量机制在java中,执行自增运算时,会为每一个自增操作分配一个临时变量...原创 2019-04-14 17:51:02 · 246 阅读 · 0 评论 -
面试五:java数据类型及其转换
1 内置数据类型对于整数,负数比正数多一位。因为存在正负0的原因。我们把-0当成最小的负数。 例如我们用10000000表示-1282 数据类型转换2.1 简单数据类型转换(1)自动类型转换由低级变量到高级变量的自动转换,例如int a='c',char类型返回的值是ASCAII码,再比如int s=1+'c',默认把‘c’转为了int类型(2)强制类型转换由...原创 2019-04-14 20:39:10 · 225 阅读 · 0 评论 -
面试六:java运算符优先级
1 优先级单目:单目运算符+ –(负数) ++ -- 等乘除:算数单目运算符* / % + -位:位移单目运算符<< >>关系:关系单目运算符> < >= <= == !=逻辑:逻辑单目运算符&& || & | ^三目:三目单目运算符A > B ? X : Y赋值:赋值=2 &&...原创 2019-04-14 21:02:44 · 438 阅读 · 0 评论 -
面试七 异常处理
1、error和exception有什么区别error表示系统级的错误,是java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行外别无选择,它是Java虚拟机抛出的。exception 表示程序需要捕捉、需要处理的异常,是由与程序设计的不完善而出现的问题,程序必须处理的问题2、运行时异常和一般异常有何不同Java提供了两类主要的异常:runtimeExce...原创 2019-04-15 00:52:47 · 378 阅读 · 0 评论 -
面试八--多线程(一)线程创建的四种方法
1 进程和线程的概念进程是程序的运行实例,线程是进程中独立执行的最小单位2 线程的创建、启动与应用在Java平台中创建一个线程就是创建一个Thread类的实例。线程的任务处理可以在Thread类中的run方法直接实现或者通过该方法进行调用。Thread类有两种常用的构造器:Thread()和Thread(Runnable target)。相应的java 语言创建线程有两种方式。创建...原创 2019-04-15 18:44:07 · 689 阅读 · 0 评论 -
面试九--多线程(二)并发编程的三个概念(原子性、可见性和有序性)存在的问题及其解决方案
一.内存模型的相关概念二.并发编程中的三个概念三.Java内存模型一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任...原创 2019-04-15 22:48:07 · 276 阅读 · 0 评论 -
字符串可变长度的滑动窗口
顾名思义,滑动窗口就是滑动的窗口,在字符串上从左往右滑动,直到串尾。滑动窗口的窗口长度是动态变化的,所以用两个指针来维护,一个是指针指向窗口的右边界姑且命名为left,一个指针指向窗口的左边界姑且命名为right。1 使用到的变量窗口左端left窗口右端 rightright的作用是不断增加窗口的宽度(拉伸窗口)left是让字符串不满足要求(移动窗口)2 案例分析求...原创 2019-07-21 20:31:01 · 1421 阅读 · 0 评论 -
面试中常被问到的问题
1、请你自我介绍一下你自己。我对编程比较感兴趣,擅长数据结构的算法,了解并发编程、设计模式等基本知识。对数据库也有一些研究。2、你觉得你个性上最大的优点是什么?善于专研,勤于学习,能够团结他人,不惧怕困难。3、说说你最大的缺点?我的工作经验不足,可能要花一些时间来适应工作环境4、你对加班的看法?我可以接受加班。同时,我会提高我的工作效率,减少不必要的加班5、你对薪资...原创 2019-08-04 22:34:36 · 328 阅读 · 0 评论 -
Dubbo
你真的了解商城项目吗?1 商城项目的框架 商城项目用到的技术还是非常多的,有dubbo zookeeper MQ solr redis 等等。下面逐个剖析各个技术2 dubbo我们使用dubbo进行服务的管理和调用,那么dubbo具体有什么作用呢?我们使用dubbo应该注意什么问题呢?2.1 dubbo的作用远程接口调用 (2)智能容错和负载均衡 (3)服务的自动...原创 2019-09-30 22:46:22 · 689 阅读 · 0 评论 -
并发编程
第1章 并发编程的三大挑战线程的上下切换 死锁 资源限制解决方法:解决上下文切换无锁并发编程 Cas 使用最少的线程 协程避免死锁避免一个线程同时获取多把锁 避免一个线程在锁内同时占用多个资源 尝试使用定时锁死锁的例子: public void deadLock() { new Thread(new Runnable() { ...原创 2019-10-01 23:51:15 · 374 阅读 · 0 评论