【海康威视】-Java岗-一塌糊涂的实习面经

2021年12月22日,晚上8点,海康威视面经,Java开发实习。面的一塌糊涂,确实对Java不太熟悉,具体如下:

一、SpringBoot方面

1.1 SpringBoot的结构
答:template:放静态页面,static:放静态文件、yaml:实例化类、target:Test文件
真实答案:src、target、pom.xml
src/main/resources:(资源结构):
resources:(Spring Boot 默认的)存放资源文件
static:(Spring Boot 默认的)存放静态文件,比如 css、js、image, (访问方式 http://localhost:8080/js/main.js)
public:(Spring Boot 默认的)存放公共文件
templates:(用户自己定义的,可以随便取名,但这里使用公认的文件名)存放静态页面,比如 jsp、html、tpl
config:(用户自己定义的,可以随便取名,但这里使用公认的文件名)存放配置文件,比如 application.propertie
src/main/java:(代码层结构)
1.工程启动类(ApplicationServer.java)置于com.springboot.build包下
2.实体类(domain)置于com.springboot.domain
3.数据访问层(Dao)置于com.springboot.repository
4.数据服务层(Service)置于com,springboot.service,数据服务的实现接口(serviceImpl)至于com.springboot.service.impl
5.前端控制器(Controller)置于com.springboot.controller
6.工具类(utils)置于com.springboot.utils
7.常量接口类(constant)置于com.springboot.constant
8.配置信息类(config)置于com.springboot.config
9.数据传输类(vo)置于com.springboot.vo
src/java/test:(test和yaml)
pom.xml(依赖管理)

1.2 SpringBoot怎么启动
答:不就run就启动了吗?
现在想来是问:src/main/java/application 里面启动

1.3 Springboot怎么自动装置
答:首先添加依赖,扫描所有包,然后根据依赖,添加使用的包

答案:
● 自动配好SpringMVC
○ 引入SpringMVC全套组件
○ 自动配好SpringMVC常用组件(功能)
● 自动配好Web常见功能,如:字符编码问题
○ SpringBoot帮我们配置好了所有web开发的常见场景
● 默认的包结构
○ 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来
○ 无需以前的包扫描配置
○ 想要改变扫描路径,@SpringBootApplication(scanBasePackages=“com.atguigu”)
■ 或者@ComponentScan 指定扫描路径

@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.atguigu.boot")

二、Java

2.1 和equal的区别
答:基本类型,比较值,引用类型,比较地址,equal比较引用数据地址,先类型,再值
答案:)对于,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
    如果作用于引用类型的变量,则比较的是所指向的对象的地址
  2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量
    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

2.2 set和list的区别
答:都是集合,set无序,list有序
问:还有吗?
答:不知道了
答案:
set 集合是最接近 Collection 的集合,因此 Set 集合几乎没有在 Collection 增加什么方法。
Set 集合代表了元素无序、元素不允许重复的集合(Set 只是在 Collection 规范上增加了元素
不允许重复的约束)。
List 集合则在 Collection 的基础上为元素增加了索引的特性,因此 List 集合代表了集合
元素有序、集合元素可以重复的集合。

2.3 多线程
问:了解多线程吗?线程一直run会怎么样
答:不知道,真实会oom,溢出内存
问:三个线程怎么顺序执行
答:syn方法,上线程锁
问:还有吗?
答:不晓得

2.4 Java怎么跳出循环
答:break,flag,return
问:还有吗?
答:不晓得

三、MySQL

了解MySQL吗?了解索引吗?创建过字段吗?怎么确定字段的?
答:了解一些,了解索引,主要用的主键索引,本质是B+树,字段确定和创建由博士师兄确定

四、redis(我都不会,还问我)

问:了解redis吗? 答:我听说过点
问:它单线程还是多线程, 答:多线程,做缓存数据的嘛
问”怎么实现redis队列持久
答:不晓得

五、了解jQuery吗?了解中间件吗?

答:不晓得

六、项目知识

问:详细描绘你的项目
问:怎么实现的,数据输入输出怎么流程的

七、其他

哪里人,实习时间,未来发展,理想工作城市等

发表评论

后才能评论