自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Python面试题整理

1.Python的GIL(什么东西,为什么有,在哪有,解决什么问题)2.Python字典的底层实现(哈希表,稀疏表,稀疏表的优化)3.Python线程和协程的区别4.python中is和==的区别5.python操作文件需要考虑哪些因素(打开方式,异常处理,要正常关闭,接收缓冲区的大小)6.多个进程都要读写一个文件,怎样避免脏读。7.python字符串拼接哪种方式最好(+=...

2020-02-22 16:39:13 281

原创 大数据面试题(二)

一、什么是传统的消息传递方法?传统的消息传递方法有两种:  排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。  发布--订阅:在这个模型中,消息被广播给所有的用户。 二、请说明kafka相对传统技术有什么优势?Kafka与传统的消息传递技术相比优势在于:快速:单一的kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作。可伸缩...

2018-10-09 22:25:35 1253

原创 Spark面试题(二)

一、spark streaming和storm有何区别?一个实时毫秒,一个准实时亚秒,不过storm的吞吐率比较低。 二、spark有哪些组件?Master:管理集群和节点,不参与计算。Worker:计算节点,进程本身不参与计算,和master汇报。Driver:运行程序的main方法,创建sparkcontext对象。Spark context:控制整个applica...

2018-09-13 22:49:43 6213 1

原创 大数据面试题(一)

一、.hdfs写文件的步骤答案:(1)client向NameNode申请上传…/xxx.txt文件(2)NN向client响应可以上传文件(3)Client向NameNode申请DataNode(4)NN向Client返回DN1,DN2,DN3(5)Client向DN1,DN2,DN3申请建立文件传输通道(6)DN3,DN2,DN1依次响应连接(7)Client向D...

2018-09-04 23:30:41 27588 4

原创 Spark面试题(一)

一、spark集群运算的模式Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,如果企业已经有 Yarn 或者 Mesos 环境,也是很方便部署的。standalone(集群模式):典型的Mat...

2018-09-03 22:30:15 4234

转载 Spark的Shuffle过程介绍

Shuffle WriterSpark丰富了任务类型,有些任务之间数据流转不需要通过Shuffle,但是有些任务之间还是需要通过Shuffle来传递数据,比如wide dependency的group by key。Spark中需要Shuffle输出的Map任务会为每个Reduce创建对应的bucket,Map产生的结果会根据设置的partitioner得到对应的bucketId,然后填充...

2018-08-14 15:26:26 467

转载 【hadoop】job提交全过程

一、作业提交过程之 YARN(1)作业提交第 0 步:client 调用 job.waitForCompletion 方法,向整个集群提交 MapReduce 作业。第 1 步:client 向 RM 申请一个作业 id。第 2 步:RM 给 client 返回该 job 资源的提交路径和作业 id。第 3 步:client 提交 jar 包、切片信息和配置文件到指定的资源提交路径。第 4 步:c...

2018-06-08 22:41:46 8880 2

转载 【hadoop】yarn基本架构和工作机制

一、yarn基本架构二、yarn工作机制(0)Mr 程序提交到客户端所在的节点。(1)Yarnrunner 向 Resourcemanager 申请一个 Application。(2)rm 将该应用程序的资源路径返回给 yarnrunner。(3)该程序将运行所需资源提交到 HDFS 上。(4)程序资源提交完毕后,申请运行 mrAppMaster。(5)RM 将用户的请求初始化成一个 task。(...

2018-06-08 22:32:21 317

转载 【hadoop】MapReduce工作流程和MapTask、Shuffle、ReduceTask工作机制

MapReduce整个工作流程:一、MapTask阶段(1)Read 阶段:Map Task 通过用户编写的 RecordReader,从输入 InputSplit 中解析出一个个 key/value。(2)Map 阶段:该节点主要是将解析出的 key/value 交给用户编写 map()函数处理,并产生一系列新的 key/value。(3)Collect 收集阶段:在用户编写 map()函数中,...

2018-06-08 22:28:43 18529 4

原创 面试题集:redis

1.redis常用的五种数据类型1.String(字符串)String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字。它是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。2.Hash(哈希)Redis hash 是一个键值对集合,对应Value内部实际就是一个HashMap,Hash特别适合用于存储对象。3.List(列表)...

2018-05-22 22:06:54 214

原创 面试题集:网络,协议等

1.说说http,https协议HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。区别:1、https协...

2018-05-13 00:16:00 1399

原创 面试题集:JVM

1.JVM的内存结构根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、Java虚拟机栈:线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。2、堆:线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例。3、方法区:线程...

2018-05-13 00:09:00 253

原创 面试题集:数据库

1.简单说一下数据库的三范式?        第一范式:数据库表的每一个字段都是不可分割的        第二范式:数据库表中的非主属性只依赖于主键        第三范式:不存在非主属性对关键字的传递函数依赖关系...

2018-05-10 22:59:05 220

原创 面试题集:泛型

1.Java中的泛型是什么 ? 使用泛型的好处是什么?        泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。好处:        1、类型安全,提供编译期间的类型检测       2、前后兼容        3、泛化代码,代码可以更多的重复利用        4、性能较高,用GJ(泛型JAVA)编写的代码可以为java编译器和虚拟机...

2018-05-10 22:55:35 307

原创 面试题集:并发

1.什么是线程?        线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。2.线程和进程有什么区别?        线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不...

2018-05-10 22:52:55 215

原创 面试题集:Mybatis

1.MyBatis中使用#和$书写占位符有什么区别?     #将传入的数据都当成一个字符串,会对传入的数据自动加上引号;    $将传入的数据直接显示生成在SQL中。    注意:使用$占位符可能会导致SQL注射攻击,能用#的地方就不要使用$,写order by子句的时候应该用$而不是#。2.解释一下MyBatis中命名空间(namespace)的作用。         在大型项目中,可能存在大...

2018-05-10 22:43:21 191

原创 面试题集:spring

1.谈谈你对Spring的理解。        1.Spring是实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。        ...

2018-05-10 22:39:31 156

原创 面试题集:hibernate

1.谈谈你对Hibernate的理解。        1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就表现在内存中的对象状态发生了变化。        2.为了在关机和内存空间不够的状况下,保持程序的运...

2018-05-10 22:35:42 158

原创 面试题集:javaWeb

1.说一说Servlet的生命周期?        Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。        Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对...

2018-05-10 22:32:46 319

原创 面试题集:集合框架

1.ArrayList和Vector的区别        这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是与HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复...

2018-05-09 22:58:07 192

原创 面试题集:IO流,NIO

1.问:简单说说你平时使用的 Java IO 流中涉及到了哪些设计策略和设计模式?答:首先 Java 的 IO 库提供了一种链接(Chaining)机制,可以将一个流处理器跟另一个流处理器首尾相接,以其中之一的输出作为另一个的输入而形成一个流管道链接,譬如常见的 new DataInputStream(new FileInputStream(file)) 就是把 FileInputStream 流...

2018-05-09 22:49:32 5146 2

原创 面试题集:java基本(se等)

1.抽象类和接口的区别?含有abstract修饰符的class即为抽象类,abstract类不能创建实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果自雷没有实现抽象父类中的所有抽象方法,那么...

2018-05-09 22:37:50 270

原创 多线程中yield()和join()方法的对比

1.yield():调用此方法的线程,释放当前cpu的执行权class SubTread extends Thread{ @Override public void run() { for(int i=1;i<=100;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } } }publ...

2018-04-30 12:38:07 1167

原创 根据一个例子,走源码探寻AOP原理

AOP:【动态代理】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式;使用一个小例子通过打断点的方式探寻AOP源码:1、导入aop模块;Spring AOP:(spring-aspects)     通过maven创建项目,在pom.xml中加入:<!-- https://mvnrepository.com/artifact/org.springframework...

2018-04-17 15:33:03 521

原创 SSM框架搭建秒杀项目

SSM框架搭建秒杀项目此项目为慕课网上yijun zhang老师的课程。项目展示:  (1)秒杀列表页:  (2)秒杀详情页(输入手机号,验证成功,才可执行秒杀)  (3)秒杀详情页(执行秒杀)  (4)秒杀详情页(秒杀成功)(5)秒杀详情页(重复秒杀)(6)秒杀详情页(秒杀倒计时)(7)秒杀详情页(秒杀结束)课程分为四个部分:Java高并发秒杀API之业务分析与DAO层点击打开链接Java高并发...

2018-03-18 14:01:22 1363

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除