专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

我在小米公司的面试过程以及遇到的面试题

51Testing软件测试网  · 公众号  · 测试  · 2017-04-14 17:30

正文

特别感谢小米面试官抽出时间面试我哈 !面试完感触特别大,答案是自己面试完找的。


1


1.自我介绍

这个不用说了,自己介绍一下自己。


2

2.数据库My Sql和SQL Server以及Oracle的区别?


他是看了我写了一篇这样的博客才问的,可惜我都忘了自己写了啥!吃亏了,博客太久了,都忘记看了。


3

3.数据库的左连接和右连接


1)左连接:只要左边表中有记录,数据就能检索出来,而右边有

的记录必要在左边表中有的记录才能被检索出来

2)右连接:右连接是只要右边表中有记录,数据就能检索出来


4


4.数据库的视图,为什么要用视图?

视图其实就是select查询语句 通过关联查询或者其他查询组建起来的,他是多个表的查询结果集,使用视图可以提高一个程序的SQL效率,比平常使用select 更加便捷,我们可以直接select * from 视图VIEW 来获取,数据库也更容易维护更新


5

5.什么是事务?


事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。


6

6.数据库如何获取表里最大值?


假如想要取得最大ID的name值(这里只是借ID为例 不用ordery by)
解决办法:select max(id) from db_name


7

7.那获取第二大的呢?


select   top 1 * 
from table where    字段a  not in (select  top 1  字段a from table order by id desc)a order by id desc

以上都是数据库的,数据库没发现,基本挂了。当然,还要继续提问呐。


8


8.因为我是物联网专业的,所以他问了一下物联网方面的知识。我给他介绍了短距离通信。


9


9.如何实现多线程服务器?

这个不好回答,主要是在线程的run方法里面执行一些输入输出流操作,

如何实现多线程缓冲池?

通过队列来实现


10

10.java的数组、List、map的区别?







请到「今天看啥」查看全文