初级程序员面试经典题目(大串烧 含答案)
1.String StingBuffer StringBuilder的区别?
(1)基本区别:String是final修饰的不可以被改变,其他二者的对象是可以改变的。
(2)效率区别:StringBuilder>StringBuffer>String。
(3) 安全区别:StringBuffer>String>StringBuilder。
(4)相同点:三者都是来处理字符串的,三个类都是被Final修饰的,不可以被继承, StringBuilder和StringBuffer有共同的父类AbstractStringBuffer
2.数据库外连接和连接的区别?
外连接分为:左外连接(left join)和右外连接(right join),内连接又称之为:全连接(inner join)
左外连接:左表数据会全部展示出来,副表数据与左表on条件匹配的数据才会显示出来。
右外连接:右表数据会全部展示出来,副表数据与之匹配的才会显示出来,与左连接相反。
内连接:两张表的数据会全部展示出来,遵循算法是笛卡尔积,表与表之间的连接可以看做是做乘法
3.索引在什么时候使用?
索引是单独的、物理存储的对数据库表一列或多列进行排序的一种数据结构,相当于书本上的目录,可以加快查询速度,当然用物理存储的遵循以空间换时间的原则,会占用磁盘空间。在数据库中数据非常庞大(拥有百万条数据)的时候,可以通过创建索引来增加查询速度。
创建索引:CREATE INDEX 索引名 ON TABLE名(字段名)
4.视图的定义,怎样创建视图,怎样修改已经创建的视图?
视图是一个虚拟的表,是由一条select语句查询的数据组成,与真实的表一样,视图中也存在相应的增删改方法,视图不占用实际的物理空间。
创建视图:CREATE VIEW 视图名(列1,列2,.....)AS SELECT (列1,列2....)FROM .......;
修改视图:ALTER VIEW 视图名 AS SELECT........
视图增删改:与表的增删改一致,这里不再多说
5.拦截器和过滤器的区别?
拦截器(interceptor);拦截器实现接口HandlerInterceptor,重写里面的三个方法,拦截器是链式调用,一个项目中可以存在多个拦截器
(1)prehandle();这个方法在请求处理之前来调用,注意该方法的默认返回值为false,视为请求结束,不仅会使自身拦截器失效还会导致其他拦截器失效。
(2)postHandle();这个方法在prehandle();方法返回true时才会调用,该方法是等控制器方法都执行完毕,视图渲染之前来执行。
(3)afterCompletion();方法是等postHandle()方法返回true时才会执行,该方法是在整个请求结束之后,视图渲染之后拦截。
过滤器(Filter):过滤器配置比较容易,直接实现Filter接口即可,也可以通过@WebFilter注解实现特定的url拦截,Filter接口中定义了三个方法。
(1)init():该方法在容器初始化时被调用,该方法仅仅只被执行一次,该方法必须执行成功,否则拦截器将不会启用。
(2)doFilter():容器中每一次都会调用该方法,FilterChain来调用下一个过滤器。
(3)destroy();当容器销毁时会执行该方法,一般用来销毁和关闭资源,该方法执行Filter生命周期结束。
不同之处:
实现原理不同:过滤器时基于函数回调的。拦截器是基于java的反射机制
使用范围不同:过滤器是java.servlet包下的,说明他依赖于TomCat等容器,导致他只能在web项目中使用,拦截器是spring组件,并由spring容器管理,并不依赖于Taocat.
触发机制不同:过滤器是请求进入容器候但是进servlet之前进行预处理,请求结束时在servlet处理完成之后。拦截器是进servlet之后在进入controller之前进行预处理,在controller渲染视图之后请求结束。
初级程序员面试经典题目(大串烧 含答案)相关推荐
- 初级程序员面试不靠谱指南(二)
3.read-only的const.如果你突然冒出一句看似很高深的话但又不解释一般都是装逼,就像前面提到过const准确的应该理解为一个read-only的变量而不是一个常量,那么常量和变量的区别到底 ...
- 初级程序员面试话术(1)
其实我也是一个刚入行不是很久的小白,和同为初开的朋友们聊天所得,来和大家分享一下在面试的时候或者想成为java程序员的时候应该去注意些什么,首先是从简历下手,简历的好坏也决定着面试机会! 一:简历 简 ...
- 初级程序员面试不靠谱指南(一)
"来到这英雄宴中的人物,就算本身武功不是甚高,见识也必广博,"太祖拳法"的精要所在,可说无人不知.乔峰一招打出,人人都是情不自禁的喝了一声采!这满堂大采之后,随即有许多人 ...
- 42岁程序员面试,为什么大公司一定要使用微服务
说实话,一万六的工资是毕业生工作两年的价格,还不是985.年轻气盛终归英雄暮年,能有工作机会已经不错,大厂只给工资,不给规划,误人.尽管就业市场对大龄程序员来说确实不太友好,但是程序员工资要高一点,我 ...
- 千锤百炼始成钢之初级程序员面试总结(非技术1)
背景 以往曾就职于计算机培训行业,也培养除了不少出色的软件工程师,记得很多刚刚出师的学员在就业面试时给我写过总结,先在就分享给大家希望对伙伴们有点启发和帮助. 正文 公元后2008年9月1日星期一,要 ...
- 初级程序员面试不靠谱指南(六)
五.很强很伟大的函数指针 我想看到这个标题中"函数指针"几个字之后,估计有一半人会选择关掉界面,因为我最开始学习C语言的时候这一章我曾无数次跳过,看到书中那些复杂的星号括号直接就崩 ...
- 程序员面试的 3 大反面案例!看灯大侠最可怜!
作者 | COCO 责编 | 胡巍巍 常言道:"常在河边走哪有不湿鞋?"面试的人多了,总会碰上几个另类的,所以我们从中选几位特别有代表性的,专家们经常说反面教材也是很有教育意义的, ...
- .net程序员面试考试题目
尽供参考 下载 我的系列文章 A.Sql Server2005 Transact-SQL 新兵器学习 B.MCAD学习 C.代码阅读总结 D.ASP.NET状态管理 E.DB(数据库) F ...
- Java基础易错面试题,初级程序员面试必看!(会不断更新)
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字.我热爱技术.热爱开源.热爱编程.技术是开源的.知识是共享的. 这博客是对自己学习的一点点总结及记录,如果您对 Java.算法 感兴 ...
- 75道程序员面试逻辑智力测试题内附详细答案
[1]假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水. 由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有 ...
最新文章
- mysql通过查看跟踪日志跟踪执行的sql语句
- python 输入文件名查找_Python实现的根据文件名查找数据文件功能示例
- Chapter 4. 正则表达式验证
- Hystrix入门指南
- 《炉石传说》架构设计赏析(2):Scene管理
- AUTH password
- MySQL-02-windows下查看frm,myi,myd
- windows下安装Redis测试
- 材价看板(1)- 如何建立你的第一个kanban,看看这些暴露的问题你们有没有?...
- 哨兵二号(Sentinel-2)卫星数据处理
- 宋红康版JVM笔记 ppt
- 超市库存java管理系统_Java案例:超市库存管理系统
- 笑话生成器_爸爸笑话发生器
- 《活法》 -豆瓣评分8.4
- chromium官方文档
- 数据库想法整合,多表联立交互
- 云小课|MRS基础原理之MapReduce介绍
- 保险行业如何运营大数据分析技术
- 常用激活函数(relu,glu,gelu,swish等)
- 硬核开源:动漫生成器让照片秒变手绘日漫风!!!