重点关注2019:多线程处理、高并发、网络安全(含答案)

重点关注:多线程处理、高并发、网络安全

jQuery?

1. jQuery 库中的$()是什么
答:$()函数是jQuery()函数的别称,常用的方法。

2. 网页上存在5个<div>元素,如何使用和选择
答:使用选择器,常用的选择器有id选择器、class选择器、标签选择器。
eg:$("div")会返回所有的div标签的jQuery对象。

3. jQuery里的id选择器和class选择器的不同
答:id选择器是使用id来选择元素,而class选择器是使用css class来进行选择元素。
使用场景:当你只需要选择一个元素时,使用id选择器,而如果你想要选择一组具有相同css class
的元素时候,就要使用class下载你去。
使用方式:id选择器使用的字符"#"和id信息 ,class选择器使用的是"."和class信息。

4.如何在点击一个按钮时候使用jQuery隐藏一个图片
答:通过id进行隐藏

$(‘#ButtonToClick‘).click(function(){
? ? $(‘#ImageToHide‘).hide();
});

5.$(domcument).ready()是什么函数

6.JavaScript window.onload 事件和jQuery ready 函数的不通
答:jQuery ready()函数只需要对DOM树的等待,而无需对图片和外部资源加载的等待,
执行速度较快。
? ? ?window.onload等待dom被创建还要等待包含大型图片、音频、视频所在外部资源都
? ? ?完全被加载,相对耗时较长。

7 . 如何找到所有HTML select标签的选中项
答:$(‘[name=NameOfSelectedTag] :selected‘)

8 . jQuery里的each()是什么函数
答:each() 是一种遍历
$(‘[name=NameOfSelectedTag] :selected‘).each(function(selected) {
? ? alert($(selected).text());
});

9 . 合入将一个HTML元素添加到DOM树中的
答:使用jQuery的appendTo()函数。

10 . 怎么在jQuery代码选择所有在段落内部的超链接吗?
答:使用段落使用<p>标签,内部的超链接 <a>标签

11 . $(this) 和this关键字不同
答:jQuery中前者返回一个jQuery对象,你可以对它调用多个jQuery方法,
? ? this是上下文中当前dom 的操作使用
? ??
12: 如何使用jQuery来提取一个HTML标记的属性
答:attr()方法

$(‘a‘).each(function(){
? alert($(this).attr(‘href‘))
? });

? 需要注意 attr 一个参数的是获取,两个产生赋值。

13: jQuery中的detach() 和 remove() 方法的区别 ? ? ? ?---- 不太明白
答:都是用来移除 dom元素的。
detach():移除被选元素,包括所有文本和子节点。会保留所有绑定的事件、附加的数据.

remove():移除被选元素,包括所有文本和子节点。绑定的事件、附加的数据等都会被移除。

14:jQuery添加 移除 css类
答:addClass() 和 removeClass()

15: cdn 加载jQuery库优势 ? ---- 待定

答:加快速度,自动选择合适的缓存。

16: $().get() 和 $().ajax()方法之间的区别
答:get 只是具有获取数据的能力
? ? ajax() 可配置性强。

17:jq 方法链是什么
答:一个方法的返回结果调用另一个方法。

18:jq 事件处理返回false会怎么样
答:阻塞事件向上冒泡

19:document.getElemengbyId("myId") 还是 $("#myId")效率高
答:第一种,因为它直接调用JavaScript引擎。 ?

sql相关的面试

1. 什么是存储过程,为什么要使用存储过程。
答:类似于函数,将我们要执行的复杂问题进行一个封装处理。
这样写的优点:将复杂的sql进行统一的封装方便使用;
? ? ? ? ? ? ? 存储过程保存在数据库中;
? ? ? ? ? ? ? 存储过程是一个预编译的代码块,执行效率比较的高。
不足之处:每个数据库的存储过程语法几乎不一样,通用性差 不便于维护;
? ? ? ? ? ?业务逻辑放在数据库上,难以迭代。

