接接接
点赞 评论

相关推荐

05-10 17:19
已编辑
门头沟学院 Java
是做java的一个组,从来没想到能面过一面- 手撕:子集,最长公共字串- 撕出个贼弱智的bug,修好了后面都没咋问了二面- 讲下实习项目- 讲下SQL优化思路- 讲下TCP拥塞控制- 进程线程协程区别- 进程通信用过那些,线程通信有啥- 讲下Kafka为什么选这个- 还知道其他的消息队列吗- Java GC咋做的- Raft机制- 直接扔了三道题跑了……- 基础计算器- 30w员工公平选出10w- 逆序对面委会- 全程深度八股+SD非常硬核- 说一说url到相应的得过程,从客户端到服务端每个都详细讲一讲- TLS如何保证数据加密的- TLS服务端做了什么- 如何验证的身份- 如果设计个web server你会怎么设计(先讲了下 springmvc如何去处理的)- tcp你如何处理呢(说了一下多路复用)- 多路复用你如何来做,不是原理(讲了下java NIO模型),讲一下java selector 返回什么东西- TCP粘包你如何处理(这段应该想问c++ webserver,但是我不会c++啊,xjb讲)- TCP优化你能想到什么,除了多路复用(tcp_reuse + syn cookie)- 讲一下如果让你设计一个jvm,如何管理内存的申请和释放,不要那么复杂的结构(这段是真拷打麻了,说了空闲列表,但是讲的不完美)- 申请,释放过程是怎样的,用的什么数据结构,复杂度是多少,有没有更简单的结构(这段感觉越说越烂)- 不是OS内存是进程里面如何设计- 如果一个大对象如何分配内存- raft如何保证一致性的- 你要如何设计kv数据库(没设计过,先从CAP再到内存磁盘选型)- 集群如何保证一致性- 内存和磁盘的优势- 内存里数据结构是啥,磁盘里数据结构是啥(只会说redis)- 客户端如何与节点进行交互的,节点与节点之间如何同步(这里redis和raft都说了下)- 现在有一篇文章,我有很多关键词,如何判断这些文章里有没有这些关键词(分词+hashset)- 分词算法有那些,复杂度是多少(真不会)- 那现在不让你分词,你有什么办法(字典树,感觉说的也不行)- 生产者消费者模型你怎么实现,用什么数据结构- 如果用数组是不是很浪费(动态扩缩容)- 如果这个消息包非常大,你如何处理- 事务的特性与MySQL如何实现- 1h,无反问
点赞 评论 收藏
分享
腾讯微信前端面试面经:技术与沟通的双重考验一、面试初体验这次腾讯微信前端的面试,整体节奏张弛有度。开场长达20 - 30分钟的项目交流,让我感受到面试官对实际项目经验的重视,后续的技术问答和算法考察也极具针对性,尽管最终未能通过,但整个过程收获满满。二、项目细节深度探讨1. 大模型相关技术交流面试一开始,面试官便聚焦于我在实习中涉及的大模型调用相关项目,围绕前后端交互、数据结构化处理、流式传输等技术点展开提问。当谈及流式传输时,我提到工作中接触过的Server-Sent Events(SSE)和Backend For Frontend(BFF)架构,解释了SSE如何实现服务端到客户端的单向实时通信,以及BFF层如何针对前端需求定制数据接口,减少冗余请求。在聊到JSON流式解析时,面试官追问“为什么选择自己手写解析?”,我坦言最初是出于学习目的,参考了开源项目的实现逻辑,希望深入理解数据逐块处理的原理,但这个回答可能未能展现出足够的实际应用价值。2. 智能自驾数据可视化项目我介绍了负责的智能自驾数据可视化项目,主要通过React Hook获取数据,再利用表格组件进行展示。由于项目逻辑相对基础,缺乏性能优化层面的实践,面对面试官对性能优化的潜在期待,我未能给出亮眼的回答,意识到这是自己项目经验中的一大短板。三、算法与技术实操考察1. 算法题:有序链表合并第一道算法题是合并多个有序链表,这是经典的归并问题。我采用分治思想,先两两合并链表,逐步减少链表数量,最终得到合并后的有序链表。通过代码实现和思路讲解,基本完成了题目的要求。2. 技术题:防抖与节流第二道题考察**防抖(Debounce)和节流(Throttle)**函数的实现。在实现节流函数时,我使用记录上一次执行时间的方式,控制函数在指定时间间隔内只能执行一次。但当面试官追问“如何优化防抖函数,避免重复创建定时器”时,我没能及时想到通过保存定时器ID(timeoutId),在新触发时清除旧定时器的方案。面试官略带遗憾的一句“这不应该呀”,让我意识到这个关键知识点的疏漏可能影响了整体评价。四、轻松闲聊与最终结果算法环节结束后,氛围变得轻松起来。得知面试官也是成都人,我们自然地聊起家乡美食、生活日常,还调侃了一下恋爱话题,整个交流十分融洽。面试官最后表示最迟次日给答复,虽然最终收到未通过的消息,但我明白或许是有更契合岗位需求的候选人,这次经历也让我清晰认识到自身技术短板与改进方向。
查看8道真题和解析
点赞 评论 收藏
分享
05-28 19:08
已编辑
门头沟学院 Java
突然收到面试邀请,而且没有hr电话直接就甩了个晚上的面试链接。自我感觉答得不好,估计是挂了,但面试官人很好,氛围相对轻松。public、protected、default、private​重写和重载区别JVM内存模型​类加载过程,字节码加载过程​OOM​AOP​讲讲RPC​算法题:二分查找+测试用例​TCP/IP四层模型​,那一层是IP、那一层是端口​TCP和UDP区别​三次握手及为什么三不能是两次GET和POST区别​Linux 的命令​,查看CPU情况介绍一下做过的项目​电商退款有哪些测试用例​死锁是什么及其原因​慢查询原因及如何定位慢查询​什么字段适合建立索引?innoDB跟myISAM...
一笑而过2222:1. Linux查看CPU情况:使用 top 可实时查看系统CPU整体及各进程占用率,按 1 能展示每个核心运行状态; htop 以可视化界面增强交互性; mpstat -P ALL 精准统计每个CPU核心负载; lscpu 输出CPU架构、缓存等硬件信息; vmstat 综合展示CPU、内存、IO等资源使用趋势; sar -u 基于历史数据统计CPU负载; nproc 直接获取CPU核心数量。实际分析时,先用 top 快速定位异常,再结合 mpstat 等深入排查。 2. 电商退款测试用例:功能测试覆盖全额/部分退款、不同发货状态处理、退款金额计算及多渠道返还;异常测试包含重复退款、越权操作、网络中断恢复;业务规则聚焦退款时效控制、优惠券分摊逻辑、高频退款风控;同时补充兼容性(多终端适配)和性能测试(高并发场景响应),保障退款流程稳定可靠。 3. 死锁及其原因:死锁是多进程/线程因资源竞争形成互相等待、无法推进的阻塞状态,需同时满足互斥(资源独占)、请求保持(占有资源时请求其他资源)、不可剥夺(资源不能被强制释放)、循环等待(形成资源等待环路)四个条件。常见于数据库事务交叉锁定、多线程无序获取锁等场景,可通过资源预分配、顺序加锁预防,依赖日志或线程Dump分析检测。 4. 慢查询原因及定位:慢查询根源在于索引失效(未命中或设计不当)、数据量过大导致全表扫描、复杂查询(嵌套子查询、大量JOIN)、锁冲突(行锁升级表锁)、服务器资源瓶颈(CPU/IO过载)。定位时,先启用慢查询日志并用 pt-query-digest 分析高频慢SQL,再通过 EXPLAIN 剖析执行计划,结合 SHOW ENGINE INNODB STATUS 排查锁等待,必要时借助 Performance Schema 监控资源消耗。 5. 适合建索引的字段:优先对高频出现在 WHERE 、 JOIN 、 ORDER BY 子句中的字段建索引,尤其是高选择性字段(如身份证号、手机号);组合索引遵循最左前缀原则;写入频繁字段谨慎建索引,避免影响性能;大字段类型可使用前缀索引优化查询。 6. InnoDB与MyISAM区别:InnoDB支持事务、外键和行级锁,采用聚簇索引存储数据,适合高并发读写场景,具备崩溃恢复能力;MyISAM使用表级锁,无事务支持,索引与数据分离存储, COUNT(*) 统计高效,但不适用于写密集业务。生产中InnoDB用于核心交易模块,MyISAM适用于只读统计类表。 7. InnoDB锁及表锁升级:InnoDB提供共享锁、排他锁、间隙锁等多种锁机制,并通过MVCC减少冲突。表锁升级常发生于SQL无法命中索引引发全表扫描、大事务更新大量数据导致自适应哈希索引失效、执行 ALTER TABLE 等DDL操作,以及死锁检测后强制升级场景。优化需确保索引覆盖查询,拆分大事务降低锁粒度。
查看20道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务