小米的面试过程及面试题
小米的面试过程及面试题
1.自我介绍
这个不用说了,自己介绍一下自己。
2.数据库MySql和SQLServer以及Oracle的区别?
他是看了我写了一篇这样的博客才问的,可惜我都忘了自己写了啥!吃亏了,博客太久了,都忘记看了。
----1.Oracle:最贵,功能最多,安装最不方便,Oracle环境里的其他相关组件最多,支持平台数量一般,使用中等方便,开发中等方便,运维中等方便,不开源,速度最慢,最安全。
----2.Microsoft SQL Server 2014:中等贵,功能最少,安装中等方便,Microsoft SQL Server 2014环境里的其他相关组件最少,支持平台最少,使用最方便,开发最方便,运维最方便,不开源,速度中等,一般安全。
----3.Mysql:免费,功能中等,安装最方便,Mysql环境里的其他相关组件数量中等,支持平台最多,使用最不方便,开发最不方便,运维最不方便,有开源版本,速度最快,最不安全。
二、
Oracle传统,跨平台,稳定,适合OLTP,最接近数据库设计范式,一致性处理是最好的,也是最复杂的。适合金融,电信等企业。要想用好并发挥其性能,对管理员的能力要求较高。另维护成本较高。SqlServer目前只能在Windows系列执行,限制其发展,所以在高可用,灾备,并发也受win的限制。优点是,操作简单,人员要求低,学习曲线低,据说纽交所使用中。MySql适合开发者,简单。不过随着Oracle的入主,功能越来越完善,又因为其宣布要开源,阿里开发了改进大数据库,性能和应用场景不断拓宽,未来前进可人。
Mysql 屌丝创业青年
Sqlserver 富二代
Oracle 创一代+高富帅 ;
MySQL:瑞典MYSQLAB推出,关系型数据库,开源免费,适用于WEB网站、日志管理、数据仓库和嵌入式系统等小型系统。 SQLServer:微软Microsoft推出,关系型数据库,可视化、安全性与稳定性较好,适用于企业级海量数据存储查询。
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 * from (select recID from book order by recID DESC limit 0,2) as b order by b.recID ASC limit 0,1;
还有一种解法:
先获取它的最大值,再获取小于最大值的数,然后取最大值。因为这里用到了max函数,会造成对全表扫描,速度略慢些。
select max(recID) as SecondID from book where recID<(select max(recID) from book);
8.短距离通信
因为我是物联网专业的,所以他问了一下物联网方面的知识。我给他介绍了短距离通信。
9.如何实现多线程服务器?
https://blog.csdn.net/fengsigaoju/article/details/56019956
如何实现多线程缓冲池?
通过队列来实现
https://blog.csdn.net/z55887/article/details/79060070
10.java的数组、List、map的区别?
数组是固定长度的,list不固定,map是基于key-values进行映射的。访问元素数组可以通过下标访问,list需要遍历,map可以通过Key值获取map的values。
11.链表反转
1.链表内反转
节点的下一个元素插到节点之前。依次进行,
例如:
链表的第二个插到第一个之前,第三个插到第二个之前
https://blog.csdn.net/xiao__jia__jia/article/details/82788117
2.用栈实现
遍历链表,把每一个节点放到栈里面,遍历完,然后再出栈
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}import java.util.Stack;
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}//链表原结构public class Solution {public ListNode do_reverse(Stack<ListNode> data){ListNode ans=data.pop();if(data.empty()){ans.next=null;return ans;}ans.next=do_reverse(data);return ans;}//递归反转链表核心代码public ListNode ReverseList(ListNode head) {if(head==null)return null;Stack<ListNode> data=new Stack<ListNode>();//下方循环将原链表所有节点压栈,方便反转while(true)//循环压栈{if(head.next==null){data.push(head);break;}data.push(head);head=head.next;}return do_reverse(data);//调用核心反转函数}//采用栈结构,调用核心反转函数代码
}
12.实现线程的方式
1.继承Thread类。
2.实现Runnable,然后重写run方法。
两种方式的区别。
1.一个类只能继承一个父类,如果已经继承了Thread,就无法继承其他的了,所以一般用runnable.
2.使用Runnable可以避免点继承的局限,一个类可以继承多个接口。
小米的面试过程及面试题相关推荐
- 小米的面试过程及面试题~
本文以一位童鞋的面试经历为例,为大家详细介绍一下小米公司的面试过程和遇到的面试题,供大家参考. 1.自我介绍 这个不用说了,自己介绍一下自己. 2.数据库My Sql和SQL Server以及Orac ...
- 今日头条前端面试过程与面试题
头条的面试业界最难,为准备头条的面试,我刷了好几天的题目,虽然最后被拒,但是在准备过程中知道了很多开发中被忽略的原理问题.这给我之后的面试打下了很好的基础. 到了头条总部,前台给了一套题.三道简答,三 ...
- python少儿编程讲师笔试题_小码王教育儿童编程教师面试:做笔试题(填空题和编程题,填空题 - 职朋职业圈...
为了帮助职业圈网友能够及时了解小码王教育的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的小码王教育面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人.这次面试总共花了1天.面 ...
- 面试篇---大四实习面试经历,总结一下自己的面试过程(函渠道、面试题、面试经验)
前言 入职第一天 - 无聊(小抱怨) 目前已经找到了不错的实习岗位,所以这几天,我想把自己的面试经验写一下 面试过程 如何找到岗位 1.去boss直聘之类的平台(相对于智联我更喜欢boss,真的,不推 ...
- 百度面试过程详解-附电话面试题
经过在线笔试.两轮电话面试,今天上午收到了百度的拒信,我的百度求职算是告一段落了-- 从百度校园招聘开始,我就投了一份简历.在别人都有在线笔试机会的时候,我却没有任何消息. 听说师兄可以给推荐,我就又 ...
- 剖析今日头条技术面试过程以及应该如何准备?
作者:"想去大厂的小菜鸡" https://juejin.im/post/5c14e7f051882562502f077 国庆期间公司的项目很闲,很多人觉得没意思陆续走了,我也考虑 ...
- 记一次面试过程中的Python编程题
这几天面试过程中遇到一道Python编程题,题目如下: 面试中遇到一个Python编程问题:一个字符串,将里面的数字取出来,如果第一个数字前面是+,表示整个数字为正数,如果第一个数字前面是-,表示数字 ...
- 初二计算机会考2019,2019下半年教师资格面试考试初中信息技术试题及解析2
2019下半年教师资格面试考试初中信息技术试题及解析2 报考科目:初中七年级信息技术 抽题时间:2020年1月4日08:07:06 1.题目:七年级<用PPT制作电子相册>片段教学 2.内 ...
- 大厂Java面试过程中如何介绍自己的项目经历?
在面试时,经过寒暄后,一般面试官会让介绍项目经验 .常见的问法是,说下你最近的(或最拿得出手的)一个项目. 根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段 ...
最新文章
- WeightedRandomSampler示例
- hdu1839 二分最短路
- python os模块详细_python之os模块详解
- Caffe训练时出现了无数个Train net output #.....
- javascript遍历对象的属性
- 【medium】220. Contains Duplicate III
- Dubbo使用Sentinel来对服务进行降级与限流
- C#中的问号运算符简介
- 网页另存显示不全_word另存为选项没有PDF格式怎么办?别忘了还有这招!
- 【线性代数及其应用】02 -矩阵代数
- l360清零软件无响应_爱普生L360清零软件
- 解决-redis保存的中文变为unicode, redis的基本操作
- RTT Nano学习笔记 8 - 信号量
- SSD的预留空间OP介绍
- 电气火灾监控系统在杭州湾新区产业园区一期的设计与应用——安科瑞 陆琳钰
- java 动态切换数据源_Java动态切换数据源(AOP)
- ubuntu 20.4下服务器部署
- 前端面试题全面总结!
- js 毫秒 微秒 转为 时分秒
- 蚂蚁金服暂缓上市,程序IT圈炸了