黑马程序员技术交流社区

标题: [哈尔滨校区]关于面试常见问题小记_2 [打印本页]

作者: 朱龙华    时间: 2017-12-14 00:06
标题: [哈尔滨校区]关于面试常见问题小记_2
本帖最后由 朱龙华 于 2017-12-14 08:18 编辑

3.对于JQueryjs的入口函数,有什么区别?JQuery的入口函数: $(function(){});
JS的入口函数window.onload=function(){}
有什么区别
u JQuery的入口函数在DOM树加载完就执行,JS的入口函数在页面加载完成后执行
u JQuery的入口函数能执行多次,JS的入口函数只能执行一次
4. mysql数据库truncate table  delete from 的区别Truncate table删除是将整个表删除,再重新创建
Delete from删除是一条条删除数据,并且再同一个事务中delete删除的数据可以找回
5. count(*)count(列名)的区别?count(*)会计算null值,而count(列名)不会计算null的数量
6. Servlet生命周期是多久?
servlet是在第一次访问到servlet的时候创建实例对象.并且只会创建一次,每一次请求都会使用相同的servlet实例.在服务器关闭或者项目移除的时候进行销毁

服务器启动的时候,servlet会被创建吗?        --不会
用户发送请求的时候,servlet会被创建吗?        --不会
7. 重定向和转发的区别:(redirectforward的区别)* 1.重定向的地址栏会发生变化,转发的地址栏不变.
* 2.重定向两次请求两次响应,转发一次请求一次响应.
* 3.重定向路径需要加工程名,转发的路径不需要加工程名.
* 4.重定向可以跳转到任意网站,转发只能在服务器内部进行转发.
8. Session线程安全吗?这个对象会被多次使用,也会被同一个用户的多个页面使用,所以他对于系统来说是线程不安全的。
因为session需要维持当前用户的信息,所以其在多个线程里是共享的。所以是线程不安全的。
不过,这个是表面现象,我们只要正确使用事务,保证数据的准确性,表面的问题可以不用管它。
9. jspJSP九大内置对象(面试)这个百度吧,一般人不会问
10. 什么是事务:* 事务指的是逻辑上的一组操作,组成这组操作的各个逻辑单元要么一起成功,要么一起失败.
事务特性:
原子性:强调事务的不可分割.
一致性:强调的是事务的执行的前后,数据的完整性要保持一致.
隔离性:一个事务的执行不应该受到其他事务的干扰.
持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库.
如果不考虑事务的隔离性,引发一些安全性问题:
一类读问题:
* 脏读        :一个事务读到另一个事务还没有提交的数据.
* 不可重复读        :一个事务读到了另一个事务已经提交的update的数据,导致在当前的事        务中多次查询结果不一致.
* 虚读/幻读        :一个事务读到另一个事务已经提交的insert的数据,导致在当前的事务中        多次的查询结果不一致.
一类写问题:
* 引发两类丢失更新:
解决引发的读问题:
设置事务的隔离级别:
* read uncommitted        :未提交读.脏读,不可重复读,虚读都可能发生.
* read committed        :已提交读.避免脏读.但是不可重复读和虚读有可能发生.
* repeatable read        :可重复读.避免脏读,不可重复读.但是虚读有可能发生.
* serializable        :串行化的.避免脏读,不可重复读,虚读的发生.

***** MYSQL隔离级别:repeatable read  Oracle隔离级别:read committed
一般我们实际开发工程中,是不允许脏读的发生,但是对于不可重复读,虚读/幻读是允许发生的!
根据安全性问题,我们实际开发工程中一般使用read committed或者repeatable read,
不使用read uncommitted因为他什么都不能防止,
不适用serializable是因为器执行效率太低(相当于单线程,排队执行sql)
11. 事务通常加在哪里?为什么?因为在同一个事务中,对数据的操作都在一个连接中,只有在service层中开启和提交才能保证Connection的唯一性
12. linux这么改文件名?mv a.txt ./b.txt
13.注解开发和配置文件开发的优劣势和平衡优势:开发快
劣势:维护性差
解决办法:如果需要开发速度快,会使用注解式开发,但是维护性很差,一般都是写一个文档去规范和解释注解。
14.Oracle子查询用过没,写在哪里
用过不少,selectfromwhere都可以用
==========================================
子查询
Where条件子查询:在语句中,嵌套语句在where中,根据语句结果再次进行查询(根据子查询结果,可分为单行子查询和多行子查询,对应的父查询可以使用>,>=...或者in               all等)
From表子查询:使用语句查询数据嵌套在from中,子查询的结果相当于一张表,基于这张表再进行查询
Select内容子查询:使用语句查询数据嵌套再select的内容中,子查询的结果相当于需要查询的字段,通常应用在多表查询中显示不同字段
分页查询
基于rownum进行查询,注意的是rownum在每行数据加载后就赋值了,优先于排序和判断范围
如果使用<符号,没有问题,但是如果需要使用=>符号,就需要嵌套先查询元数据,再进行判断查询
同理,如果在上述基础上还要进行排序操作,需要先对数据进行排序,再进行查询元数据,再进行判断
行列转换
用过,我会用
有时候,我们需要将原本是列的信息通过一定规律在行中显示(季度报表),就需要行列转换
如:表中是1-12月份的各个数据信息,我们需要做报表统计每个月的总费用,就需要在一行中显示每个月以及费用,这就是行列转换,案例在下面
15.索引用过吧,干嘛用的索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o次数,从而提高数据访问性能
索引是需要占据存储空间的,一个节点对应一个物理地址,一般在数据量很大的时候才用,会提高效率
创建表的主键中就有索引,但是rowid的效率更高,因为它直接映射物理地址
有啥用:加快数据查询的,越复杂的表可以越早加索引,一般在10-100万条数据就可以加


作者: 错杀也不错    时间: 2017-12-14 12:09
嗯 不错不错不错不错不错
作者: MrZhu    时间: 2017-12-14 12:17
索引索引,印象中比较模糊。
作者: 温洪达    时间: 2017-12-14 13:06
hashmap的底层也会问到,底层原理,怎么存的怎么取的
作者: 06期黑马    时间: 2017-12-14 13:09
对于服务器启动的时候,Service会被创建么,有疑问的,可以看一下,看访问的是什么,如果访问的是一个html,则不会创建,如果访问的是一个Service,则会创建
作者: 13100837608    时间: 2017-12-14 18:27
很棒棒哦
作者: 13100837608    时间: 2017-12-14 18:27
很棒棒哦
作者: 13100837608    时间: 2017-12-14 18:28
不错不错,很棒棒哦
作者: 时维亮    时间: 2017-12-14 19:55
总结细致  
作者: 曹林    时间: 2017-12-14 23:08
第六题,用户发送请求后,servlet不会被创建的具体原因,是有些请求可能不走servlet,还是只有第一次会创建servlet?
作者: asd2311007    时间: 2017-12-15 08:09
思路清晰,总结到位,有助于复习





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2