文档库 最新最全的文档下载
当前位置:文档库 › redis面试题及答案(上)

redis面试题及答案(上)

redis面试题及答案(上)
redis面试题及答案(上)

1、什么是Redis?简述它的优缺点?

Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。

因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。

Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag系统等等。

另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

2、Redis与memcached相比有哪些优势?

1.memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型

2.redis的速度比memcached快很多redis的速度比memcached快很多

3.redis可以持久化其数据redis可以持久化其数据

3、Redis支持哪几种数据类型?

String、List、Set、Sorted Set、hashes

4、Redis主要消耗什么物理资源?

内存。

5、Redis有哪几种数据淘汰策略?

1.noeviction:返回错误当内存限制达到,并且客户端尝试执行会让更多内存被使用的命令。

2.allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。

3.volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。

4.allkeys-random: 回收随机的键使得新添加的数据有空间存放。

5.volatile-random: 回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。

6.volatile-ttl: 回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。

6、Redis官方为什么不提供Windows版本?

因为目前Linux版本已经相当稳定,而且用户量很大,无需开发windows版本,反而会带来兼容性等问题。

7、一个字符串类型的值能存储最大容量是多少?

512M

8、为什么Redis需要把所有数据放到内存中?

Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。

所以redis具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。

在内存越来越便宜的今天,redis将会越来越受欢迎,如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。

9、Redis集群方案应该怎么做?都有哪些方案?

1.codis

2.目前用的最多的集群方案,基本和twemproxy一致的效果,但它支持在节点数量改变情况下,旧节点数据可恢复到新hash节点。

redis cluster3.0自带的集群,特点在于他的分布式算法不是一致性hash,而是hash槽的概念,以及自身支持节点设置从节点。具体看官方文档介绍。

3.在业务代码层实现,起几个毫无关联的redis实例,在代码层,对key进行hash计算,然后去对应的redis实例操作数据。这种方式对hash层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的自动脚本恢复,实例的监控,等等。

欢迎工作一到五年的Java工程师朋友们加入Java进阶架构学习交流:952124565,群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

10、Redis集群方案什么情况下会导致整个集群不可用?

有A,B,C三个节点的集群,在没有复制模型的情况下,如果节点B失败了,那么整个集群就会以为缺少5501-11000这个范围的槽而不可用。

11、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。

其实面试除了考察Redis,不少公司都很重视高并发高可用的技术,特别是一线互联网公司,分布式、JVM、spring源码分析、微服务等知识点已是面试的必考题。我自己整理收集了一套系统的架构技术体系,针对当前互联网公司的技术需求以及结合主流技术,这些东西可能你们平时在工作中接触过,但是缺少的全面系统的学习,加入后端开发群:943918498,或是关注微信公众号:Java资讯库,回复“架构”,免费领取架构资料。

12、Redis有哪些适合的场景?

(1)会话缓存(Session Cache)

最常用的一种使用Redis的情景是会话缓存(sessioncache),用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗?

幸运的是,随着Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。

(2)全页缓存(FPC)

除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。

再次以Magento为例,Magento提供一个插件来使用Redis作为全页缓存后端。

此外,对WordPress的用户来说,Pantheon有一个非常好的插件wp-redis,这个插件能帮助你以最快速度加载你曾浏览过的页面。

(3)队列

Reids在内存存储引擎领域的一大优点是提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对list 的push/pop 操作。

如果你快速的在Google中搜索“Redis queues”,你马上就能找到大量的开源项目,这些项目的目的就是利用Redis创建非常好的后端工具,以满足各种队列需求。例如,Celery有一个后台就是使用Redis作为broker,你可以从这里去查看。

(4)排行榜/计数器

Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(SortedSet)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。

所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:

当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:

ZRANGE user_scores 0 10 WITHSCORES

Agora Games就是一个很好的例子,用Ruby实现的,它的排行榜就是使用Redis来存储数据的,你可以在这里看到。

(5)发布/订阅

最后(但肯定不是最不重要的)是Redis的发布/订阅功能。发布/订阅的使用场景确实非常多。我已看见人们在社交网络连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用Redis的发布/订阅功能来建立聊天系统!

13、Redis支持的Java客户端都有哪些?官方推荐用哪个?

Redisson、Jedis、lettuce等等,官方推荐使用Redisson。

14、Redis和Redisson有什么关系?

Redisson是一个高级的分布式协调Redis客服端,能帮助用户在分布式环境中轻松实现一些Java的对象(Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map, ConcurrentMap, List, ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, ReadWriteLock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog)。

15、Jedis与Redisson对比有什么优缺点?

Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持;

Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。

16、说说Redis哈希槽的概念?

Redis集群没有使用一致性hash,而是引入了哈希槽的概念,Redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。

17、Redis集群的主从复制模型是怎样的?

为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个节点都会有N-1个复制品.

18、Redis集群会有写操作丢失吗?为什么?

Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操作。

19、Redis集群之间是如何复制的?

异步复制

20、Redis集群最大节点个数是多少?

16384个

21、Redis集群如何选择数据库?

Redis集群目前无法做数据库选择,默认在0数据库。

22、Redis中的管道有什么用?

一次请求/响应服务器能实现处理新的请求即使旧的请求还未被响应,这样就可以将多个命令发送到服务器,而不用等待回复,最后在一个步骤中读取该答复。

这就是管道(pipelining),是一种几十年来广泛使用的技术。例如许多POP3协议已经实现支持这个功能,大大加快了从服务器下载新邮件的过程。

23、怎么理解Redis事务?

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

24、Redis事务相关的命令有哪几个?

