面试记录-百度提前批一面

前言

差不多是7.24投的百度提前批,投了之后状态一直是部门面试中。8月9号hr给我打电话约面试,约了在8.12号下午两点,面试时长大概43分左右。下面开始正文

正文

1、上来先自我介绍,简单缓和一下气氛

2、介绍一下项目,我挑了一个最近的跟他讲,然后说了一下里面的难点和解决。然后项目讲到了redis的主从复制

3、然后说一下redis的主从复制

4、说一下项目中是怎么用redis的,怎么设计的

5、项目里面的服务熔断(hystrix)说到了,介绍了一下服务熔断

6、然后开始说一下Java基础,面向对象的特性(封装,继承,多态)

7、说了一下多态的实现方式,覆盖和重载

8、add(int a,int b)和add(int c,int d)算重载吗?add(Integer a,Integer b)与add(int c,int d)呢?

9、说一下接口和抽象类的区别

10、提了一个问题,如果一个类A继承了类B,然后想要使用抽象类C,怎么办?

刚开始说了组合,但是抽象类好像不能被引用。提醒后知道内部类

11、内部类有哪些?

12、Integer和int的区别?然后面介绍了一下拆箱和装箱

13、int a; int b = 1; a + b = ? (报错,a未初始化变量)

14、你了解Java的哪些集合?看过哪些源码?(我简单说了List,Map,Set下的实现类都有一些)

15、你随便找一个说一下源码吧,我说就说HashMap吧

16、然后介绍了一下HashMap的构造方法,基本属性,扩容机制等等

ps:扩容机制没说好,太多了,说乱了。早知道不说HashMap了,后面还等着来问线程安全之类等等,结果没有,直接跳跃了。

17、快进到MySQL,说了一下索引。

18、然后一道题目,一张表有五个字段,以及一些要求:

  • id,主键
  • name,要求能够精确查找到name的值
  • phone,电话,要求能够通过前缀可以查找到(如186xxxxxxxx)
  • age,要求可以通过范围查找
  • gender,通过性别查找

现在要对这些字段进行索引设计,怎么样才能在各自的要求里面分页查询里面更快呢?(这里扯了半天,感觉没说好,扯了一些覆盖索引和前缀索引都没在点上。)
感觉是对name建立全文索引,或者哈希索引,因为要精确查找,又不是自增。phone简历前缀索引查找,age就是建立辅助索引优化成覆盖索引,方便顺序查找且可以直接获取数据,性别重复率高不适合建立索引。

19、反问环节,我问了一下面试是几轮,3轮技术面+hr面。然后还问了是什么部门的

总结

没说直接过,等hr通知,他那边说会去反馈结果。估计是凉经,算是赶上提前批最后一波车体验一下面试罢了。

你可能感兴趣的:(面试记录-百度提前批一面)