Java小白面试记

应该是第四次了~
问的问题很细,而且很多,出来时脑子已经懵了,只记得自己回答的很不好。断断续续的想起他问的一些问题,就记下来了,下次一定记得录音~~

  • Springboot了解吗?
    我刚接触,所以很没自信地说了句不了解

  • SpringBoot的配置文件放在哪儿?
    内心是**的,都说不了解了,还问。
    查了一下不知道是不是问的这个:Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。

  • 谈一下进程和线程?
    进程是程序的一次执行过程,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。
    线程是CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
    线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
    根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

    [更多内容可以看下这个兄弟写的]https://www.cnblogs.com/jobbible/p/9766649.html()

  • 假如要你批量插入几百万条数据你打算怎么实现的?你会选择用代码还是SQL解决?
    修改事务的提交方式,将多次提交变为一次,使用批量操作。应该可以用SQL解决吧,用存储过程

  • 高并发怎么处理?

  • MyBatis的工作流程是什么?
    ①解析配置文件(MyBatis-config.xml、Mapper.xml)
    ②SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory
    ③SqlSessionFactory创建会话SqlSession
    ④执行器将MappedStatement对象进行解析,sql参数转化、动态sql拼接,生成jdbc Statement对象,使用Paramterhandler填充参数,使用statementHandler绑定参数。
    ⑤JDBC执行sql,借助MappedStatement中的结果映射关系,使用ResultSetHandler将返回结果转化成HashMap、JavaBean等存储结构并返回。
    ⑥最后关闭sqlsession会话。

    [具体看这个吧]https://baijiahao.baidu.com/s?id=1666562082269776543&wfr=spider&for=pc()

  • MyBatis是如何将sql执行结果封装为目标对象并返回的?
    ①使用 sql 列的别名功能,将列的别名书写为对象属性名。
    ②使用标签,逐一定义数据库列名和对象属性名之间的映射关系

  • 多表连接有哪些?
    连接查询主要分为三种:内连接、外连接、交叉连接。
    内连接:只返回满足连接条件的数据行;
    外连接:不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。外连接分为左外连接、右外链接、全外连接三种。
    交叉连接:两个表做笛卡尔积,得到的结果集的行数是两个表的行数的乘积。

  • 如果有三张表或五张表,如何进行关联?
    我只知道加多个join,多表关联本质上其实还是两张表关联。

  • 什么是长连接短连接?
    我觉得现阶段还理解不了
    [点]https://www.cnblogs.com/gotodsp/p/6366163.html()

  • 七层模型中的第四层是什么?
    传输层

  • 第四层和第七层分别有哪些应用?
    TCP、UDP在第四层,第七层有HTTP、HTTPS、FTP、POP3、SMTP等

  • 反射是什么?你在哪里会用到反射?
    **反射机制运行时,只要给定类的名称,就可以动态的获取类的信息和调用对象的方法。
    应用场景:
    JDBC中,加载MySQL的驱动类;
    Spring 框架的 IOC(动态加载管理 Bean)创建对象以及 AOP(动态代理)功能都和反射有联系 **

你的二级分类导航是怎么实现的?
①首先查找出所有的分类,全部的课程方向
②然后根据课程方向id查询对应的课程内容,将一级分类获取出来
③为了二级分类的存储,我们还需要去实体类中再加一个属性
最后根据课程方向id和课程内容id查询对应课程

public List<Course> findCourseByCourseDirectionIdAndCourseContenId(int courseDirectionId, int courseContentId) {
		Map<String,Object> map = new HashMap<>();
		map.put("courseDirectionId", courseDirectionId);
		map.put("courseContentId", courseContentId);
		return mainMapper.selectCourseByCourseDirectionIdAndCourseContentId(map);
	}
  • Linux基本命令说一下,用Linux怎么写脚本?
    怎么用Linux怎么写脚本啊。。。
posted @ 2020-11-05 15:12  D•U•S•Tべ  阅读(67)  评论(0)    收藏  举报