MULTI、EXEC、DISCARD、WATCH

25、Redis key的过期时间和永久有效分别怎么设置?

EXPIRE和PERSIST命令

26、Redis如何做内存优化?

尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。

比如你的web系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的key,而是应该把这个用户的所有信息存储到一张散列表里面。

27、Redis回收进程如何工作的?

一个客户端运行了新的命令,添加了新的数据。

Redi检查内存使用情况,如果大于maxmemory的限制, 则根据设定好的策略进行回收。

一个新的命令被执行,等等。

所以我们不断地穿越内存限制的边界,通过不断达到边界然后不断地回收回到边界以下。

如果一个命令的结果导致大量内存被使用(例如很大的集合的交集保存到一个新的键),不用多久内存限制就会被这个内存使用量超越。

28.加锁机制

咱们来看上面那张图,现在某个客户端要加锁。如果该客户端面对的是一个redis cluster集群,他首先会根据hash节点选择一台机器。这里注意,仅仅只是选择一台机器!这点很关键!紧接着,就会发送一段lua脚本到redis上,那段lua脚本如下所示:

为啥要用lua脚本呢?因为一大坨复杂的业务逻辑,可以通过封装在lua脚本中发送给redis,保证这段复杂业务逻辑执行的原子性。

那么,这段lua脚本是什么意思呢?这里KEYS[1]代表的是你加锁的那个key,比如说:RLoc k lock = redisson.getLock("myLock");这里你自己设置了加锁的那个锁key就是“myLock”。

ARGV[1]代表的就是锁key的默认生存时间,默认30秒。ARGV[2]代表的是加锁的客户端的I D,类似于下面这样:8743c9c0-0795-4907-87fd-6c719a6b4586:1

给大家解释一下,第一段if判断语句,就是用“exists myLock”命令判断一下,如果你要加锁的那个锁key不存在的话,你就进行加锁。如何加锁呢?很简单,用下面的命令:hset myLoc k

8743c9c0-0795-4907-87fd-6c719a6b4586:1 1,通过这个命令设置一个hash数据结构,这行命令执行后,会出现一个类似下面的数据结构:

上述就代表“8743c9c0-0795-4907-87fd-6c719a6b4586:1”这个客户端对“myLock”这个锁key完成了加锁。接着会执行“pexpire myLock 30000”命令,设置myLock这个锁key的生存时间是30秒。好了,到此为止,ok,加锁完成了。

29.锁互斥机制

那么在这个时候,如果客户端2来尝试加锁,执行了同样的一段lua脚本,会咋样呢?很简单,第一个if判断会执行“exists myLock”,发现myLock这个锁key已经存在了。接着第二个if判断,判断一下,myLock锁key的hash数据结构中,是否包含客户端2的ID,但是明显不是的,因为那里包含的是客户端1的ID。

所以,客户端2会获取到pttl myLock返回的一个数字,这个数字代表了myLock这个锁key 的剩余生存时间。比如还剩15000毫秒的生存时间。此时客户端2会进入一个while循环,不停的尝试加锁。

30.watch dog自动延期机制

客户端1加锁的锁key默认生存时间才30秒,如果超过了30秒,客户端1还想一直持有这把锁,怎么办呢?

简单!只要客户端1一旦加锁成功,就会启动一个watch dog看门狗,他是一个后台线程,会每隔10秒检查一下,如果客户端1还持有锁key,那么就会不断的延长锁key的生存时间。

31.可重入加锁机制

那如果客户端1都已经持有了这把锁了,结果可重入的加锁会怎么样呢?比如下面这种代码:

这时我们来分析一下上面那段lua脚本。第一个if判断肯定不成立,“exists myLock”会显示锁key已经存在了。第二个if判断会成立,因为myLock的hash数据结构中包含的那个ID,就是客户端1的那个ID,也就是“8743c9c0-0795-4907-87fd-6c719a6b4586:1”

此时就会执行可重入加锁的逻辑,他会用:

incrby myLock 8743c9c0-0795-4907-87fd-6c71a6b4586:1 1 ,通过这个命令,对客户端1的加锁次数,累加1。此时myLock数据结构变为下面这样:

大家看到了吧,那个myLock的hash数据结构中的那个客户端ID,就对应着加锁的次数

32.释放锁机制

如果执行lock.unlock(),就可以释放分布式锁,此时的业务逻辑也是非常简单的。其实说白了,就是每次都对myLock数据结构中的那个加锁次数减1。如果发现加锁次数是0了,说明这个客户端已经不再持有锁了,此时就会用:“del myLock”命令,从redis里删除这个key。然后呢,另外的客户端2就可以尝试完成加锁了。这就是所谓的分布式锁的开源Redisson框架的实现机制。

一般我们在生产系统中,可以用Redisson框架提供的这个类库来基于redis进行分布式锁的加锁与释放锁。

33.上述Redis分布式锁的缺点

其实上面那种方案最大的问题,就是如果你对某个redis master实例,写入了myLock这种锁key的value,此时会异步复制给对应的master slave实例。但是这个过程中一旦发生redis m aster宕机,主备切换,redis slave变为了redis master。

接着就会导致,客户端2来尝试加锁的时候,在新的redis master上完成了加锁,而客户端1也以为自己成功加了锁。此时就会导致多个客户端对一个分布式锁完成了加锁。这时系统在业务语义上一定会出现问题,导致各种脏数据的产生。

所以这个就是redis cluster,或者是redis master-slave架构的主从异步复制导致的redis分布式锁的最大缺陷:在redis master实例宕机的时候,可能导致多个客户端同时完成加锁。

