直接上面试题吧,一面面试官很nice,有不会的会耐心引导,可惜自己太菜,二面面试官很快结束战斗,让我拍屁股走人了,自己水平太菜,以后继续努力吧!

一面:

1、介绍项目

2、说下索引的优点,自己谈的建立了索引就像是给一本书加了一个目录,这样的话去查找目录自然比一条条的去书里面查每一行文字要快的多。画出索引的结构图,这个在《高性能mysql》上看过,并说了InnoDB中主键索引跟二级索引叶子节点的区别,以及myISAM索引,说了下B+树的结构,以及这种结构非常适合于磁盘读写,可以减少IO次数,从而提高性能等。

3、讲讲Spring中最主要的特性,讲了下IOC跟AOP的个人理解。重点讲了IOC,IOC是控制反转,在不用spring控制反转前,我个人的习惯做法是在A类中依赖一个B类对象时,一般会自己手动new一个B类的对象出来,然后再进行使用,有了spring的IOC之后我便可以在配置文件中决定我生成哪个B类对象,然后在需要B类对象的地方只需要注入就可以了。这样降低了A跟B之间的耦合度,如果我要使用不一样的B的子类生成B类对象时,只需要修改配置文件,这样的效果是很不错的。有了IOC之后,创建对象的权利由我们手中转移到了spring框架中,减少了我们的工作量。

4、讲下jvm。主要谈了jvm的分区,以及每个分区的作用,谈堆区的时候又谈到了堆区分为新生代、老年代跟永久代。然后谈了新生代包括Eden区、Survivor区,然后Survivor区分为From跟To,以及在Eden区不足时会进行minor GC,然后什么比较大的对象会直接进入老年代了,以及什么时候进行Full GC了等等。

5、讲下数组跟链表的区别及各自的优缺点。既然这两种结构都有优点及不足,怎样能充分利用这两种结构的优点,然后当时首先进入自己脑子中的就是HashMap,然后谈了些HashMap的原理,提了些java8里面为解决拉链法造成链太长而使用红黑树了等等。

6、接我上面提到的HashMap,面试官又问了HashMap是否线程安全,什么是线程安全的。自己说了下ConcurrentHashMap,谈了些它的分段锁提高并发等。

7、说下AtomicInteger的原理,这个自己不太清楚,直接说的没太了解过。

8、说下HIVE,自己就说了些hive将sql映射成mapreduce任务等。

9、讲讲HBase,自己说了下它包括哪些部分,以及怎么存贮等。

10、讲讲Hadoop,自己主要说了HDFS以及mapreduce,还是拿经典的wordcount举例子。

11、说说linux中怎么统计一个文件中各个单词出现的次数,说下用到哪些命令就行。

12、给出了一个场景,假设有3台服务器来处理来到的请求,第一台服务器可以处理30个请求,第二台可以处理70个请求,第三台处理120个请求,如何实现在分配请求的服务器上时时分发请求,提示将三台服务器的IP作为key,value中的value。后面又提示往TreeMap上想,这个没答好。

13、说出TCP建立释放过程,自己画了TCP的三次握手跟四次挥手示意图。问了为什么四次挥手时需要2MSL等待。

14、说下TCP跟HTTP中keepalive的区别。

15、找第K大元素,说出快排的平均时间复杂度。

16、找前k大元素,说了还可以使用快排,堆排序也可以。

17、手写单例模式,写了懒汉:

public class Singleton{
private static Singleton sg;
private Singleton(){}
public synchronized static getInstance(){
if(sg==null){
sg = new Singleton();
}
return sg;
}
}

然后面试官提醒这样多个线程在同时调用getInstance()时都需阻塞着,而我们需要加锁的仅仅是在创建sg时需加锁,经面试官多番引导,终于写出了下面的样子,面试官告诉我这叫双检索。

public class Singleton{
private static Singleton sg;
private Singleton(){}
public static getInstance(){
if(sg==null){
synchronized(Singleton.class){ //只有在新创建单例时才有必要加锁
if(sg==null){//双检索避免重复创建单例
sg = new Singleton();
}
}
}
return sg;
}
}

一面大概1小时20分钟左右,面试官真的很nice,被面试也可以学到不少,然后是二面。二面面试官问了会不会c++,然后让说项目,问项目中用户id用的什么,我说公司用的是设备号,他说不用注册号吗,我说好多用户是不注册直接使用的,然后问具体怎么生成的,怎么让用两个手机的人对应到同一个用户,蒙蔽中。。。然后让写抽奖游戏,平时对这些不太感冒,不只咋搞,想了会说不会,然后面试官说这是最基本的。无奈自己太菜只能拍屁股走人了。二面就这样快速被ko了,还是踏踏实实多思考,多动手吧。