2. 什么是三个范式
答:
第一范式:数据库表中的字段都是单一属性的,不可再分,
这个单一属性由基本类型构成包含 整型、日期、字符型、逻辑型。
第二范式:表中的字段必须完全依赖于全部主键而非部分主键,即主键唯一,
比如:表中的一条数据,id 为1 日期为20190216 姓名 ?silianbo 的数据中?
slianbo 这条数据就依赖 日期20190216存在。
第三范式:非主键外的所有字段必须互不依赖,这样的目的是消除传递依赖
比如:一个公司有 研发部 市场部 销售部,在设计公司人员表的时候?
人员基本信息是一个表 部门信息时一个表 两个之间通过部门id进行一个关联。

3. 什么是视图?视图的使用场景有哪些?
答:视图是一种基于数据库表的一种虚拟表;
视图的建立是已存在表的基础上的,视图表中没有真正的数据,真正的数据还是
存储在基表中的,代码中对视图的操作最终哦还是会转成操作基表,设计视图的目的
是查询数据进行一个封装 避免保留原表信息,但是不会提供查询效率。

4. drop、delete、truncate的使用场景
答:
drop 和 ?truncate 都属于ddl,;
delete 属于dml,需要提交可回滚。

drop 删除的是表内容和数据。
truncate 清空表内容。
delete 根据where条件进行删除。

不再需要一张表的时候使用 drop;
想删除部分数据的 使用 delete + where ;
保留表结构只是想清空表中的数据时使用 truncate。

5.索引是什么?有什么作用以及优缺点?
答:索引是一种快速查询表中的内容的机制,类似于书的目录,索引运用在表
中的某些字段上,但存储时,独立于表之外。
在主键上自动建立索引,不需要单独维护 由数据库进行管理。
使用场景:
表需要经常进行select操作;
表中的字段经常在where字句或者连接条件中出现。

不建议使用索引的场景:
经常进行insert update delete 操作
表中的数据很少
不常出现在 where字句或者连接条件中。

6. 索引的分类:
唯一索引:唯一索引不允许两行具有相同的索引值
主键索引:每个主键唯一 并且不能为空。
聚集索引:表中各行的物理顺序和键值的逻辑顺序相同,每个表只能有一个。
非聚集索引:

7. 事务:
答:一次进行的所有操作算一个事务,执行的结果要么同时成功,要么同时失败。
数据库事务正确执行的四个基本要素:
原子性、一致性、隔离性、持久性。
比如:银行之间的相互转账。
开启事务的方式 是关闭自动提交 setAutoCommit(false);

回滚使用 rollback();

8. 数据库的乐观锁和悲观锁是什么?
答:
悲观锁:
发生冲突时候屏蔽一切可能违反数据完整性的操作;
在查询完数据的时候就把事务锁起来,直到提交事务,实现方式 使用数据库的锁机制。
乐观锁:
假设不会发生冲突,只在提交操作时检查是否违反数据的完整性,实现方式 version版本或者时间戳。

9. sql约束有哪几种:
答:
not null:用于控制字段的内容一定不能为空
unique:控件字段内容不能重复,保证唯一性。
primary key:自动内容不允许重复
check:字段范围

10:varchar 和 char的区别
答:
char是一种固定长度的类型,varchar 是一种可变长度的类型。

11:sql优化
答:
查询避免使用 *?
明确查询的同一字段的多个条件使用 in 代替 or
关键字尽量全部大写,Oracle服务器总是首先会将小写字母转成大写后执行。
独立sql多使用commit;
清空表内容使用truncate非delete
有索引尽量使用索引
12 : rowid和rownum
答:rowid 是物理地址 ,是唯一不变的,rownum 是相对问题 ?会根据查询方式的不同进行变换