34.使用过Redis分布式锁么,它是怎么实现的?

先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放。

如果在setnx之后执行expire之前进程意外crash或者要重启维护了,那会怎么样?

set指令有非常复杂的参数,这个应该是可以同时把setnx和expire合成一条指令来用的!

35.使用过Redis做异步队列么,你是怎么用的?有什么缺点?

一般使用list结构作为队列,rpush生产消息,lpop消费消息。当lpop没有消息的时候,要适当sleep 一会再重试。

缺点:

在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如rabbitmq等。

能不能生产一次消费多次呢?

使用pub/sub主题订阅者模式,可以实现1:N的消息队列。

36.什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?

缓存穿透

一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。

如何避免?

1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。

2:对一定不存在的key进行过滤。可以把所有的可能存在的key放到一个大的Bitmap中,查询时通过该bitmap过滤。

缓存雪崩

当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,会给后端系统带来很大压力。导致系统崩溃。

如何避免?

1:在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个key只允许一个线程查询数据和写缓存,其他线程等待。

2:做二级缓存,A1为原始缓存,A2为拷贝缓存,A1失效时,可以访问A2,A1缓存失效时间设置为短期,A2设置为长期

3:不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀

最全大数据程序员面试题库

最全大数据程序员面试题库 大数据开发面试题库,千锋讲师总结了很多,经过总结学生在面试中遇到的问题,还有讲师多年的经验精心编制。就是要宠千锋学生到底,不仅教授你专业的大数据技术,更要让你从容的面对面试官,在众多的竞争者中脱颖而出。 好了,废话不多说,直接上题库。。。。。。 1.scala 语言有什么特点,什么是函数式编程?有什么优点 2.scala 伴生对象有什么作用 3.scala 并发编程是怎么弄得,你对actor 模型怎么理解有何优点 4.scala case class 有什么重要 5.scala akka 框架有没有接触过,有什么重要 6.scala 为什么设计var 和val 7.SDD,DAG,Stage怎么理解? 8.宽依赖窄依赖怎么理解? 9.Stage是基于什么原理分割task的? 10.血统的概念

11.任务的概念 12.容错方法 13.粗粒度和细粒度 14.Spark优越性 15.Spark为什么快 16.Transformation和action是什么?区别?举几个常用方法 17.SDD怎么理解 18.spark 作业提交流程是怎么样的,client和cluster 有什么区别,各有什么作用 19.spark on yarn 作业执行流程,yarn-client 和yarn cluster 有什么区别 20.spark streamning 工作流程是怎么样的,和storm 比有什么区别 21.spark sql 你使用过没有,在哪个项目里面使用的 22.spark 机器学习和spark 图计算接触过没,,能举例说明你用它做过什么吗? 23.spark sdd 是怎么容错的,基本原理是什么? 大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇。随着互联网时代的迅猛发展,大数据全面融入了现代社会的生产、生活中,并将大大改变全球的经济。大数据,它其实不仅仅是一种技术,更是战略资源。 千锋不仅仅注重学生的专业技能培训,还注重学生的素质培养,开班第一天起,每节课的课前十分钟分享,锻炼学员的沟通表达能力,在工作中减少沟通成

2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

[转载]华为技术支持笔试题

