腾讯1面

腾讯一轮面经 20181016

  • 自我介绍

    • 基础知识储备
    • 学业、项目、实习
    • 课余生活
  • java基础

    • HashMap原理介绍
      • 宏观(数据结构和编程语言层面)
      • 微观(具体HashMap的实现)
        • 底层数据结构
        • 扩容
  • 同步异步

    • 同步阻塞和异步非阻塞的性能比较
    • 同步阻塞和异步非阻塞的区别?
  • 场景题

    • 在高速公路上,假设每10min,就能看到一辆车通过的概率为97%,同时假设所有的车流量是匀速、稳定的。求解30min内至少看到一辆车的概率为多少?
      • 解决方案:采用反面考虑该问题,30min内没有看到一辆车的概率为p=3%3%3%,所以本题的答案为1-p
    • 两个人玩游戏,游戏场景如下:在一个圆桌上,摆放硬币,当一方无法在放下硬币时,结束游戏,对方获胜。(圆桌至少可以放置下一个硬币)求解是否存在先手必胜的策略
      • 自己的思路:先手第一次放的硬币的位置为圆桌的中心,以后存放仍然按照剩余空间两段弧长的中心放置硬币,貌似没有必胜的策略
      • 面试官给的提示:先手第一次放置的策略同上,以后每次放置的位置是通过对方放置后的位置,然后找其关于圆心的对称点进行放置,这种策略下是必胜的策略。
    • 场景如下:现在在网上有一个购买虚拟课程的需求,目前已有的实现是:从前台提交订单付款,到后台处理数据,记录状态,发货,给客户发通知,这些一系列的操作是串行执行的。请问如何对该场景进行优化、解耦
      • 串行执行可能带来阻塞(用户体验不太好)
      • 事务的控制
  • 算法题

    • 给定1~n n个连续的正整数,然后在文件中存储n+1个数,取值范围在1~n闭区间中,其中只有一个数重复出现一次,找出重复出现的该数(simple)

      • 解决方案:采用数学解,通过等差数列求和求解,时间复杂度O(n)
    • 上题的前半部分题目不变,后面条件改变为存储的n+1个数中,有多个重复的数,全部找出来重复的数,n很大很大(42亿)。(hard)

      • 解决方案:采用bitmap求解(附带问题42亿需要多大的bitmap存储空间?)
  • 设计模式

    • 装饰者设计模式
      • 简单介绍其jdk中的使用场景
      • 举个简单的业务使用场景
      • 装饰者设计模式的思想是继承还是组合?(组合)
    • 单例设计模式
      • 手写单例模式实现
      • 懒汉式、synchronized(方法级别锁)
      • 双重锁(优化1)
      • 静态内部类(优化2)
  • Spring框架

    • what what is Spring?
    • why why do you use Spring in your projects?
    • how How to use Spring and which modules use in projects?
      • IOC
      • AOP
      • 声明式事务
      • JdbcTemplate(持久层)
  • redis

    • 五种数据结构 string,hash,set,list,zset.
    • zset的底层实现
    • redis的两种持久化方式
    • 实现分布式锁set nx ex
  • 面试官建议

    • 考虑在正式入职之前,到公司实习增强自身的能力
    • 关注前沿技术
  • 还有什么要问的

    • 能否介绍下面试官您所在的部门的核心业务?(搜索和推荐)
posted @ 2018-10-16 22:15  追寻自我  阅读(486)  评论(0编辑  收藏  举报