阿里面试总结

一面:

1、数据库方面的问题:聚集索引和b+索引的区别??聚集索引不是b+索引。哈希索引什么时候使用?【刚刚查了下资料,然后自己在mysql里面showindex了一下,发现聚集索引是用btree索引的。可能当时没了解面试官的意思,,,,哈希索引在选择性高的时候是用。比如说有一个场景,都是根据id来查询的,那么非常适合是用hashindex

2、数据库索引设计原则,优化。为什么要精心设计索引。索引是有最前匹配的。建立在abc这三个字段上的索引,为什么查询bc字段的时候不能用?这跟索引的树形结构有什么关系?这个表示真心不懂。【经过面试官的指点,貌似知道了一些。网上找不到资料,目前没什么时间去翻manual。大概应该是这样的,在建立比如说abc三个字段上的索引的时候,是先根据A来形成一个B+树结构的,然后在相应的叶子节点上(因为数据都在叶子节点上),建立这个节点的A的值对应的行的B的索引(如果有的话),C字段一次类推。这样就建立好了索引。在查询的时候,能查询A、AB、ABC这三个联合的索引。但不能是B或者BC】

3、设计一个数据库连接池。注意考虑数据库响应超时的情况要处理(如果数据库迟迟没有相应的处理策略)。【我在现场写代码的时候是用system.currenttime做的计时,如果好过这个事件,则抛出一个异常】

4、假如说让你设计淘宝网,你怎么架构?数据服务器集群、cache集群、静态文件服务器、日志服务器、webserver集群。如果数据库挂掉了,怎么保证数据不丢失?数据恢复。模板引擎。数据恢复这个表示不懂。

5、大数局的题目 10亿浏览log,5亿产品,让求出今天没有被浏览的商品的id。这个应该就是简单的用bit来做了。

6、Memcached。分布式的时候程序猿手动实现数据分散到各个cache服务器上。

7、kmp算法字符串匹配。

8、Java垃圾回收机制算法。

9、Java效率上的一些问题。比如说你写过的一段考虑效率的代码(在works发的题目的第二个就是考虑效率的题目)。

10、java的prifiling,用过类似的东西没?【TPTP可以用来简单的看一下程序的执行占用cpu、栈的情况】

二面:

1、蚂蚁爬树。

2、AB两个药瓶,两种药片物理和化学形状完全一样,肉眼无法区分。每天只吃一个A药片和一个B药片,而且每天必吃一个A和一个B。药片很贵,不能浪费。问题:如果有一次倒出来了2个A和一个B,为了保证我还是能正常的吃一个A和一个B,请问怎么办?【再找一个B,跟原来的 两个A和一个B一起,碾碎泡水喝。。每次喝一半】

3、678912345,怎么快速找到某一个数字是不是在这个序列里面。说的方法面试官觉得不行。

4、其他项目上的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值