[转载]华为技术支持笔试题 原文地址:华为技术支持笔试题作者:卖女孩的小雪人【第一部分公司篇】 1、华为公司的全称为() A、深圳市华为技术有限公司 B、华为技术有限公司 C、华为公司D、我司(答案:B,答A、C者酌情给分,答D者立即辞退,我司三令五申禁止使用该华为内部土语,屡禁不止,老员工不可教也,只好从新员工抓起,格杀勿论)2、华为公司的企业性质是() A、民营 B、私营 C、国营 D、上市公司(答案:A,本题主要让考生了解公司的性质) 3、华为公司的商标象征() A、红太阳 B、菊花 C、扇贝(答案:B,答A者酌情给分,答C者立即辞退,天天就想着吃) 4、从下列选项中选择出公司的常务副总裁() A、任正非 B、孙亚芳 C、李一男 D、郑宝用 E、张燕燕(答案:BD,答C者立即辞退,让他到李一男的公司去报到吧) 5、华为公司的年终奖一般是在每年的什么时候发() A、元旦后 B、春节前 C、7月下旬或8月上旬 D、劳动节前E、国庆节前(答案:C,切记,因为是年中奖,而不是年终奖) 6、华为公司的配给你的股票是() A、发的 B、用自己的奖金去买(答案:B) 7、老板常说的土八路,是指() A、老板自己的革命年代的光辉历史 B、本地化的用服兄弟C、季度考核为D的兄弟(答案:B)【第二部分部门篇】 1、你所在的一级部门为() A、技术支援部 B、国际技术支援部 C、国际技术支援部国内分部D、用服(答案:B,答A、C者酌情给分,答D者作不合格处理,为了提高技术支援部形象,公司早就取消用服这个字眼,而且于xx年春节后悄悄地将技术支援部

前加“国际”二字) 2、你所在的二级部门为() A、传输产品技术支援管理部 B、传输工程部 C、传输用服工程中心D、光网络产品技术支援管理部(答案:A,首先得把自己的部门搞清楚,答D者,有远见,有潜力,可以酌情给分,很可能在xx年未就改成这个名字,因为市场中研已经改了,就差技术支援部了) 3、传输的商标为()A、SBS B、SDH C、OptiX D、Metro (答案:C,答A者酌情给分,最起码还知道老商标) 4、技术支援部与国际技术支援部的关系()A、国际技术支援部是技术支援部下面的一个部门,负责海外 B、技术支援部是国际技术支援部下面的一个部门,负责国内 C、技术支援部是国际技术支援部的前身 D、国际技术支援部是技术支援部的前身(答案:C)【第三部分业务篇】 1、SBS是() A、传输产品的老商标 B、同步骨干系统 C、傻不傻的拼音缩写D、帅不帅的拼音缩写(答案:AB,答CD者立即辞退) 2、SDH是() A、传输产品商标 B、同步数字序列 C、傻得很的拼音缩写D、傻得好的拼音缩写(答案:B,答CD者立即辞退) 3、由于你是新员工,没有公配手机时,当你在现场遇到紧急事故时,你会()向公司求助 A、打用户机房内的电话 B、借用户手机 C、拔110 D、拔200或300E、立即打车回办事处(答案:D,答CE者立即辞退,按照公司规定,不能随便使用用户的电话,以提高公司形象) 4、在开局时,用户问你在华为干几年了,你会回答() A、我是新员工 B、1年多了 C、2年多了 D、3年多了(答案:B,答A者按不合格处理,按照公司规定,不能说自己是新员工,几千万的设备,怎能让一个新员工用来练兵,

阿里、百度、搜狐、优土等互联网公司面试经验总结

阿里、百度、搜狐、优土等互联网公司面试经验总结 这个跳槽季大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面经, 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己,做到有的放矢。 一、面试遇到的问题 百度最近真是炙手可热,贴吧事件刚结束,医疗竞价排名又闹得沸沸扬扬,一些论坛上连带程序员都开始招黑了,友谊的小船可是说翻就翻。 说回面试,百度面了两次,分别是百度糯米和金融事业部,百度目前只有这两个部门的招聘岗位和我比较匹配。 面试都在西二旗的百度新总部,园区还在施工,离地铁也比较远,需要打车过去。 面试官自带电脑,整个面试过程都在记录,首先详细询问了最近一份工作项目的架构和工作内容, 面试主要围绕工作中用到的组件和中间件技术来扩展,考察掌握程度。 MySQL InnoDB存储的文件结构 索引树是如何维护的? 数据库自增主键可能的问题 Redis的主键争用问题如何解决 了解Redis事务的CAS操作吗 分析线程池的实现原理和线程的调度过程 动态代理的几种方式 spring AOP与IOC的实现 为什么CGlib方式可以对接口实现代理? RMI与代理模式 Dubbo的底层实现原理和机制, 描述一个服务从发布到被消费的详细过程 算法方面考察了一个简单的数组就地去重问题,用丢弃数组尾部元素的方式实现了。百度金融的面试安排在了周六,最近应该在各种扩张,各个招聘网站随处可见招聘启事。

一面面试官很赞,态度认真,有些问题没有思路会给你提示,交流的不错,二面被告 知缺少金融支付背景, 不过作为一名工作不到两年的新人,我觉得被Pass主要原因应该是工作经验比较少,教育背景也不太亮眼。 面试中的问题: 分布式系统怎么做服务治理 接口的幂等性的概念 Maven出现版本冲突如何解决 JVM垃圾回收机制,何时触发MinorGC等操作 新生代和老生代的内存回收策略 Eden和Survivor的比例分配等 Synchronized和Lock的区别 两次面试,感觉百度的流程比较严格,面试官挺不错的,简单可信赖,虽然工作中一 般都用谷歌, 想起一个段子,哈哈。 有次面百度,我提到了一个比赛,面试官很感兴趣,想搜一下, 于是先用百度搜了一下关键字,首屏没有找到,面试官面不改色,熟练的打开了谷歌 输入关键字,发现第一个就是官方网站。 2.阿里巴巴 阿里的面试安排的很快,这次止步二面,两轮面试都是电面。听朋友说阿里五轮面试,四轮技术一轮HR,技术面试是部门的几个同事交叉面试,也有了了解。 一面总体上还是围绕项目架构、Java基础、JVM、并发编程、数据库操作、中间件技 术和Dubbo服务治理框架等展开, 可能因为是云安全部门,有一半时间在考察JVM,还提问了一些编译优化的知识, 一面结束后很快安排了二面,相对一面,二面的问题更深入,问题比较刨根问底,更 加注重对一些技术细节的理解和把握。 比如数据库操作,面试官会详细的问你数据库插入和删除一条数据的过程在底层是如 何执行的,项目里配置了读写分离,也会比较深入的就实现方法和底层逻辑展开讨论。一些值得记录的问题: JVM内存分代,

面试十大问题雷区

―So, do you have any questions for me?‖ This common refrain toward the close of a job interview can make even the best of us stammer when the tables are turned. But with the national unemployment rate over 8%, sharp interview skills are more important than ever. ―那么,你有什么想问的吗?‖这个面试结束前最常见的问题能让即使原本处于上风的面试者也顿时变得结结巴巴。在失业率超过8%的当前趋势下,面试技巧的掌握比以往任何时候都具有意义。 Most employers agree that, ―No, I have no questions,‖ is the worst possible response. ―Th e most frustrating thing for a recruiter is when you don‘t have any questions at all,‖ says recruiter Abby Kohut of https://www.wendangku.net/doc/fe8253519.html,. 很多招聘人员都同意―不了,我没什么想问的‖这样的回答是他们认为最糟糕的回复。―对于公司的招聘人员来说,没什么比应聘者毫无疑问更让人沮丧的事情了。‖Absolutely网站的招聘者,Abby Kohut说道。 We asked professional recruiters to brief us on the top ten most common interview questions to scratch off our lists immediately. 我们向专业招聘人员要来了―10个最糟糕的面试提问‖,这些问题应该立马从我们的脑子里删除。 Questions You Should Never Ask in a Job Interview 面试时你永远不要问的那些问题: 1. Anything related to salary or benefits 1.关于薪水和福利的任何事,都不要问 ―Company benefits [and salary negotiations] don‘t come into play until an offer has been extended,‖ says Kohut. The same prin ciple applies to sick time and vacation days. It‘s best to avoid any question that sounds like yo u assume you already have the position–unless, of course, your interviewer brings it up first. ―除非已正式雇佣,否则公司的薪水、福利以及关于薪水的谈判永远都不会展现给应聘者,‖Kohut说道。同样,病假、假期等相关的问题也不能问。除非对方已经暗示你将得到这份工作,否则,不要提出任何以上提到的问题,这会让人觉得你已有胜券在握的感觉。 2. Questions that start with “why?” 2.不要提出任何以“为什么”开头的问题 Why? It‘s a matter of psychology. These kinds of questions put people on the defensive, says Kohut. She advises repositioning a question such as, ―Why did the company lay off people last year?‖ to a less confrontational, ―I read about the layoffs you had. What‘s your opinion on how the company is positioned for the future?‖ 为什么呢?因为这是个心理学问题。以―为什么‖开头的问题会让人变得具有防御意识,Kohut解释道。她建议可以换个方式问问题,比如,把―为什么贵公司去年要裁员?‖的问题巧妙转变成:―我听说去年贵公司裁员了一部分人,请问,您对于公司未来的定位有什么看法?‖ 3. “Who is your competition?” 3.“我的竞争者都有些谁?” This is a great example of a question that could either make you sound thoughtful … or totally backfire and reveal that you d id zero research about the company prior to the interview, says Jacqui Barrett-Poindexter of https://www.wendangku.net/doc/fe8253519.html,. Before asking any question, determine whether it‘s something you could have figured out yourself through a Google search. If it is, a) don‘t ask it and b) do that Google search before your interview! 这个问题是把双刃剑,它也许会让你显得考虑周全…也可能带来出其不意的反效果,让用人单位觉得你根本没有事先做好对公司的研究、也丝毫不重视这次面试——来自CareerTrend网站的Jacqui Barrett-Poindexter说道。在问出任何一个问题前,请先自问:这个问题我能不能自己用google找到答案?如果能,那么,请1)千万别问这个问题2)面试前先用google搜一搜! 4. “How often do reviews occur?” 4.“公司多久对员工进行一次评估?”

Redis面试专题及答案

redis和memcached什么区别?为什么高并发下有时单线程的redis比多线程的memcached效率要高? 区别: 1.mc可缓存图片和视频。rd支持除k/v更多的数据结构; 2.rd可以使用虚拟内存,rd可持久化和aof灾难恢复,rd通过主从支持数据备份; 3.rd可以做消息队列。 原因:mc多线程模型引入了缓存一致性和锁,加锁带来了性能损耗。 redis主从复制如何实现的?redis的集群模式如何实现?redis的key是如何寻址的? 主从复制实现:主节点将自己内存中的数据做一份快照,将快照发给从节点,从节点将数据恢复到内存中。之后再每次增加新数据的时候,主节点以类似于mysql的二进制日志方式将语句发送给从节点,从节点拿到主节点发送过来的语句进行重放。 分片方式: -客户端分片 -基于代理的分片 ●Twemproxy ●codis -路由查询分片 ●Redis-cluster(本身提供了自动将数据分散到Redis Cluster不同节点的能力,整个数据集合的某个数据子集存储在哪个节点对于用户来说是透明的) redis-cluster分片原理:Cluster中有一个16384长度的槽(虚拟槽),编号分别为0-16383。每个Master节点都会负责一部分的槽,当有某个key被映射到某个Master负责的槽,那么这个Master负责为这个key提供服务,至于哪个Master节点负责哪个槽,可以由用户指定,也可以在初始化的时候自动生成,只有Master才拥有槽的所有权。Master节点维护着一个16384/8字节的位序列,Master节点用bit来标识对于某个槽自己是否拥有。比如对于编号为1的槽,Master只要判断序列的第二位(索引从0开始)是不是为1即可。这种结构很容易添加或者删除节点。比如如果我想新添加个节点D, 我需要从节点A、B、C中得部分槽到D上。 使用redis如何设计分布式锁?说一下实现思路?使用zk可以吗?如何实现?这两种有什么区别? redis: 1.线程A setnx(上锁的对象,超时时的时间戳t1),如果返回true,获得锁。 2.线程B 用get获取t1,与当前时间戳比较,判断是是否超时,没超时false,若超时执行第3步; 3.计算新的超时时间t2,使用getset命令返回t3(该值可能其他线程已经修改过),如果 t1==t3,获得锁,如果t1!=t3说明锁被其他线程获取了。 4.获取锁后,处理完业务逻辑,再去判断锁是否超时,如果没超时删除锁,如果已超时,不用处理(防止删除其他线程的锁)。 zk: 1.客户端对某个方法加锁时,在zk上的与该方法对应的指定节点的目录下,生成一个唯一的瞬时有序节点node1; 2.客户端获取该路径下所有已经创建的子节点,如果发现自己创建的node1的序号是最小的,就认为这个客户端获得了锁。 3.如果发现node1不是最小的,则监听比自己创建节点序号小的最大的节点,进入等待。

技术支持面试题集锦!!!

技术支持面试题集锦!!! 2011-08-01 21:03 技术支持面试题集锦!!! 1、杀毒软件:金山,瑞星,卡巴,赛门铁克 2、常见的internet接入方式:无线接入、异步拨号、ISDN 3、VPN特点:利用现有的公共ip网络,实现专线接入,采用隧道和加密技术,隐藏内部网络细节,成本低 4、硬件种类:IDE、SATA、SCSI 5、windows常见的磁盘分区方式:一主+一扩+扩中N个逻辑分区、2主+扩,逻辑分区 6、网络命令及用途:ping 网络连通性、tracert 网络节点数、telnet 远程连接、nslookup 域名解析 ipconfig 网络链接的详细信息、regedit 注册表、ftp 登陆到ftp 服务器 7、如何将FAT32分区转为NTFS分区:开始-运行-cmd 在命令提示符下输入: convert X:/FS:NTFS(其中X 是盘符) 8、局域网无法上网故障诊断方法: 1:网络连接 2:接着检查“本地连接”的状态。如果本地连接的图标是两个小电脑闪亮,提示“已连接上”,这代表从交换机HUB到电脑的 线路是正常的,网卡基本能正常工作,不能上网是由于操作系统设置不当或软件限制等原因引起的。用Ping命令Ping远程主 机,看能否Ping通,如果能Ping通则说明网络连接正常,接着检查电脑中的防火墙设置、代理服务器设置等。 3:如果Ping不通,则可能是网络协议配置问题。检查电脑IP地址、网关、DNS等配置。 4:如果“网络连接”窗口中的本地连接图标是灰色,说明本地连接(网卡)被禁用了,这时只须双击本地连接图标重新启用即 可。 5:如果“网络连接”窗口中本地连接图标提示“本地电缆被拔出”,则表明交换机或HUB到用户网卡的网线接头有一端松动了 或网线有问题,接着检查网线是否接触良好,如果接触良好接着检查网线。 9、能上QQ但不能上网问题精解: 一、感染了病毒所致 二、与设置代理服务器有关 三、DNS服务器解释出错 四、系统文件丢失导致IE不能正常启动 五、IE损坏

腾讯首席工程师测试面试题库

腾讯首席工程师IT大数据技术测试题Spark学习------CentOS环境spark安装[root@spark-master ~]# source /etc/profile 二、hadoop分布式安装与配置 1.安装与配置 把下载的安装包拷贝到服务器上,并解压到安装目录,通常应该对解压出来的文件夹重命名的,便于后面配置,我这里就偷懒直接用解压后的文件名。 然后切换到conf目录下看到有一些模板文件,我们把其中带 spark-env.sh.template 、spark-defaults.conf.template和slaves.template的文件进行复制并重命名(主要是把后面的template后缀去掉),然后修改里面的内容。 #解压安装包到安装目录 [root@spark-master ~]# tar -xvf /opt/spark/spark-2.3.2-bin-hadoop2.7.tgz -C /opt/spark/ [root@spark-master ~]# cd /opt/spark/spark-2.3.2-bin-hadoop2.7/ [root@spark-master spark-2.3.2-bin-hadoop2.7]# cd conf #拷贝slaves和spark-env.sh文件 [root@spark-master conf]# cp slaves.template slaves [root@spark-master conf]# cp spark-env.sh.template spark-env.sh [root@spark-master conf]# vim slaves #修改slaves配置文件如下 spark-slave1 spark-slave2 [root@spark-master conf]# vim spark-env.sh #修改spark-env.sh配置文件如下 export JAVA_HOME=/usr/java/jdk1.8.0_152 export SCALA_HOME=/opt/scala/scala-2.12.7

运维面试题 含答案

运维工程师面试题 姓名: 答题时间: 1.新安装MYSQL后怎样提升MYSQL的安全级别? A.修改mysql默认端口 下可以通过iptables来限制访问mysql端口的IP地址 C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址) 特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录) E.开启二进制查询日志和慢查询日志 安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限 G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个test库,可将其删除) 2.MYSQL的主从原理,怎么配置文件? 整体上来说,复制有3个步骤: 将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); 将master的binary log events拷贝到它的中继日志(relay log); 重做中继日志中的事件,将改变反映它自己的数据。 3.mysql主从复制的优点 <1> 如果主服务器出现问题,可以快速切换到从服务器提供的服务; <2> 可以在从服务器上执行查询操作,降低主服务器的访问压力;

