饿了么服务端开发线上面经

  1. thread和runnable的区别
  2. 简述zookeeper。
  3. Spring源码有看过吗?
  4. IO类型有哪些?同步阻塞,异步阻塞….
  5. mybatis的缓存说一下? 我:(wc怎么问这个???不问spring嘛)只听说过一级缓存和二级缓存。 MyBatis怎么防止sql注入? 我:参数前面用一个符号,我忘了。。
  6. redis消息队列先进先出需要注意什么?
  7. 大型高并发网站如何做性能优化:Web 性能、数据库性能、应用服务器性能等。
  8. spring何时创建applicationContext
  9. 怎么查看Linux服务器的负载,及判断哪些操作引起的负载过高
  10. OSI七层模型,TCP/IP四层模型
  11. 数据库底层有哪些数据结构实现?B树和B+树的区别?你觉得B+树还能在哪些方面做优化?
  12. 负载均衡有接触过哪些开源框架,优劣势是什么?
  13. 说一说redis数据淘汰机制
  14. Docker 有使用过和了解吗?Docker 和 JVM 的区别是什么?
  15. 写一段脚本实现将nginx的access.log日志中ip按访问量排行
  16. 算法设计方面有什么要注意的嘛? 最重要的就是要设计出好的数据结构,还有流程要理清楚...感觉答的不是很好....
  17. spring中bean加载机制,bean生成的具体步骤,ioc注入的方式
  18. ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?

编程题

  • 整数数组 nums 按升序排列,数组中的值 互不相同 。
  • 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。
  • 给你 旋转后 的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1 。

示例 1:

输入:nums = [4,5,6,7,0,1,2], target = 0
输出:4

示例 2:

输入:nums = [4,5,6,7,0,1,2], target = 3
输出:-1

示例 3:

输入:nums = [1], target = 0
输出:-1