中软首页
中软国际教育科技集团Education and Technology Group of Chinasofti
●  教育部授予:“软件工程专业大学生实习实训基地”资质
●  商务部授予:“中国服务外包示范培训中心”资质
●  工信部授予:国家信息技术紧缺人才培养工程“521计划”资格
●  获得腾讯授予:中国IT教育十大影响力品牌

≡ 技术知识库
当前位置:网站首页>技术知识库>>文章内容
小米的面试过程及面试题,想进名企的看过来~
作者:   来源:    时间:2018-09-06 10:53:53    字体:[大] [中] [小]

本文以一位童鞋的面试经历为例,为大家详细介绍一下小米公司的面试过程和遇到的面试题,供大家参考。

1.自我介绍


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


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


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


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


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


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


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


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


5.什么是事务?


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


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


假如想要取得最大ID的name值(这里只是借ID为例 不用ordery by)

解决办法:select max(id) from db_name


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.短距离通信


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


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


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


如何实现多线程缓冲池?


通过队列来实现


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


数组是固定长度的,list不固定,map是基于key-values进行映射的。访问元素数组可以通过下标访问,list需要遍历,map可以通过Key值获取map的values。


11.链表反转


1.链表内反转


节点的下一个元素插到节点之前。依次进行,


例如:


链表的第二个插到第一个之前,第三个插到第二个之前


2.用栈实现


遍历链表,把每一个节点放到栈里面,遍历万,然后再出栈


12.实现线程的方式


1.继承Thread类。


2.实现Runnable,然后重写run方法。


两种方式的区别。


1.一个类只能继承一个父类,如果已经继承了Thread,就无法继承其他的了,所以一般用runnable.


2.使用Runnable可以避免点继承的局限,一个类可以继承多个接口。


如果你是刚入行的新人,你是否更想了解Java工程师的招聘需求怎样?Java工程师需要具备哪些核心技能?2018学Java就业前景怎样? 怎样成为优秀的Java程序员?


来中软卓越,学高薪技术,了解行业趋势,推荐名企入职,近距离听Java一线专家的观点,成为高薪技术大牛,so easy!


中软国际教育科技微网页二维码
版权所有 © 2008-2014 中软国际教育科技集团    京ICP备09078625号-2   京公安备11010802014778号    隐私声明 | 联系我们