吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2898|回复: 15
收起左侧

[Java 转载] Java后端面试题(一)

  [复制链接]
逸帅 发表于 2021-5-27 11:37
本帖最后由 逸帅 于 2021-5-27 12:00 编辑

Java后端面试题

前言:昨天进行了cvte的一面,应该是凉了,好多的问题搭上来,记录一下没答出来的问题和答得不好的问题

1、对称加密和非对称加密的区别:

  1. 对称加密中加密和解密使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密。
  2. 对称加密解密的速度比较快,非对称加密和解密花费的时间长、速度相对较慢。
  3. 对称加密的安全性相对较低,非对称加密的安全性较高。

2、前端怎么传输公钥

不会...有没有大佬回答一下

3、HTTPS的原理

HTTPS协议 = HTTP协议 + SSL/TLS协议

https传输过程设计到三个秘钥:服务器端的公钥和私钥,进行非对称加密,客户端生成的四级秘钥,进行对称加密

一次https包含两次http传输,具体过程如下:

  1. 客户端向服务端发送https请求,链接服务器的443端口
  2. 服务器将公钥发送给客户端
  3. 客户端收到服务端的证书后进行检查,验证其合法性,如果公钥合格,那么客户端就会生成一个随机的秘钥,然后用公钥对客户端的秘钥进行加密,第一次http结束
  4. 客户端将加密后的客户端秘钥发给服务器
  5. 服务端将客户端发过来的客户端秘钥,用私钥进行非对称解密,得到解密后的秘钥,然后用这个解密后的客户端秘钥对数据进行对称加密
  6. 将对称加密后的数据发送给客户端
  7. 客户端将整个数据进行对称解密,得到服务器发送的明文数据

4、MySQL数据库与其他数据库的对比

image-20210527102835354.png

5、对postgre数据库的了解

postgre是一个自由的对象-关系数据库,支持大部分的SQL标准和现代主流数据库特性,如:复杂查询、外键、触发器、视图、事务、mvcc。增加了一些新的拓展,如:新的数据类型、函数、操作符、聚集函数、索引。

优点:

  1. 开源、免费的一个关系型数据库
  2. 性能高,速度快,即使是高并发下,速度也很稳定
  3. 稳定性强,对比innodb等引擎,崩溃、断电等情况,抗击打能力强
  4. 不仅是一个关系型数据库,还是一个面向对象数据库,支持嵌套等一些功能

缺点:

  1. mvcc的多版本控制,会产生很多的版本,需要定期清理
  2. 分布式集群bug很多
  3. 并发抢占式,大SQL且优先级高,会阻塞其他的进程
  4. 数据库扩容耗时特别长

6、数据库的存储引擎

MyISAM InnoDB Memory Archive
事务 X 支持 X X
全文索引 支持 X X X
外键 X 支持 X X
哈希索引 X X 支持 X
存储限制 256 TB 64 TB 取决于RAM 无限制

7、数据库查询快慢的因素

  1. 没有用到索引
  2. 磁盘的IO速度瓶颈
  3. 出现范围查询或其他原因导致索引失效
  4. 程序内产生了锁时间过长或出现死锁
  5. 查询的列太多,返回了不必要的列
  6. 查询语句写的不好,产生了大量的非必要数据

8、聚簇索引和非聚簇索引的区别

  • 聚簇索引:(Innodb)
    • 将数据和索引(主索引)放到了一块,索引(主索引)的叶子节点保存了行数据
    • 默认是主键,若没有主键则选择一个非空的索引代替,没有这样的列,则会隐式定义一个主键作为聚簇索引
  • 非聚簇索引:(MyISAM)
    • 将数据与索引分开储存,索引的叶子节点指向了数据对应的位置

9、聚簇索引的查询过程

聚簇索引的主索引树中的叶子节点是直接储存数据的真实地址,辅助索引树的叶子节点指向的是主索引的地址,再由主索引树查询到叶子节点对应的值

假如where id = 1,id为主键则直接由主索引树查询到对应的叶子结点,直接获取行数据

假如where name = ‘zs',这时候就由辅助索引树查询到叶子节点,由叶子节点对应的主索引树的地址,从主索引树的叶子结点,查询到对应的真实地址(遍历了两棵树)

10、非聚簇索引的查询过程

主键索引树和辅助索引树没什么不一样的,两棵树的叶子节点都储存数据的真实地址,两颗索引树是独立的,where条件后面是辅助索引,也不需要去遍历主索引树。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
goodista + 1 + 1 谢谢@Thanks!
梦之浅伤 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Vvvvvoid 发表于 2021-5-28 10:33
逸帅 发表于 2021-5-27 15:43
前辈好,我这才起步,才大三呢,准备的都是一些基础的东西,深入深入打算试试大厂的秋招

啥前辈
现在大厂校招薪资高的离谱, 祝你能拿到比我高的offer
 楼主| 逸帅 发表于 2021-5-27 15:08
594范特西 发表于 2021-5-27 12:49
建议把sql优化看下,这个好多家都问

SQL这一块的问题我很多都答出来了,所以没写上来,答得我觉得一般般的,或者答不上来的,我就记录出来了
头像被屏蔽
小邱 发表于 2021-5-27 11:56
 楼主| 逸帅 发表于 2021-5-27 11:59

啥叫没啥用...你不面试的吗。。。
不知道改成啥 发表于 2021-5-27 12:30
面试官:你确认SQL sever不是跨平台的吗?
594范特西 发表于 2021-5-27 12:49
建议把sql优化看下,这个好多家都问
goodista 发表于 2021-5-27 13:16
谢谢分享,助人为乐
Vvvvvoid 发表于 2021-5-27 14:24
Java后端面试 问的没一个 JAVA的...卷成这样了吗
潇潇暮雨寒 发表于 2021-5-27 14:41
我一个也不会,也不懂
 楼主| 逸帅 发表于 2021-5-27 15:07
tanzhiwei 发表于 2021-5-27 12:30
面试官:你确认SQL sever不是跨平台的吗?

好像后期SQL server支持linux了...
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 01:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表