北京掌上先机科技 java实习一面二面

一面(1h):

面试官人很好,很有耐心,而且态度诚恳,面试的时候感觉在聊天,刚开始还是有点紧张的,聊着聊着就放开了。

因为不会java,所以问问别的。

30分钟:
问问项目,我把做的项目做的什么,遇到什么问题,怎么解决的,项目对我的帮助讲了讲。
面试官说我能把一个项目(cv方向)讲给不太了解这个方面的人,清晰的讲明白,这点是一些研发人员不具备的(可能大佬们不爱说话?)

问问mysql的数据库锁,隔离级别,生产者消费者模型,pv信号量,有讲的不清楚的面试官还会给我补充(!!!)

一直劝我接着走c++,不要放弃(好好的面试官啊)

二面(1h):

问java面试为啥主c++的来了

这个面试官也很谦虚,非常耐心。

讲讲mysql优化,集群分布式的区别,你是怎么认为的?
如果有个集群是专门做读操作的,那么在什么情况下会这么用呢。
由于主从服务器直接有延迟,我想读,用什么策略可以做到读时没延迟
了不了解大数据运算
大多都是场景问题或者设计方案

(我不会啊....)面试官说的比我说的都多,并且给我讲了啥是电商平台等等。虽说很遗憾不能成为同事,但很感谢两位面试官,愿意花时间讲很多干货
全部评论
佬,有三面吗
点赞 回复 分享
发布于 2024-08-16 11:49 重庆

相关推荐

