面经(2022 美团暑期实习 -一面)

  1. 自我介绍 
  2. 项目:
    1.   简要介绍项目的相关的事宜

      1. 在这里插入图片描述
      2. 可以根据项目的架构图来进行相应的项目描述
      3. 介绍相应的项目架构:(应用层、服务层、数据的底层存储介绍)(具体做出相应的划分)
      4. 商品的相应的数据库的表设计
      5. 商品中的服务层相应的组块()                                                                                                                                       
      6. 项目的架构方面的实现:(单体模式还是分布式的模式(应用了什么的技术))
        1. 微服务:分成具体的那些模块()
        2. 商品服务负责的那些内容:
        3. 商品预定是属于那一块的服务类型
        4. 商品的相关信息(数据库中相应的表的字段)
        5. 商品服务中如果要进行相应的减库存(限流(也有可能并发的减少库存):使用线程安全的集合去 保证数据安全(分布式锁来实现(answer):相当于单线程)),要怎么进行操作
        6. 使用mysql和redis进行数据缓存 ,在使用redis的时候数据的更新策略为什么是先更新数据库在更新缓存。
        7. redis的数据的有效时间一般来说设计多少比较合适
        8. 缓存的查询:先去查询redis,然后没有再存储
        9. 保存数据库的读写一致性问题?如何去解决(采用的是先更新数据库再去更新相应的缓存(通过进行相应的举例说明来解释)(redis的ppt说明上))
        10. redis 上数据更新的方式(主动更新以及相应的自动更新的方式),先更新了MySQL的相关数据,再更新redis。
        11. 更新redis的失败之后会进行如何的处理?会有相应的线程去处理进行数据的验证(定时任务的扫描)
    2. 项目的并发较大,巅峰期的qps的大概在多少?(回答-10w)
      1. qps (每秒处理多少的请求)
      2. 项目的并发操作的实现
  3. 八股(本次主要设计的是数据库、Redis 、jvm、Linux的相关操作、)
    1. 不熟悉的点:
      1. 在提到聚簇索引、非聚簇索引的时候 提交回表的相关操作
      2. 跳表:通过在双向链表上
    2. mysql的事务有那些的了解(acid 以及相应的幻读、不可重复读、)、相应的隔离级别以及相应的解决方案
    3. redis 相关的数据类型(5种)
    4. sort Set 的相关的数据结构
    5. Linux的相关操作(记住常用的几个,并且集合相关的业务场景去进行描述)
    6. 线程池的相关参数以及相应的 执行流程
    7. juc下的锁的相关含义(sychronzid(锁的一个优化升级(无锁、偏向锁、轻量级锁、重量级锁的简要描述))、JUC 包下相应的锁(RentreenLock、读写锁(ReentransWriterReadLock )、关键字volatile ))
    8. jvm虚拟机中运行内存的简要描述(相应的堆、方法区(常量池)、java虚拟机栈、本地方法栈、程序计数器的相关功能)
    9. 垃圾回收:
      1. 垃圾回收的主要区域:堆
      2. 垃圾回收主要回收的对象:
      3. 判断一个对象是否容易被回收:使用可达性算法,判断到gc root的相关的距离
      4. 那些对象可以被当作gc root 
        1. 虚拟机栈中的引用对象
        2. 方法区中类静态属性引用的对象
        3. 方法区中常量引用对象
        4. 本地方法栈中JNI引用对象
  4. 最近都学习那些相关的计算机的书(按照所学的学科以及 相关的中间件进行回答:)
    1. 计算机网络:
    2. 数据结构
    3. 计算机操作系统:
    4. spring :
    5. redis:
    6. jvm
    7. 相应的算法书籍
  5. 在项目中学习和使用的中间件大概是有那些
    1. springcloud 进行微服务的架构
    2. spring naco 作为相应的注册中心以及配置管理中心
    3. 使用相关的消息中间件来进行消息的异步处理
  6. 算法题:

    1. 思路:使用滑动数组进行实现(设置一个双指正实现 )
    2. class Solution {
          public int removeDuplicates(int[] nums) {
              //目的:删除掉重复项(有序数组)
              int slowIndex = 0;
              int fastIndex = 1;
              //创造位移差
              while(fastIndex < nums.length){ // 本质是循环终止
                  if(nums[fastIndex] != nums[slowIndex]){
                      nums[++slowIndex] = nums[fastIndex]; 
                      //相当于自己复制(差为1 时),若差值超过1(大于等于2)迁移覆盖
                  }else{ //相等(还抱着自己等于自己的前进)
                      fastIndex++;
                  }
              }
              return slowIndex + 1;
          }
      }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
我可以为你提供一些关于 Unity 实习面经的信息。以下是一些常见的问题和主题,可能会在 Unity 实习面试中提及: 1. Unity 基础知识:面试官可能会问你关于 Unity 的基础知识,比如游戏对象、组件、场景、动画等的概念。 2. C# 编程:Unity 使用 C# 作为主要编程语言,所以你可能会被问到关于 C# 的基本语法、面向对象编程等方面的问题。 3. Unity API 和功能:面试官可能会问到你对 Unity API 的了解程度,以及你是否熟悉常用的 Unity 功能,比如碰撞检测、物理模拟、粒子系统等。 4. 游戏开发经验:如果你有相关的游戏开发经验,面试官可能会询问你参与过的项目、你在项目中扮演的角色、遇到的挑战以及如何解决问题等。 5. 问题解决能力:面试官可能会给你一些实际的问题场景,并评估你解决问题的能力和思维过程。这可能涉及到编程逻辑、算法设计或解决技术性问题的能力。 6. 项目展示:如果你有自己的作品或项目,面试官可能会要求你展示项目的代码、设计思路和实现过程。 7. 其他技术:除了 Unity 和 C#,你可能会被问到其他相关的技术,比如游戏设计原则、图形学基础、网络编程等。 这些只是一些常见的问题和主题,具体的面试内容可能因公司和职位要求而有所不同。提前准备并熟悉这些问题,可以帮助你在面试中更好地展示自己的能力和经验。祝你面试顺利!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值