JVM


双亲委派机制是指子类加载器会优先委派父类加载器去加载该类,如果父类加载失败,自己才会去加载。

JVM垃圾回收的复制算法是指: 把空间分成两块,每次只对其中一块进行GC。当这块内存使用完时,就将还存活的对象复制到另一块上面。由于大多数新生代对象都不会熬过第一次GC,所以没必要1:1划分空间,可以分一块比较大的Eden空间和两块比较小的Survivor空间,比例是8:1:1 。当回收时,将Eden和Survivor中还存活的对象一次性复制到另一块Survivor空间中。如果存活对象大于10%,则采用一种分配担保策略,多出来的对象直接进入老年代。

对于新生代而言,每次回收都有大量对象死去,只有少量存活,选用复制算法比较合理。

JVM垃圾回收算法中不猜用引用计数的原因是无法检测出循环引用。

继承

Java中类不允许出现多继承。多继承可以通过实现多个接口来是吸纳。
子类不会继承父类的构造方法。

Thread可以被继承用于创建新的线程。
Number可以被继承,Integer,Fload,Double等都继承自Number类。
Double类的声明为 public final class Double extends Number implements Comparable final生明的类不能被继承。

Math被声明为public final class Math extends Object ,不能被继承

ClassLoader类加载器可以被继承,允许用户自定义类加载器。

小根堆 中序遍历

右子树必定是1 6 4 7或1 7 4 6,排除法即可选A。

多线程

停止线程的方法: interrupt()、stop()
Java线程中的Thread.yield( )方法,译为线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉,

让自己或者其它的线程运行,注意是让自己或者其他线程运行,并不是单纯的让给其他线程。

方法重载

对于重载方法,不要试图通过给予不同的返回值类型(参数列表完全相同)加以区分。因为方法在调用时可以不将返回值赋值给一个对应的变量,这样就没有特征区分。也不要试图通过在调用这样的重载方法时赋值给对应的变量加以区分,因为问题是出现在重载方法定义上,而不是调用上。总而言之,Java不允许仅仅利用返回值的不同来区分重载方法。

方法的重载:
1.方法名必须相同
2.参数列表必须不同
3.其他修饰符可以相同,也可以不同
4.可以抛出不同异常

Synchronize 和 Lock 接口


每个对象都一个内置锁,这是synchronize锁的基础,内置锁是互斥锁,可以实现在同一个时间只会有一个线程在执行逻辑代码。

  1. synchronize 是关键字,是JVM层面的,Lock是Java接口
  2. synchronize不能判断是否获取锁的状态,Lock可以判断是否获取到锁。
  3. synchronize 可以自动释放掉锁(① 执行完同步代码时释放锁 ② 代码出现异常释放掉锁)。 Lock 需要手动在finally中释放掉锁,否则容易造成线程死锁。
  4. synchronize是可重入,不可中断,非公平的,lock是可重入,可判断,公平的(也可以是非公平的)
  5. synchronize 修饰的线程A和线程B。当线程A在使用时,线程B 等待,当线程A阻塞时,线程B 一直等待。Lock锁则不一定会一直等待,如果在设置的等待时间内尝试获取不到锁,线程可以不用等待就结束。

synchronized和lock的区别

数据视图


如果视图是单个基本表只选用选择、投影作导出的,并且包含了基本表的主键,那么这样的视图可以成为且可以被执行更新操作。但是由于视图里没有存放数据,作更新的时候要回到基本表中,所以说还是会影响表。


A 选项 画个图就知道了。错误
线性探测,第一个关键字探测1次,第k个关键字要探测k次,所以总共探测(1 + k) * k / 2
在m阶B树中,所有非终端节点至少有ceil(m/2)个孩子(ceil()为向上取整);

快速排序在极端情况下,选择的pivot都是最小(大),此时退化为选择排序。O(n ^ 2)

Java8 optional


Optional.of(obj) 它要求传入的obj不能是null值,否则报NullPointException
Optional.ofNullable(obj) ,来者不拒,传入null就调用Optional.empty(),非null则调用Optional.of(obj)

AOP

Aspectj使用预编译的方式实现AOP
Spring AOP 使用动态代理实现AOP
实现AOP的方法有预编译或动态代理

HTTP


HTTP是一个普遍用在浏览器和web服务器之间进行数据交流的超文本协议。不是二进制协议。
HTTP/2则是一个彻底的二进制协议,头信息和数据体都是二进制的。

请求头里的Cache-Control是no-cache,是浏览器通知服务器:本地没有缓存数据
若响应头中的 Cache-Control:max-age=259200则 是通知浏览器:259200 秒之内别来烦我,自己从缓冲区中刷新

逆波兰表达式

我们平常所见的表达式是其对应语法二叉树中序遍历的结果。而逆波兰式是语对应语法树的后缀表达式结果。

详见 【数据结构与算法】逆波兰表达式、波兰表达式

数据库隔离级别


未提交读(read uncommitted): 允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。

提交读(Read committed): 只能读取到已经提交的数据。Oracle 等多数数据库默认都是该级别的。

可重复读: 在同一个事务内查询都是事务开始时刻一致的, 在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读。

串行读(Serializable) : 完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞。

Java 语法

   int n = new Integer(1000000000);float f = 0x123; //291.0short i = (short) 100;short i = (short) 100;Short j = (Short) 100; //Inconvertible types; cannot cast 'int' to 'java.lang.Short'

类加载

Hash 索引

牛客网

