转载

小学生面试初级Java开发之路(一)

今日小学生接到了A公司的笔试题,说实话这题挺简单的,奈何本小学生实力不行啊,答的不是很好,就是感觉自己会但是不是很彻底的感觉,这就是啥都会点,但都不精通,自己的基础不是很扎实,还得学啊(学不动了,太多了....)。

下面是这次的笔试题,我下来之后又整理了一遍,如果有不对的地方,望各位指点,谢谢了

1. 列出几种常用设计模式

答:单例模式、工厂模式、代理模式、观察者模式、MVC模式、MVVM模式

2. AOP是什么,实际开发中有哪些业务场景能用到(除日志,事务)?

AOP是面向切面编程,能够将那些与业务无关,却为业务模块所调用的逻辑进行封装,便于减少程序的重复代码、降低模块间的耦合,提高可维护性和可扩展性。

在实际开发中AOP运用在:

  • 性能统计/计数
  • 事务处理
  • 缓存处理
  • 日志打印
  • 权限控制
  • 异常处理

3. AOP通知有哪些?

在Spring AOP中有五大通知类型

  • 前置通知
  • 后置通知
  • 异常通知
  • 最终通知
  • 环绕通知

4. 泛型的作用?

泛型的主要作用:

  1. 类型安全。泛型主要的目标就是提高Java程序的类型安全。通过泛型定义的类型限制,编译器可以在验证类型假设
  2. 消除强制类型转换。消除源代码中的许多强制类型转换,代码更加可阅读,并且减少出错的机会
  3. 潜在的性能收益。

5. List<Map<String,List< String>>> list = new ArrayList<Map<String,List< String>>>给变量赋值(key,value自定义)

public class App {
    public static void main( String[] args ) {
        List<Map<String,List<String>>> list = new ArrayList<Map<String, List<String>>>();
        List<String> stringList = new ArrayList<>();
        stringList.add("list");
        Map<String,List<String>> map = new HashMap<String,List<String>>();
        map.put("one",stringList);
        list.add(map);
        System.out.println(list.get(0).get("one").get(0));
    }
}
复制代码

6. 什么情况下会造成浏览器请求跨域,如何解决

浏览器的同源策略会导致跨域,即从一个域名去请求另一个域名的资源时,协议,域名,端口不同,就会发生跨域问题。

解决跨域有JSONP、CORS、postMessage

7.是否使用过Vue,Vue的生命周期有哪些

Vue的生命周期有:

  • beforeCreate 初始化界面之前
  • create :初始化界面后
  • beforeMount:渲染dom前
  • mounted:渲染dom后
  • beforeUpdate:更新数据前
  • updated:更新数据后
  • beforeDestroy:卸载组件前
  • destroyed:卸载组件后

就是从创建、初始化数据、编译模板、挂载DOM->渲染,更新->渲染,销毁等一系列过程

8.会使用哪些前端框架

Vue.js、jQuery、ElementUI、Bootstrap

9. MySQL如何查看sql执行计划

EXPLAIN 加上sql语句
复制代码

10.MySQL一般在那些字段上加索引

  • 表的主键和外键建立索引
  • 在ORDER BY或者GROUP BY后面的字段建立索引
  • 经常与其他表进行连接的表,在连接字段上应该建立索引
  • 经常出现在WHERE子句中的字段,应该建立索引

11.编写SQL

班级表(classes)
Id 主键
name 班级名称
学生表(student)
Id 主键
classes_id 学生班级
name 学生名称
  1. 一条sql查出班级和每个班级中的学生
SELECT c.name AS '班级名称',s.name AS '学生名称'
FROM student AS s
RIGHT JOIN classes AS c ON c.id = s.classes_id;
复制代码
  1. 一条sql查询班级和每个班级中的学生(分页显示班级)
SELECT c.name AS '班级名称',s.name AS '学生名称'
FROM student AS s
RIGHT JOIN classes AS c ON c.id = s.classes_id
LIMIT 0,5
复制代码
原文  https://juejin.im/post/5e8c4397f265da47e84e6b8e
正文到此结束
Loading...