快手IM即时通讯组有了解的吗

快手IM即时通讯组有了解的吗#部门评价##快手#
全部评论
同问
点赞 回复 分享
发布于 2020-10-22 19:16

相关推荐

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道真题和解析 牛客创作赏金赛 我的求职思考
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务