<3> 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。 4.Mysql复制的基本原理过程 (1)Slave上面的IO线程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; (2)Master接收到来自Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave端的IO线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在Master端binary log文件的名称以及在Binary log中的位置; (3)Slave的IO线程收到信息后,将接收到的日志内容依次写入到Slave端的RelayLog 文件()的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我” (4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。 5.为MYSQL添加一个用户? mysql> grant select,insert,update,delete on book.* to test2@localhost identified by “abc”;? ? #增加test2用户,密码为abc。并只能在localhost这台主机上登录,并且只能访问book这个库中的表,具有查询,插入,更新,删除权限; 语法:mysql> GRANT <权限> ON <库>.<表> TO ‘用户’@’主机名’ identified by “密码”; 6.写一个脚本将数据库备份并打包至远程服务器/backup目录下。 mount /mnt cd /mnt /usr/local/mysql/bin/mysqldump -hlocalhost -uroot test > tar czf rm -f

海康威视2016年技术支持笔试题

2016海康威视校园招聘技术支持类笔试题(一)填空题 1.在windons server 2003下若选择安全登录,则首先需要按 Ctrl+Alt+Del 组合键 2.按网络的覆盖范围划分,网络可分为局域网(LAN)、广域网 (WAN)和城域网(MAN)。 3.计算机中的数据都是以二进制码码的形式发送的。(存储,传 输,加工处理的数据或指令) 4.ARP请求帧在物理网络中是以广播方式发送的。 5.FTP和HTTP协议在TCP/IP参考模型中属于应用层。 TCP/IP参考模型在网络层定义了IP协议,在传输层定义了传输控制协议TCP和用户数据报UDP,在传输层之上是应用层,它包括了所有的高层协议,并且总是不断有新的协议加入。应用层的协议主要有:网络终端协议Telnet、文件传输协议FTP、电子邮件协议SMTP、路由协议RIP、网络文件系统NFS和HTTP协。

6.带有奇偶校验的RAID的类型是 RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。 RAID 0:无差错控制的带区组RAID 1:镜象结构 RAID2:带海明码校验RAID3:带奇偶校验码的并行传送 RAID4:带奇偶校验码的独立磁盘结构 RAID5:分布式奇偶校验的独立磁盘结构 7.SQL语言的SELECT命令中,表示条件表达式用WHERE子句, 分组用GROUP BY 子句,排序用ORDERBY 子句。 8.下列FTTX组网方案中,光纤覆盖面最广的是FTTH FTTN (光纤到节点) FTTC (光纤到路边) FTTH (光纤到户) FTTZ (光纤到小区) FTTH将光纤直接铺到千家万户,覆盖面是最广的 9.HIKVISION 的权限描述为:drwxrw-r~~则该文件类型为: r代表4 w代表2 x代表1 所有者权限是rw,为6 所属组权限是r,为4 其他人权限是r,为4 10.存储器一般分成高速缓冲器、__内存__和__外存__三个层次, 其中___高速缓冲器__是造价最高、存取速度最快。 (二)名词解释 1.Linux系统重/home目录下存放的什么内容? Linux系统根目录下的几个主要目录的作用: root:用于存放root用户的的相关文档。

Redis面试题及复习资料

Redis 是一个基于内存的高性能key-value数据库。(有空再补充,有理解错误或不足欢迎指正) Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag 系统等等。 另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 Redis支持的数据类型 Redis通过Key-Value的单值不同类型来区分, 以下是支持的类型: Strings Lists Sets 求交集、并集 Sorted Set hashes

为什么redis需要把所有数据放到内存中? Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以redis具有快速和数据持久化的特征。 如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。在内存越来越便宜的今天,redis将会越来越受欢迎。 如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。 Redis是单进程单线程的 redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销 虚拟内存 当你的key很小而value很大时,使用VM的效果会比较好.因为这样节约的内存比较大. 当你的key不小时,可以考虑使用一些非常方法将很大的key变成很大的value,比如你可以考虑将key,value组合成一个新的value. vm-max-threads这个参数,可以设置访问swap文件的线程数,设置最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的. 可能会造成比较长时间的延迟,但是对数据完整性有很好的保证. 自己测试的时候发现用虚拟内存性能也不错。如果数据量很大,可以考虑分布式或者其他数据库 分布式 redis支持主从的模式。原则:Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据。 这是一个典型的分布式读写分离模型。我们可以利用master来插入数据,slave 提供检索服务。这样可以有效减少单个机器的并发访问数量。

21个必知数据科学面试题和答案

21个必知数据科学题和答案 2016-03-10分类:其他 最近KDnuggets上发的“20个问题来分辨真假数据科学家”这篇文章非常热门,获得了一月的阅读量排行首位。 但是这些问题并没有提供答案,所以KDnuggets的小编们聚在一起写出了这些问题的答案。我还加了一个特别提问——第21问,是20个问题里没有的。 下面是答案。 Q1.解释什么是正则化,以及它为什么有用。 回答者:Matthew Mayo 正则化是添加一个调优参数的过程模型来引导平滑以防止过拟合。(参加KDnuggets文章《过拟合》) 这通常是通过添加一个常数到现有的权向量。这个常数通常要么是L1(Lasso)要么是L2(ridge),但实际上可以是任何标准。该模型的测算结果的下一步应该是将正则化训练集计算的损失函数的均值最小化。 Xavier Amatriain在这里向那些感兴趣的人清楚的展示了L1和L2正则化之间的比较。 图1.Lp球:p的值减少,相应的L-p空间的大小也会减少。 Q2.你最崇拜哪些数据科学家和创业公司? 回答者:Gregory Piatetsky 这个问题没有标准答案,下面是我个人最崇拜的12名数据科学家,排名不分先后。 Geoff Hinton, Yann LeCun, 和 Yoshua Bengio-因他们对神经网络的坚持不懈的研究,和开启了当前深度学习的革命。 Demis Hassabis,因他在DeepMind的杰出表现——在Atari游戏中实现了人或超人的表现和最近Go的表现。来自datakind的Jake Porway和芝加哥大学DSSG的Rayid Ghani因他们让数据科学对社会产生贡献。 DJ Patil,美国第一首席数据科学家,利用数据科学使美国政府工作效率更高。 Kirk D. Borne,因其在大众传媒中的影响力和领导力。

软件技术支持面试题

技术支持提问文档 常见的操作系统有哪些? Linux,unix,windows,Mac OS(苹果系统) 常见的windows操作系统版本有哪些(考察对windows操作系统版本的了解) WindowsXP,WindowsVista,Windows7,WindwosServer2003, WindwosServer2008 常见windwos下杀毒软件(列举超过五个,考察对常用杀软的了解情况) 金山,瑞星,360,江民,诺顿,卡巴,赛门铁克,mse,小红伞,nod32等( 一般软件的默认安装目录大多为? C:\Program Files 如何将FAT32分区转为NTFS分区:(对windows分区格式、分区格式转换的了解) 开始-运行-cmd 在命令提示符下输入:convert X:/FS:NTFS(其中X是盘符) 两笔记本电脑连起来后ping不通,你觉得可能有哪些问题可能的原因大体有以下几个:(对网络的简单了解) 1、网线不通; 2、某台笔记本上的tcp/ip协议安装的不完整; 3、ip地址配置有问题(不在一个网段上); 4、某台笔记本上有防火墙,把icmp端口给屏蔽了(端口号:139)。 指出以下服务所默认的端口号:FTP;Telnet;POP3;SMTP;Windows 终端服务(对windwos常用端口的了解) 答:FTP:21;Telnet:23;POP3:110;SMTP:25;Windows终端服务:3389 (最有名的3389)

请简述windows2003下IIS的安装方法(iis的安装部署了解) 开始---控制面板----添加/删除程序----添加/删除Windows组件(A)----应用程序服务器--- 将解压后的IIS文件路径复制到"文件复制来源"输入框(会出现多次,就多粘贴几次)--完成. 如出现需要"插入安装光盘"这类的提示,继续粘贴该路径即可. 简述软件开发流程(对软件开发的了解,意思对即可) 前期市场调查 可行性分析 系统设计 代码设计 编写代码 调试程序 交付客户使用 维护升级 其他提问: 了解面试者分析总结能力,是否能抓住用户要表达的思想,提炼出潜在需求。 提问是否曾有过软件测试的经验,了解哪些测试方法,测试工具。 提问面试者对常用OFFICE办公软件的使用情况,PPT制作能力,文档编写能力。 了解面试者是否有过组织培训经验,是否能根据项目需要针对产品对客户进行培训。

技术支持面试题集锦!!!

技术支持面试题集锦 1、杀毒软件:金山,瑞星,卡巴,赛门铁克 2、常见的internet接入方式:无线接入、异步拨号、ISDN 3、VPN特点:利用现有的公共ip网络,实现专线接入,采用隧道和加密技术,隐藏内部网络细节,成本低 4、硬件种类:IDE、SATA、SCSI 5、windows常见的磁盘分区方式:一主+一扩+扩中N个逻辑分区、2主+扩,逻辑分区 6、网络命令及用途:ping 网络连通性、tracert 网络节点数、telnet 远程连接、nslookup 域名解析 ipconfig 网络链接的详细信息、regedit 注册表、ftp 登陆到ftp服务器 7、如何将FAT32分区转为NTFS分区:开始-运行-cmd 在命令提示符下输入: convert X:/FS:NTFS(其中X是盘符) 8、局域网无法上网故障诊断方法: 1:网络连接 2:接着检查“本地连接”的状态。如果本地连接的图标是两个小电脑闪亮,提示“已连接上”,这代表从交换机HUB到电脑的 线路是正常的,网卡基本能正常工作,不能上网是由于操作系统设置不当或软件限制等原因引起的。用Ping 命令Ping远程主 机,看能否Ping通,如果能Ping 通则说明网络连接正常,接着检查电脑中的防火墙设置、代理服务器设置等。 3:如果Ping不通,则可能是网络协议配置问题。检查电脑IP地址、网关、DNS等配置。

4:如果“网络连接”窗口中的本地连接图标是灰色,说明本地连接(网卡)被禁用了,这时只须双击本地连接图标重新启用即可。 5:如果“网络连接”窗口中本地连接图标提示“本地电缆被拔出”,则表明交换机或HUB到用户网卡的网线接头有一端松动了 或网线有问题,接着检查网线是否接触良好,如果接触良好接着检查网线。 9、能上QQ但不能上网问题精解: 一、感染了病毒所致 二、与设置代理服务器有关 三、DNS服务器解释出错 四、系统文件丢失导致IE不能正常启动 五、IE损坏 六、HOSTS文件的问题 七、系统文件的问题 八、杀毒软件的实时监控问题 九、ApplicationManagement服务的问题 十、网络协议和网卡驱动的问题 10、ADSL频繁掉线: 随着温度的升高,空调使用率也不断增加。毫无疑问,空调在制冷运转时,不仅将导致电压降低,而且还会引发感应电流。虽然ADSL Modem在设计时会考虑到电压和电流的波动问题,但过低或过高的电压,仍然无法保障ADSL Modem正常工作。因此,为ADSL Modem或宽带路由器配置一个UPS电源应当是最佳解决方案。 11、技术性网站:HTTP://https://www.wendangku.net/doc/fe8253519.html,中国工具信息网 12、指出以下服务所默认的端口号:FTP;Telnet;POP3;SMTP;Windows终端服务

Java架构面试【分布式数据库面试专题系列:Memcached+Redis+MongoDB】Redis面试专题(二)

1、什么是Redis?简述它的优缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Ke y-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。 比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag系统等等。 另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcac hed来用。Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 2、Redis相比memcached有哪些优势? (1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 (2) redis的速度比memcached快很多 (3) redis可以持久化其数据 3、Redis支持哪几种数据类型? String、List、Set、Sorted Set、hashes 4、Redis主要消耗什么物理资源? 内存。 5、Redis的全称是什么? Remote Dictionary Server。 6、Redis有哪几种数据淘汰策略? noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但DEL和几个例外) allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。 volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。

相关文档
相关文档 最新文档