新华智云暑期实习一面二面(已offer)

2/23(周三)
面(35min):
  1. 聊项目,断点续传,流量限制

  2. 平衡二叉树概念

  3. 获取普通二叉树所有的平衡二叉子树(口头答

    1. A:说了一个用遍历的方式挨个验证每个节点是否符合,面试官要求优化没说出来.....
    2. h
  4. 图的广度遍历和深度遍历(口头答

  5. java实现一个任务的超时中断。

    1. A:      计时使用一个标志来标志打断,任务线程主动中断。或者 使用Thread.interrupted()中断

  6. 单链表找倒数第k个节点(口头答

    1. A:说了使用回溯法,然后面试官说如果链表长到递归栈溢出怎么办。又说了用迭代先反转然后再找第k个。没说到面试官想要的答案(快慢指针给我忘记了。。。。

  7. 算法题

    1. 大数求和(AC)

  8. 问:略、
=========================================================================================更新2022-2-26
2/26(周六)
二面(1h):
  1. 聊项目,敏感词过滤AC自动机的实现原理(面试官说了个如果本来不是敏感词的单个词组合成了敏感词该怎么办.....我没考虑过)
  2. 问怎么学习的,看了什么书(准备了下计网和Mysql 结果没问 5555..)
  3. 怎么检测一个数是2的幂次方(往二进制说了,但是怎么快速找到第一个1的解法没找到,换题了)把 n&n-1 就可以(因为二进制幂次方的时候只有一个1,如 1000 & 0111)

  4. 1000个苹果放10个篮子,要求设计一种放法,可以支持0~1000任意数的拿法。(二进制表示0~1000, 按照位权 1 2 4 8 16......),追问最后一个篮子苹果数量(1000-前面的)
  5. 线程同步问题,三个线程交替打印abc,口述(说了用ReentranLock 或者 cas)
  6. 进程是什么时候才能运行,答了下进程七状态模型。
  7. JMM内存模型 ,

    1. 追问:工作内存和主存区别。(答了下作用,和执行操作的流程)

    2. 追问:既然都在同一块内存中为什么在工作内存中效率要比主存中直接拿效率要高(说了下可能修改的时候得加锁会影响效率,os给进程线程分配资源,但是都没答到点子上) 是不是因为从工作内存可以直接拿,而从主存得先复制到工作内存,又或者从计算机取值的角度(IR寄存器)答,



        1. 2022.3.9(更正)jvm 在java 的层面定义了工作内存(那些线程内私有的变量)(cache) 主存(那些共享的变量), 普通情况下一个线程读一个变量是先将其从主存复制到工作内存,然后进行访问的,如果对共享变量没有修改操作,jvm会做一个优化,下次读取该变量的时候直接从工作内存中获取,而不需要从主存重新拉数据,这时候有其他线程修改了主存中的共享变量,对于当前线程来说修改也是不可见的。需要加上volatile 关键词,他做的操作类似总线的缓存一致性协议MESI。当主存中的共享变量被修改后,会及时通知其他的线程失效掉自己工作内存中的数据重新拉取最新的数据,来达到共享变量的可见性。但是其不能保证原子性(略,这个展开还有很多)。对于工作内存(cache)高速缓存肯定是比直接从主存中获取数据是更快的。
        2. 2022.4.9(补充)最近看了下《深入理解Java虚拟机》:对应线程的工作内存 虚拟机是会将其映射物理层面对应的寄存器和高速缓存中。所以速度会更快。模型对应:java工作内存---->cpu内核用的高速缓存和相应寄存器。 java主存------>操作系统用的主存


  8. volatile原理,如何保证的可见性
  9. 操作系统实现进程同步的几个方法

  10. 算法:

    1. 求一个数组中的 连续k个长度 的子数组中的最大和(AC 滑动窗口解)
  11. 面试官评价:Java底层深入还可以多看看书

感觉凶多吉少了.......
=========================================================================================更新2022-3-9
hr面,聊了聊天

#面试复盘##实习##面经##面试题目##新华智云##java工程师#
全部评论
【阿里巴巴菜鸟网络】【2023实习】【Java研发工程师】 学长内推,面试流程可跟踪,欢迎大家投递。 投递链接:https://www.nowcoder.com/jobs/intern/detail?jobId=89039
1 回复 分享
发布于 2022-02-25 16:36
您好 是电话面的嘛?
点赞 回复 分享
发布于 2022-03-14 19:52
【阿里巴巴钉钉】【23届】【JAVA研发工程师】学姐内推,实习可转正,投递链接https://www.nowcoder.com/discuss/848091?source_id=profile_create_nctrack
点赞 回复 分享
发布于 2022-02-28 15:12
这实习要求真高,问的这么有深度的题
点赞 回复 分享
发布于 2022-02-24 12:52

相关推荐

03-23 18:31
已编辑
中国农业大学 Java
Q: Redis 去重方案,是使用“用户 ID + 消息模板 ID”作为键吗?这里的模板 ID是指每个配置的模板类型拥有唯一 ID,还是说不同配置下 ID 会重复?Q:项目中使用的 Redis 架构模式是什么?是单节点、哨兵模式(Sentinel)还是集群模式(Cluster)Q:引入 Apollo 配置中心是为了解决什么问题Q: Kafka 部署时如何搭建生产环境和消费环境?具体的集群架构或部署方式是?Q:关于渠道业务,虽然目前数据量不大可能不需要限流,后续流量增大,如何设计限流策略Q:项目中的线程池具体用哪种方式创建或配置(例如通过 ThreadPoolExecutor 构造函数还是工具类)?Q:详细描述项目中使用线程池的整体逻辑流程,包括任务提交、执行以及后续处理的步骤Q:线程池的拒绝策略主要有哪几种Q:核心线程数(corePoolSize)在运行过程中是否可以动态减少Q:数据清洗过程中是否考虑过可能出现消息乱序或数据重复的问题?如果有,如何解决Q:使用的 MySQL 数据库中,单表的最大数据量大概达到多少Q:在数据库中添加索引的主要目的是什么Q:添加索引时,特定的规范或原则?具体的优化策略?Q:简要解释回表Q:对于一条包含 SELECT * FROM table WHERE condition ORDER BY ... LIMIT ... 的 SQL 语句,各个子句的执行顺序Q:如果是多表关联查询(涉及主表和子表),MySQL 底层是如何处理和执行这些连接操作的?Q:假设开发的一个接口响应时间长达一分钟,需要从哪些方面入手进行优化?简述优化思路。Q:结合您的开发经历,你认为引入大模型技术相比传统开发方式,主要在哪些方面提升了开发效率或系统能力Q:多场景对话支持中,系统如何实现不同场景之间的隔离与共享Q:主要使用了什么存储介质来保存对话的状态、记忆或中间数据
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务