HASH索引:利用哈希函数,计算存储地址,检索时不需要像Btree那样,从根节点开始遍历,逐级查找。

优点: 查找效率高。(C选项)
局限:
仅仅满足=,in,<=>,查询,不能范围查询(原先有序的键值经过哈希函数运算,可能不再连续);(A选项)
无法用于排序操作(order by);(B选项)
当重复值时,效率并不比BTree高;

DNS 解析

泛型

第23题不知道答什么,能想到的是: 监控一些容易出错的业务,当发生业务时校验数据在整个系统中是否收支平衡。
如果发生错误则向管理人员报告。
路过的大佬补充补充~~

CVTE 2022届实习生 Web后台开发笔试相关推荐

  1. 0814-网易游戏雷火2022秋招Web后端开发工程师

    0814-网易游戏雷火2022秋招Web后端开发工程师 编程题1 这道题恶心的是输入的处理,需要将这个各种方括号的玩意儿读出来,解析为ArrayList,想了一下还是有办法可以解决的,直接根据],分割 ...

  2. 大华热成像摄像头整合web 后台开发

    大华热成像摄像头整合web 后台开发 项目背景:需要web后台主动抓拍/自动监控上报到web后台,通过百度智能云人脸识别.并推送到微信公众号 涉及平台:web后台,大华ndk,百度人脸识别 1.大华热 ...

  3. 深信服2022届校招——安全服务工程师笔试

    深信服安全服务工程师-2022届校招笔试题 笔试题分类 选择题 简答题 本次试题仅提供参考,不提供答案(19题记不太清了) 笔试题分类 选择题 1. 使用vim编辑文件时,以下哪个选项是复制命令() ...

  4. 如何看待2022届秋招嵌入式开发岗位薪资大涨?

    目录 最近在网上看到了关于2022届嵌入式开发岗位薪资大涨的帖子,比如说像海康.大华.汇顶.联发科等公司的招聘. 普遍年薪达到25W,甚至有40W的,直逼互联网. 虽然不知道是不是网友吹牛逼的,不过这 ...

  5. 2019瓜子网后台开发笔试题目

    填空题: 1.有三道概率题,感觉后台开发的很喜欢考概率题呀 2.树的前序遍历.后序遍历.中序遍历 3.两道网络题目,求掩码和确认序号的 4.数据库ACID的意义是什么: 原子性(Atomicity). ...

  6. 【CVTE Web后台开发实习生2019.12.05在线笔试】总结

    本次在线笔试题型:23道选择题(单选和不定项选).2道在线算法编程题.1道问答题. 选择题 主要考了一下知识点: 数组的二分查找: 线程间通信机制(notify.wait().yield()等): 图 ...

  7. 【CVTE Web后台开发实习生 线下面试】总结

    这是本人的第一次面试,面试体会如下: 先问项目,项目写的技术问个遍 然后会根据你自己的技术栈,也就是你简历上有写的技术,如果前面的表现比较满意的话,都会问一遍. 注意,尽量不要说着说着说到自己不擅长的 ...

  8. cvte面试经验Java_CVTE Java Web后台开发 一\二面面经

    CVTE Java后端开发 一面 1面是突然的电话面,时长57min,因为是突袭,所以没有录音,只能靠回忆来写写了. 1.自我介绍 2.简单的对项目做个介绍. 3.为什么要使用JWT?为什么不适用se ...

  9. CVTE(WEB后台开发)

    时间:2019年8月30日19-20:30 题目:20道多选+2道编程题+1到主观论述题 1.多选题涉 数据库:范式和索引 spring:框架特点 jvm(重点):构成 java语法(String.l ...

最新文章

  1. python项目-30 个惊艳的Python开源项目
  2. JavaScript的运动 —— 缓冲运动及其应用篇
  3. [Linux] 权限与指令间的关系
  4. xcode清除最近打开的文件列表
  5. Oracle_spatial的函数介绍
  6. 人类一败涂地电脑版_《漫威复仇者联盟》帧数对比丨PS4《人类一败涂地》新地图上线...
  7. HDU1870 愚人节的礼物【堆栈+输入输出+水题】
  8. c51单片机c语言交通灯的程序设计,51单片机交通灯程序设计
  9. windows启动winload.exe的数字签名错误问题
  10. 【svn】svn分支(branch)如何同步主干(trunk)的代码?
  11. LeetCode题目Java代码解答 (详细解释!!!)
  12. Mac与Windows快捷键盘点
  13. 举例理解哈夫曼树与哈夫曼编码
  14. java中的各种集合排序
  15. mysql case when in_MySQL case when 使用
  16. 金蝶商贸版,后台修改序时簿过滤条件
  17. 实现socket监听所有网络命名空间
  18. tensorflow正则化添加方法整理
  19. 力扣 167. 两数之和 II - 输入有序数组
  20. 数据结构实验——哈夫曼编码

热门文章

  1. 计算几何(二) by邓俊辉老师
  2. 机器人关节控制硬件知识——伺服电机、驱动器、控制器
  3. 2018web前端不好找工作之web前端面试简历补救篇
  4. linux 网络慢 dns,Linux DNS客户端解析域名慢解决
  5. 通过cv2.resize()来改变图片大小
  6. Sklearn常用数据预处理方法介绍
  7. 如何找实习工作?怎么准备?
  8. 把FIL放在哪里最值钱
  9. M1卡破解(自从学校升级系统之后,还准备在研究下)
  10. arch配置之百度网盘