2024-12-07 15:35
蚌埠坦克学院 Java
timeline笔试 11.20技术1面 11.21 技术2面 11.25hr面 11.27 (群面)一、笔试选择10道 主要是sql java 计网的题 不难就不多说1. 判断sql对不对,功能问题2. Java语言语法问题,比如构造器问题,初始化问题,接口里面能有什么,不能有什么。网络协议相关简答题1. 队列的Java实现,怎么实现阻塞队列,添加什么成员变量,实现一个阻塞添加元素的方法2. Java的线程状态 以及状态转换条件编程题1. 订单号少一个,你得找到他2. 完全平方数二、技术1面1. 集合部分:问hashmap底层原理2. hashmap是否线程安全3. 线程安全用什么,hashmap怎么用?或者用其他的api比如concurrentHashMap4. redis问:项目哪部分用了? 我说的是视频模块,比如视频id + 视频访问地址,项目哪里用?5. jvm虚拟机 问垃圾回收算法 标记清除 复制 标记整理 CMS(整个流程)(初始标记、并发标记、最终清理)优缺点6. gc年轻代晋升老年代的情况有哪些(他说4个)7. gcroot对象?怎么判断对象是否存活?8. jvm参数10. 怎么查看内存泄漏问题  有哪些命令 哪些工具?11. jmap  jstat命令的作用,干啥用?12. arthas我用过哪些功能,具体做了什么?13. 我自己开发的arthas工具 怎么实现的,基于什么原理,使用什么技术?14. mysql索引优化的方法?怎么优化?怎么排查慢sql?15. mysql组合索引?排查慢sql引出的?16. mysql组合索引失效的场景?17. MQ怎么保证消息不丢失?18. 防止重复投递?怎么实现消息的幂等?19. 项目:性能优化? 实现了什么优化?哪部分做了优化?20. 项目:缓存怎么实现同步?缓存怎么添加的?预热?还是别的?21. 项目:缓存查不到怎么办?22. 项目:缓存三兄弟?项目里你是刚开始就考虑了?还是后期进行优化?23. 项目:缓存穿透?数据两两都不在?解决:bloom过滤器?24. 问:10亿数据 需要多少空间存储,比如命中率8 90左右?25. 问题:实际10亿数据,也不需要太大的空间,所以可能没必要说减少空间占用,设计90的命中率?26. bloom过滤器的底层原理,bitmap实现,3次hash确定是否存在?27. bloom过滤器的特点?查有不确定,查没有是确定的、28. 算法题:和为k的子数组个数,不能用滑窗,因为不满足递增顺序,我写过三、技术2面1. 讲rpc项目(我当时讲了15分钟-20分钟)2. 项目:rpc的底层思路(服务提供、服务注册、服务发现(redis、zookeeper、nacos、eureka)、服务的使用者、3. 项目:什么叫rpc,为啥要有 rpc(远程过程调用、分布式系统里,不同实例、组件提供不同的功能、分模块开发、组件提供服务4. 项目:rpc项目的难点(技术选型、序列化算法的选择)nacos、eureka、redis、zookeeper、或者序列化算法jdk、json、protobuf各自的优缺点,为什么要选择protobuf这个序列化器5. 项目:rpc框架技术实现的参考(openFeign、dubbo)参考的内容有哪些(基于接口的请求调用 与 底层的从api调用到底层网络协议的转换。6. 项目:因为我说了基于openFeign,所以他问我openFeign的实现思路(首先通过接口,获取本次调用的远程api的元数据metadata,然后通过nacos拉取服务列表数据,通过Ribbon组件进行负载均衡,随机、轮询、一致性哈希等,然后通过动态代理CGLIB 以及 序列化器实现 api调用到底层网络报文的转换,基于LTC解码器实现粘包半包问题的解决,然后在此基础上自定义协议,设计魔数,版本号考虑后续升级,以及远程调用消息命令编码等。7. 项目:为啥要开发这个项目(我说基于第一个项目的实际需求,之前考虑使用openFeign和dubbo,然后因为学习netty和轻量化rpc框架,考虑自定义框架。然后将自己的RMI-RPC框架应用到项目里,进行项目技术的升级。8. 科研课题:加密(我讲了一下具体的研究思路,和技术点,静态的实现和问题、引出动态,然后检测用ML、分类用DL、提取更丰富的特征)(10分钟左右)9. 学习技术的大概思路:成熟技术:先看黑马视频,然后了解全局,之后根据需求,买书,看具体的底层原理和实现,针对性的看,不会从头看到尾)10. 对于新技术:主要看csdn或者稀土掘金博客,了解大致,然后或者看官方文档。我当时说如果基础一般的话,看文档可能有阻碍,也就是看文档,分不清重点和非重点,除非有一定的经验和基础之后再看。11. 给了一道题,这里主要考察 1. 栈帧 Java虚拟机栈 2. finally的特点 3. 还有普通类型和包装类型  4. return并不是直接结束方法(至少有finally并不是这样) 5. return将结果放到栈帧里面的返回空间内部这里 普通类 和 包装类 结果都是0,需要注意,return的功能。栈帧还没弹出的时候,根本不可能执行后续的代码。我这里讲了一下jvm虚拟机栈的思路。10. Mysql 写一个sql,有一个订单表(userid,create_time,其他字段)现在要查询指定用户在某个时间段内的订单信息,sql怎么写?11. 如果说,数据量一亿、并且create_time区分度高,userId区分度低,怎么解决刚才那个sql查询慢的问题?(数据量大考虑进行分库分表,create_time区分度高,更适合在其上面创建索引。这里我讲了where条件书写顺序问题,讲错了,实际上mysql优化器会根据具体的索引情况进行字段优化。书写顺序和实际执行顺序不一定一致)12. 问题:我当时讲了联合索引(他说联合索引书写也没顺序要求,这个得看)13. 问题:你的技术和leader技术相左,你会怎么处理(总结提出书面技术报告,然后提交给leader看,主要讲了不同层面看问题角度不同、可能还有技术的开源与否等问题、安全问题等)14. 问题:如果你是leader、组员这样意见相左,你怎么处理(我会解释不是技术不行,具体不采用的原因)15. 问:你其实可以不解释的,为啥要解释(我说我性格是这样,而且维持团队的和谐关系,对于后续开发和其他进展更好一点)反问:公司部门业务(供应链相关 1688 和 小微企业数据互联、组技术很多 java 大数据技术 还有ai技术都有涉及)、面试(最后一个hr面试)#掌上先机##牛客创作赏金赛##我的求职思考#
若熙_waltz:这叼公司面试这么烦,工资就给一点点
查看50道真题和解析 牛客创作赏金赛 我的求职思考
点赞 评论 收藏
分享
牛客2024-10-18投的,不久后会发笔试链接,笔试内容有选择题 多选题 还有算法题和数据结构设计题我记得。11-13 一面拷打我的弱鸡秒杀项目,被打烂了,我题都没听懂,大脑自动删除了这段记忆(依稀记得和库存有关);一些八股,时间有点久了,好像问了threadlocal;sql题:店铺商品金额查询每个商品的金额都大于500的店铺名称我的答案:SELECT DISTINCT 店铺 FROM 店铺商品表t1 WHERE NOT EXISTS (SELECT 1FROM 店铺商品表t2WHERE t1.店铺=t2.店铺 AND t2.金额<=500); 后面复盘感觉时间复杂度偏高,可以使用group by和having的;算法:给两个整数数组nums1和 nums2,返回两个数组中公共的、长度最长的连续的子数组的长度。示例1:输入:nums1 =[1,2,3,2,1],nums2= [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是[3,2,1]。示例2:输入:nums1 = [0,0,0,0,0], nums2= [0,0,0,0,0]输出: 5我的答案:class Solution {    public int findLength(int[] nums1, int[] nums2) {        int m = nums1.length;        int n = nums2.length;        // dp[i][j] 表示以nums1[i-1]和nums2[j-1]结尾的最长公共子数组长度        int[][] dp = new int[m + 1][n + 1];        int maxLen = 0;                // 初始化第一行和第一列都是0,不用显式初始化,Java数组默认值就是0                // 填充dp数组        for (int i = 1; i             for (int j = 1; j                 if (nums1[i-1] == nums2[j-1]) {                    dp[i][j] = dp[i-1][j-1] + 1;                    maxLen = Math.max(maxLen, dp[i][j]);                }                // 如果当前元素不相等,那么以这两个元素结尾的公共子数组长度为0                // 不用显式设置,因为默认值就是0            }        }                return maxLen;    }}11-15 二面,应该是主管面问我研究方向,研究背景,我的模型什么的,研一的三篇paper;继续拷打我的弱鸡秒杀项目(QwQ);八股:mvcc;算法题:不重复子串问题。11-29 三面,CEO面12-3 好像是中午人力聊了一会(口头offer),下午发的正式offerps:字节挂了痛苦死我了#日常实习后端# #面经#
查看7道真题和解析
点赞 评论 收藏
分享
评论
7
6
分享

创作者周榜

更多
牛客网
牛客企业服务