记一次失败的小米面试相关推荐

  1. 记一次失败的HCIE-RS面试记录

    今年注定是个不平凡的年份,从去年听说HCIE-RS要改版后,就开始急急忙忙的准备着HCIE了.4月份出的LAB成绩,预约的7月份面试考位.结果5月份左右一则消息发出,说改版了.没面试了!彻底是让人心态 ...

  2. 记一次失败的夏令营面试

    首先介绍一下本人情况 西北某211信通相关专业 排名:1/40(实验班) 四六级:600+ 奖项:几个高数类奖项.国家奖学金.美赛H.一些校级奖项. 科研:0. 总的来说个人还是比较水的,获得的竞赛奖 ...

  3. 记一次网易前端实习面试

    记一次网易前端实习面试 很幸运地能收到网易的面试通知,就毫不犹豫翘了课去面试了hhhh~三点的面试,因为从来没去过那个中关村西北旺区,吃完饭早早就去了,想象中那里应该是繁华的地方hhhh,到了发现都在 ...

  4. 四、记一次失败的 CAS 搭建 之 结果总是那么伤(客户端)

    四.记一次失败的 CAS 搭建 之 结果总是那么伤(客户端) ===================================================================== ...

  5. jQuery 一次定时器_记一次腾讯微信面试

    2017年7月毕业至今,已经快两年了,这两年的的技术积累得到到底怎样呢?个人觉得,面试是检验技术的唯一标准.所以,决定准备一份简历,到顶尖的互联网公司试一下,广州这边,最好的公司,当然就是微信啦.正好 ...

  6. 小米摄像机升级失败,小米摄像机黄灯常亮修复,全网最硬核修复

    小米摄像机升级失败,小米摄像机黄灯常亮修复,全网最硬核修复 背景 刷机方法 准备 相机拆机 修补固件 刷入固件 破解相机 背景 2020年买了个小米云台相机pro,后来搬家没怎么用,放家里吃灰一年多, ...

  7. HID Relay, 有线键盘转蓝牙项目学习:记一次失败的尝试

    HID Relay, 有线键盘转蓝牙项目学习:记一次失败的尝试 开始学习嵌入式后,最难受的一个点在于电脑端口不够.我的电脑有两个USB口一个TypeC口,鼠标和键盘都要插USB口,stm32和51也都 ...

  8. 祭奠逝去的青春-记YY项目失败总结

    祭奠逝去的青春-记YY项目失败总结 Luo Weifeng 2011-5-21 时间过得真快,距上次做项目都快半年了,也是时候总结一下经验教训了. 首先,介绍下大背景.哈尔滨工业大学(威海)不算是很出 ...

  9. 2019-4-19小米面试总结

    面试过程 小米面试会预约一个时间发邮件这里有个坑,发的邮件不光有约定的地点+时间,后面还有一个确认接受,我没点确认接受,导致我去前台查询说我没有查询到,面试了3个回合,3个小时,没有中间休息,建议大家 ...

最新文章

  1. python not函数_python 函数
  2. torch 特征对齐
  3. VTK:Utilities之3DArray
  4. 【python】动态调用函数名
  5. 高质量C /C编程指南---第1章 文件机关
  6. BZOJ2038 小Z的袜子 (莫队算法)
  7. Nginx系列(3):Nginx配置文件nginx.conf中文详解
  8. SI4438可变长包数据收发
  9. matlab 生成自回归,Matlab时间序列-AR-自回归.pdf
  10. 青龙面板之【追书神器】——5.29
  11. Pug 介绍和在 Vue 中使用
  12. python调用高德api路径规划_Python调用高德API爬取异地驾驶距离
  13. MyBatis choose标签
  14. 瑞数信息的“狩猎术”
  15. 北京职称计算机证书有效期,有关职称评审常见问题的解答(北京地区)
  16. android 采集音频输出,Android系统分析之Audio音频流, 音频策略, 输出设备之间的关系...
  17. 雅马哈四轴机器人调试笔记
  18. 协议的起始位,停止位
  19. 论文笔记:Intention Oriented Image Captions with Guiding Objects
  20. 正则表达式——环视(Lookaround)(几分钟学会环视)

热门文章

  1. JDBC报错:The server time zone value is unrecognized or represents more than one time zone 已解决
  2. H264视频高压心得——兼容华为U8800+(硬解720P)
  3. 了解利用API接口通过网格策略的增长模式
  4. SCAU高级语言程序设计OJ
  5. 在JAVA中记录日志的十个小建议
  6. 计算机初始配置,怎么将电脑的网络设置初始化?
  7. 微信小程序参数传递获取当前页面的url和参数
  8. 编写php自动脚本,自己编写自动签到脚本
  9. 【苹果相册推送位置推送iMessage】软件安装TestFlight计划的信息
  10. u盘误删文件怎么恢复