SELECT *
FROM (SELECT tmp.*, rownum AS row_num FROM (SELECT * FROM table_name ) tmp WHERE ROWNUM <= 20)
WHERE row_num > 10

Spring:

Spring MVC 运行流程:
1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求 进行真正的处理工作。
2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
3.DispatcherServlet请请求提交到目标Controller
4.Controller进行业务逻辑处理后,会返回一个ModelAndView
5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
6.视图对象负责渲染返回给客户端。

SpringMVC的工作原理
1.客户端提交请求到前端控制器DispatcherServlet来处理,它会负责调用系统的
其他模块来处理真正的请求。
2.前端控制器DispatcherServlet收到请求后,将根据请求的信息(URL、HTPP协议
、请求头、请求参数等)以及HandleMapping找到目标Controller
3.在这个地方Spring会通过HandleAdpter 进行封装
4.Handle处理完成后,会返回一个ModeAndView
5.modeandview的视图是逻辑视图,借助viewResolver完成逻辑视图到真实视图的解析工作。
6.通过进行数据的渲染就可以呈现给前台了。

Spring MVC 启动流程:
在 web.xml 文件中给SpringMVC的Servlet配置了load-on-startup,所以程序启动的时候会初始化 Spring MVC,在 HttpServletBean 中将配置的 contextConfigLocation属性设置到 Servlet 中,然后在FrameworkServlet 中创建了 WebApplicationContext,DispatcherServlet根据contextConfigLocation 配置的 classpath 下的 xml 文件初始化了Spring MVC 总的组件。

Spring 的单例实现原理:
Spring对Bean实现的创建采用单例注册表的方式进行实现的,而这个注册表的缓存是
ConcurrentHashMap对象。

Spring 框架中使用到了那些设计模式:
代理模式:AOP
单例模式:在spring配置文件定义bean。
模板方法:restTemplate、JmsTemplate、JpaTemplate。
工厂模式:BeanFactory用来创建对象的实例。

动态代理与cglib实现的区别
jdk动态代理只能对实现了接口的类生产代理,而不能针对类。
cglib是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法因为是继承
jdk代理是不需要依赖第三方的库
cglib必须依赖cglib的类库

顺便在此给大家推荐一个Java方面的交流学习群:714526711,里面会分享一些高级面试题,还有资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系,主要针对Java开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。在这个群里会有你需要的内容 朋友们请抓紧时间加入进来吧

原文地址:https://blog.51cto.com/14207296/2357361

时间: 2024-10-15 20:25:32

重点关注2019:多线程处理、高并发、网络安全(含答案)的相关文章

2019阿里巴巴面试题集锦(有答案哦),收藏!

来源商业新知网,原标题:[收藏]2019阿里巴巴面试题集锦(含答案) [导读] 本文是阿里巴巴 2019 面试题集锦(含答案),是阿里巴巴自身技术专家们结合多年的工作.面试经验总结提炼而成的面试真题.通过这些面试题,还可以间接地了解技术大牛们出题思路与考察要点. 想要入职大厂可谓是千军万马过独木桥. 要通过层层考验, 刷题 肯定是必不可少的. 为帮助开发者们提升面试技能.有机会入职阿里,云栖社区特别制作了这个专辑—— 阿里巴巴资深技术专家们结合多年的工作.面试经验总结提炼而成的面试真题 这一次整

阿里P7Java最全面试296题:阿里天猫、蚂蚁金服含答案文档解析

[阿里天猫.蚂蚁.钉钉面试专题题目加答案] 不会做别着急:文末有答案以及视频讲解,架构师资料 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁 3. nginx的请求转发算法,如何配置根据权重转发 4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap) 5. 线程的状态 5. 线程的阻塞的方式 6. sleep和wait的区别 7. hashmap的底层实现 8. 一万个人抢1

怎么理解分布式、高并发、多线程?(含面试题和答案解析)

