后端Java日常实习生面试(七牛云2023年11月14日)

news/2024/4/25 13:34:20

面试岗位为:Java 后端开发实习生

面试时长:60分钟

面试时间:2023年11月14日

  1. 首先做一下简单的自我介绍吧
  2. 面试官说先来说一下 Java 基础吧
  • 多态了解吗?(了解,一个行为有不同的表现形式)

  • 知道编译时多态和运行时多态吗?(其实当时并不知道,就给面试官说没了解过,但是根据名字可以大概知道这两个东西是什么,编译时多态就是在编译器就已经确定好了实现类的类型,运行时多态是在运行时才可以确定实现类是哪个,需要执行哪一个具体的行为)

  • 类加载机制了解吗?(类加载机制就是 Java 如何将 class 文件给加载到内存中,Java 使用了双亲委派模型来加载 class 文件,会通过将加载任务不断委托给父类加载器来执行)

  • 于是面试官发了一个代码,问了一下我代码的输出是什么?

我回答说输出是 1 2 4 25,这里是说错了,但是面试官一点一点在引导着我说,你感觉还有什么问题吗?我想了想,虽然直到面试官在提示我,但是还是看不出来哪里有问题,面试官又进一步提示说,如果你的答案中有一个是没有输出的,那你觉得是哪一个呢?之后我又重新分析了一下,并且把分析的过程讲给了面试官,之后说应该不会输出 4,因为在加载到 Father 类时,就已经拿到了 factor 静态变量,此时就已经不需要去加载 Son 类了,因此正确输出是 1 2 25

class Grandpa {static {System.out.println("1");}
}
class Father extends Grandpa {static {System.out.println("2");}public static int factor = 25;public Father() {System.out.println("3");}
}class Son extends Father{static {System.out.println("4");}public Son() {System.out.println("5");}}
public class Main {public static void main(String[] args) {System.out.println(Son.factor);}
}
  • Spring 是 Java 中常用的框架,那么Spring 中用到了哪些设计模式呢?(在获取 bean 的时候使用到了单例模式,其他的不清楚了)
  • 你给我写一个单例模式的实现吧?(这里的单例模式其实问了很长时间,因为单例模式我只记得双端检锁了,这里让实现一个单例模式,我只想起来了下边这一种实现方式,单例模式问了很长时间是因为我一开始写错了,将变量定义为成员变量,在静态变量中访问成员变量了,还好面试官问我你看看代码是不是有点问题,我再看了看才发现有问题,于是将成员变量改成静态变量,但是没有添加 private 修饰符,面试官又进一步问你这样静态变量的作用域是什么呢?会不会被其他类修改呢?于是又将 private 修饰符给添加上了,这才写好下边这个单例模式/(ㄒoㄒ)/~~,单例模式没复习到是真不应该呀 ku ~~)
public class SingletonObj {private static Object instance;public static Object getInstance() {if(instance == null) {instance = new Object();}return intance;}
}
  1. 之后开始让我介绍项目了,让我挑一个项目进行介绍,我就介绍了 API 网关项目,这次把 processon 上的流程图给共享了,对着流程图给面试官介绍,介绍完之后,面试官开始提问
  • API 网关和 Nginx 之间是什么样的关系呢?(是一对多的关系,通过 Nginx 做负载均衡,将请求路由到网关的多个模块)

  • Nginx 使用了什么负载均衡算法呢?(使用的最少连接数算法)

  • Nginx 中的负载均衡算法的原理你了解吗?(不了解,这个没有看过)

  • 具体讲一下算法怎样实现的吧?(不了解怎么实现的,我就只说了说我对这个最少连接数算法的理解,通过监听每个应用的连接数量,来将新的请求路由到连接数量最少的应用上去)

  • 我看你是使用 Redis 的 PUB/SUB 了,那为什么要使用 PUB/SUB 呢?(我也不知道为啥使用,我~~)

  • 鉴权怎么鉴权了呢?(使用 jwt token 进行鉴权,讲一下流程,这里建议如果你在项目中使用到哪个小的组件,一定要去了解他的原理是怎样的)

  • 了解其他的 API 网关鉴权策略吗?


https://www.xjx100.cn/news/3118743.html

相关文章

ffmpeg 把mp4文件中某段视频转成gif文件

一 缘起背景: 有视频文件转gif动图的需求;网上下载的转换工具需要注册会员、否则带水印,还限制时长。 二 工具环境: win10 下 dos 操作 ffmpeg 三 操作命令: ffmpeg -i test.mp4 -ss 00:01:01 -t 00:00:19 -vf &q…

版本控制系统Git学习笔记-Git基本知识介绍

目录 前言一、版本控制系统1.1 什么是版本控制系统1.2 本地版本控制系统1.3 集中化的版本控制系统1.3 分布式版本控制系统 二、Git简介2.1 数据处理方式2.2 几个特点2.2.1 几乎所有操作都是本地执行2.2.2 Git保证完整性2.2.3 Git一般只添加数据 2.3 Git中文件状态2.3.1 三种文件…

orvibo旗下的VS30ZW网关分析之一

概述 从官网的APP支持的智能中枢来看,一共就两种大类: MixPad系列和网关系列 排除MixPad带屏网关外,剩余的设备如下图: 目前在市场上这四种网关已经下市,官方已经宣布停产。所以市场上流通的也几乎绝迹。 从闲鱼市场上可以淘到几个,拿来分析一下,这里我手头有如下的两…

大数据Hadoop-HDFS_架构、读写流程

大数据Hadoop-HDFS 基本系统架构 HDFS架构包含三个部分:NameNode,DataNode,Client。 NameNode:NameNode用于存储、生成文件系统的元数据。运行一个实例。 DataNode:DataNode用于存储实际的数据,将自己管理…

Linux下各种字符编码进行转码

支持各种编码相互转换 具体 iconv --list 可以查看 支持的转码格式 1.代码实现 #include <iostream> #include <iconv.h> #include <cstring>int iconv_convert(const char *inCharset, const char *outCharset, char *inbuf, unsigned int inlen, char *o…

聚焦清晰度评价指标所用到的各种算法

首先&#xff0c;我想吐槽一下&#xff0c;看了好几篇聚焦评价函数的文章&#xff0c;说到底都是一篇文章转载或者重复上传&#xff0c;介绍了将近 15 种清晰度的算法&#xff0c;原文找了半天都没找到在哪&#xff0c;最多也仅能找到一些比较早的转载。 无参考图像的清晰度评…

Camunda 7.x 系列【58】自定义表单设计器

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2.表单设计器3. 案例演示3.1 引入流程设计器3.2 表单数据存储3.3 测试1. 前言 Camu…

软著项目推荐 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…