面试总结(二)-面试题目

Author Avatar
杨小强 1月 22, 2018
  • 在其它设备中阅读本文章

写在前面:下面只是面试过程中遇到的问题,并没有我回答的答案;主要是考虑到文章的篇幅太大,自己的一些回答也可能不是最佳答案。

image.png


数据结构

  • 100M 的运行内存,怎么对1G的文件进行排序
  • 对一个链表处理得到他的反向链表
  • 时间复杂度的算法,以及某种排序算法的表达式

数据库

  • 数据库的优化
  • 数据库的索引存储结构
  • 为什么要用B-tree
  • 大表与小表进行连表查询时,大表应该在前还是小表
  • 为什么连表查询效率低
  • 性别字段,在数据库中存储时应该用什么类型

redis

  • redis 有几种数据结构,每种数据结构的使用场景
  • 取top10 应该用redis的哪种数据结构
  • redis 怎么去生成自增id,在分布式系统中使用redis生成id有什么问题
  • redis 的底层数据结构,字典结构的应用和hash冲突的处理

java

  • final、finally 的区别
  • 重载与重写的区别
  • JVM 内存模型
  • 你经常用到的几种线程池,和各个线程池的特点,newFixedThreadPool 的构造方法的参数有哪些,都代表什么?
  • TLAB的工作原理
  • synchronized与lock的区别,synchronized的实现原理

spring

  • springMvc的启动流程
  • 对于一个http请求,springMvc是怎么处理的

其他

  • 系统的QPS?
  • 系统是如何监控的?
  • 系统的运行机器配置?
  • 商品的SKU设计
  • 自己做的业务的整体的数据库结构设计
  • 分布式Id生成器有哪些,有没有做过对比,为什么要选用数据库生成Id的方式(因为当时我给他讲了我们的分布式Id生成器)

架构

  • 你们项目你觉得存在着什么问题?
  • 你们的项目有哪些服务,各个服务之间是怎么调用的?
  • 你们项目的有哪些终端?APP端是怎么调用服务接口的?
  • 微服务与SOA的区别?
  • 你怎么看待微服务?

写在后面,题目答案请移步 面试总结(3)
欢迎大家 点赞 关注 打赏