看到分布式.高并发.多线程这三个词的时候,很多人是不是都认为分布式=高并发=多线程?当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼?确实,在一开始接触的时候,不少人都会分布式.高并发.多线程将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗?实际上,他们三个总是相伴而生,但侧重点又有不同. 接下来我就看看分布式.高并发.多线程这三者之间到底有什么区别? 什么是分布式? 分布式更

2019年必须掌握的29个微服务面试问题(含答案解析)

这29个微服务面试题基本涵盖了方方面,希望对你有所帮助! 一.什么是Spring Cloud? 在微服务中,SpringCloud是一个提供与外部系统集成的系统.它是一个敏捷的框架,可以短平快构建应用程序.与有限数量的数据处理相关联,它在微服务体系结构中起着非常重要的作用.以下为 Spring Cloud 的核心特性: 版本化/分布式配置. 服务注册和发现. 服务和服务之间的调用. 路由. 断路器和负载平衡. 分布式消息传递. 二.什么是Spring Boot? Spring boot是微服务面

2019年12道RabbitMQ高频面试题你都会了吗?(含答案解析)

RabbitMQ 面试题 1.什么是 rabbitmq 2.为什么要使用 rabbitmq 3.使用 rabbitmq 的场景 4.如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息? 5.如何避免消息重复投递或重复消费? 6.消息基于什么传输? 7.消息如何分发? 8.消息怎么路由? 9.如何确保消息不丢失? 10.使用 RabbitMQ 有什么好处? 11.RabbitMQ 的集群 12.mq 的缺点 1.什么是 rabbitmq 采用 AMQP 高级消息队列协议的一

高并发编程必备基础 -- 转载自 并发编程网

文章转载自 并发编程网  本文链接地址:高并发编程必备基础 一. 前言 借用Java并发编程实践中的话"编写正确的程序并不容易,而编写正常的并发程序就更难了",相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的,本文算是对多线程情况下同步策略的一个简单介绍. 二. 什么是线程安全问题 线程安全问题是指当多个线程同时读写一个状态变量,并且没有任何同步措施时候,导致脏数据或者其他不可预见的结果的问题.Java中首

阿里最全面试100题:阿里天猫、蚂蚁金服、阿里巴巴面试题含答案

[阿里天猫.蚂蚁.钉钉面试题目] 1.微信红包怎么实现. 2.海量数据分析. 3.测试职位问的线程安全和非线程安全. 4.HTTP2.0.thrift. 5.面试电话沟通可能先让自我介绍. 6.分布式事务一致性. 7.nio的底层实现. 8.jvm基础是必问的,jvm GC原理,JVM怎么回收内存. 9.Java是什么. 10.API接口与SDI接口的区别(API是提供给别人的接口). 11.dubbo如何一条链接并发多个调用.Dubbo的原理,序列化相关问题. 12.用过哪些中间件. 13.做

[转帖]架构师眼中的高并发架构

架构师眼中的高并发架构 http://www.itpub.net/2019/04/25/1705/ 数据和云 2019-04-25 14:42:34 本文共6557个字,预计阅读需要17分钟. 前言 高并发经常发生在有大活跃用户量和用户高聚集的业务场景中,如:秒杀活动.定时领取红包等. 为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案. 在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过

技术沙龙 | 从高并发架构到企业级区块链探索零售创新

伴随消费新理念的不断升级和技术创新发展,零售业逐渐被推到风口浪尖,对此京东曾表示,推动"无界零售"时代的到来理念,倡导实现成本.效率.体验的升级才是终极目标. 此概念一出,零售行业的侧重点开始由销售端向技术端倾斜,趁着一年一度618来临之际,京东云特别在上海举办了主题为"从高并发架构到企业级区块链,探索无界零售的数字化创新"的技术沙龙活动. 本次活动以京东云在零售业以及社交电商方面的核心技术以及成功解决方案为出发点,例如探求大促高并发流量数据库保障经验.社交电商的创