nosql面试题目,mysqlsql语句面试题

java面试中redis,mongodb类的,会问哪些问题,怎么回答

1、可能会问nosql和关系型数据库的区别:

成都创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站设计制作、网站设计, 我们的网页设计师为您提供的解决方案。

优点:

1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用Oracle那样花费大量成本购买使用,相比关系型数据库价格便宜

2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库

3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型

4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难

缺点:

1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。

2)不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本

3)不提供关系型数据库对事物的处理

2、介绍下redis和mongodb:

自行google。

3、应用场景:

redis:

a.主要是做热点数据缓存。

b.数据过期处理。

c.消息队列等功能。

d.计数,例如投票等。

mongodb:

mongodb的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。mongo适用于以下场景:

a.网站数据:mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

b.缓存:由于性能很高,mongo也适合作为信息基础设施的缓存层。在系统重启之后,由mongo搭建的持久化缓存可以避免下层的数据源过载。

c.大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储。

d.高伸缩性的场景:mongo非常适合由数十或者数百台服务器组成的数据库。

e.用于对象及JSON数据的存储:mongo的BSON数据格式非常适合文档格式化的存储及查询。

4、支持的数据类型:

内容比较多,自行将网上的信息整理一下。

请问软件测试的面试会问哪些问题? 会不会问开发的问题,JAVA的问题?

一般情况下是不会的,会 问一些测试的基础问题,还有就是设计测试用例,有的公司也会问你测试工具有关的问题。

Python后端工程师面试题目有哪些

一.语言

1.推荐一本看过最好的python书籍?

2.谈谈python的装饰器,迭代器,yield?

3.标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全的吗?

4.python适合的场景有哪些?当遇到计算密集型任务怎么办?

5.python高并发解决方案?我希望听到twisted-tornado-gevent,能扯到golang,erlang更好

二.操作系统

可以直接认为是linux,毕竟搞后端的多数是和linux打交道。

1.tcp/udp的区别?tcp粘包是怎么回事,如何处理?udp有粘包吗?

2.time_wait是什么情况?出现过多的close_wait可能是什么原因?

3.epoll,select的区别?边缘触发,水平触发区别?

三.存储

存储可能包含rdbms,nosql以及缓存等,我以mysql,redis举例

mysql相关

1.谈谈mysql字符集和排序规则?

2.varchar与char的区别是什么?大小限制?utf8字符集下varchar最多能存多少个字符

3.primary key和unique的区别?

4.外键有什么用,是否该用外键?外键一定需要索引吗?

5.myisam与innodb的区别?innodb的两阶段锁定协议是什么情况?

6.索引有什么用,大致原理是什么?设计索引有什么注意点?

redis相关

1.什么场景用redis,为什么mysql不适合?

2.谈谈redis的事务?用事务模拟原子+1操作?原子操作还有其它解决方案吗?

3.redis内存满了会怎么样?

四.安全

web安全相关

1.sql注入是怎么产生的,如何防止?

2.xss如何预防?htmlescape后能否避免xss?

3.csrf是什么?django是如何防范的?

密码技术

1.什么是分组加密?加密模式有哪些?ecb和cbc模式有什么区别?为什么需要iv向量?

2.简单说说https的过程?

3.对称加密与非对称加密区别?

3.如何生成共享秘钥? 如何防范中间人攻击?

五.杂

是否关注新技术啊?golang,rust是否了解?numpy,pandas是啥鸟?

是否紧跟时代潮流?逛不逛微博,刷不刷知乎?

可能你觉得我问的好细,但这好多都是平常经常遇到,并需要解决的,细节更能体现一个人。

如果你觉得小kiss,欢迎投简历给我yihaibo@longtugame.com,龙图游戏运营支持中心数据分析部招人;觉得有点问题,那还等什么,赶快来和我交流交流。

更新:讨论区挺热闹,有人说好简单,有人说好难,其实我觉得这只适合面试2~3年工作经验的后端工程师。真的没有问

很难的题目,只是可能你平时没有注意。

在这里我推荐几本书吧

python参考手册,绝对让你更上一层楼

图解密码技术,密码入门不二之选

mysql技术内幕第五版,有点厚当手册读读,要有耐心,高性能mysql也强烈建议读读

effective tcp/ip programming

为什么评论区有这么大差异?我想是个人经历不一样吧,如果是搞web的对操作系统这块和密码技术会偏弱,但如果是系统工程师或是游戏服务端这块会明显偏强。

六.后记

最近我也面试了不少童鞋,我发现能达到要求的真的少之又少,很多hr都说Python是最难招聘的岗位,我想是有道理的,这真的很值得我们去深思?

我想有一部分原因是Python这门语言造成的,会写Python的人很多,但写的好的人很少,大部分都把Python当做脚本来写,缺乏面向对 象,模式的思想。想想Java,大家都习惯了接口,实现分离,设计模式在Java中也喊了很多年,尤其是ssh三大框架一出,用着用着就理所当然的认为就 该这么做,虽然也有点坏处,但对企业级Java开发无疑是一大进步。

反观Python,尤其是生成器,协程,元类给Python注入了很大的灵活性,想写的Pythonic有不小难度,但其实Python高级特性就那么几个,干掉了也就没有了。

当你觉得Python遇到了瓶颈,不妨停下来好好想想。研究研究设计模式,想想重构,了解领域驱动设计,敏捷开发,再回来读读以前写的代码,当眼界变高了,代码也就美了。

当然思想的提高不是一朝一夕,模式,原则会经常让你纠结,纠结就会思索,思考就走出了自己的路,当然条条大路通罗马。

数据库等存储技术是研发工程师迈不过的坎,对关系数据库以mysql举例来说,你必须清楚的知道什么字段选择什么类型,类型字节大小,限制条件,这 东西也很容易理解,多想想即可,比如set类型,要支持交并等操作,1个字节只能存8个类别。数据类型搞定了,下面就是索引了,mysql索引种类?主 键,唯一索引,普通索引。索引类别,BTree索引,hash索引。索引的优缺点,mysql的索引查找原理,join原理(大部分都是nested loop),以及一些特殊的情况,比如mysql子查询慢等。其实到这里研发工程师就差不多,当然你可以继续深入下去,比如读写分离,集群管理,甚至一些 参数调优。


网站名称:nosql面试题目,mysqlsql语句面试题
本文来源:http://ybzwz.com/article/dsceegi.html