欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记录自己做过的面试题

程序员文章站 2024-02-02 13:37:46
...

请列举Java中8种基本数据类型及大小,以及他们的封装类?

byte short int	   long float double boolean char

8	  16	32		64	 32		64	   无	 16

Byte Short Integer Long Float Double Boolean Char

请简述接口和抽象类的区别?

  1. 从设计层面来说。抽象是对类的抽象,是类的模板设计,接口是行为的抽象,是一种行为的规范
  2. 接口的方法默认是public,所有方法不能被实现(java8开始可以有默认实现),而抽象类可以有非抽象的方法
  3. 接口中除了有final,static修饰的变量不能有其他变量,而抽象类不一定
    子类实现抽象类时可以不用实现全部方法,而实现接口必须实现全部方法

编写一个人类,类中有姓名,年龄,性别三个私有属性,并且提供get/set方法,有一个计算(count)的方法,该方法接受两个int类型的参数,并且返回计算结果

public class human{private String name;private Integer age;private String sex;public String getAge(){return age;}public void setAge(String age){this.age=age;}public int count(int a,int b){return a+b;}

}

请简述String和StringBuffer区别?

String底层是一个final修饰的字符数组,而StringBuffer底层是一个可变字符数组

请定义一个List集合只能存储字符串类型,然后向集合中添加一个数据"abc";并且编写代码使用迭代器遍历集合,输出元素?

List<String> alist = new ArrayList;

alist.add("abc");

Iterator iterator = alist.iterator;

while(iterator.hasnext()) System.out.println(iterator.next());

有两张表,部门表字段有:编号,部门名称;用户表字段有:编号,姓名,性别,年龄,部门编号;

问题一:统计每个部门有多少人,输出部门名字和人数,请写出SQL语句?
select 部门名称,count(用户表.编号) from 用户表 left join on 用户表.部门编号 = 部门表.编号 group by 部门名称;
问题二:统计员工姓张且年龄在25-30之间的员工信息,输出员工编号,姓名,年龄,部门名字,请写出SQL语句?
select 员工编号,姓名,年龄,部门名字 from 用户表 left join 部门表 on 部门表.编号 = 用户表.部门编号 where name like '张%' and 年龄>25 and 年龄<30;

请简述行内元素和块级元素的区别,行内元素有哪些,块级元素有哪些,至少10个?

区别:行内元素一行可以放多个元素,每个块级元素独占一行

行内元素:a、b、img、i、input、br、span、u

块级元素:div、h3、p、nav、header、footer

请简述如何使用JQuery来提取一个HTML标记的属性值?例如:超链接的href属性值?

$(function(){

$('a'). attr('href')

})

请列举出SpringMVC中常用的注解及作用,至少四个?

@RequestMapping:绑定请求路径和请求方法

@Pathvariable:注解方法参数并将其绑定到URL模板变量的值上

@RequestParam:将请求的参数绑定到方法的参数上

@ResponseBody:将返回类型直接输入到HTTP response body中

请列举出Mybatis中常用的动态SQL标签及用法,至少4个?

if:用于简单的条件判断

where:替换where标签,自动去除开头and或or,在and或or前后自动补空格

choose:相当于switch通常与when和otherwise结合使用

set:类似与where的功能,会自动去除不必要的后缀逗号

foreach:类似与for循环,可以循环list和数组

trim:可以自定义前后缀,既可以当where也可以当set使用

简述Redis的用途和常用的数据类型?

计数器,缓存,分布式锁,会话缓存,消息队列

  1. String字符串:字符串类型是 Redis 最基础的数据结构,首先键都是字符串类型, Value 不仅是 String,也可以是数字。常用在缓存、计数、共享Session、
    限速等。
  2. Hash哈希:在Redis中,哈希类型是指键值本身又是一个键值对结构,哈希可以用来存放用户信息,比如实现购物车。
  3. List列表(双向链表):列表(list)类型是用来存储多个有序的字符串。可以做简单的消息队列的功能。 数据结构:List 就是链表,可以用来当消息队列用。
    Redis 提供了 List 的 Push 和 Pop 操作,还提供了操作某一段的 API,可以直接查询或者删除某一段的元素。 实现方式:Redis List 的是实现是一个双向链
    表,既可以支持反向查找和遍历,更方便操作,不过带来了额外的内存开销。
  4. Set集合:集合(set)类型也是用来保存多个的字符串元素,集合是通过 hashtable 实现的。 但和列表类型不一样的是,集合中不允许有重复元素,并且集合
    中的元素是无序的,不能通过索引下标获取元素。利用 Set 的交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。
  5. Sorted Set有序集合(跳表实现):Sorted Set 多了一个权重参数 Score,集合中的元素能够按 Score 进行排列。实现方式:Redis Sorted Set 的内部使用
    HashMap 和跳跃表(skipList)来保证数据的存储和有序,HashMap 里放的是成员到 Score 的映射。

用自己的话来理解springboot的用途,以及使用步骤

简化spring使用难度,省去繁杂的配置,提供各种启动器,让开发者快速上手

springcloud的作用是什么,常用的组件有哪些

相关标签: 面试 java