首页 / 面试常问题系列
#

面试常问题系列

#
139524次浏览 3032人互动
此刻你想和大家分享什么
热门 最新
04-26 21:13
门头沟学院 Java
面试官:你的项目都是跟网上学的吧
OceanRivers:他又不可能知道你整个项目的内容,你把其中一部分当成你自己设计的来说,他也不知道啊,只要你能说清楚他又有什么办法
点赞 评论 收藏
分享
04-05 20:54
已编辑
复旦大学 Java
面经分享
腾讯qq三面: 项目上线没  没但是压测过 咋压测的(我瞎扯提到qos了:)如果qps提高到多少多少,怎么办?# 系统瓶颈在哪里(回答 redis用的主从,不如集群好。追问为啥没有集群好,我说的可能会存在热key问题:) 感觉这已经完蛋了分布式高可用大模型忘记说做过的rag 多模态了腾讯复试实习问难点:没有难点,勉强说一个我简历上写的是缓解热key 他说既然你写的是缓解,如何解决这个问题然后问我分布式缓存的意义 既然已经有了本地缓存问我如何保证他两的一致性,他的意思是canal+binlog已经可以毫秒级同步了,过度设计了。因为我提到了更新时候,先更新DB,删缓存,就问了我如果这时候超级多流量达到DB咋办。我想不到,最终他的意思是 先用本地锁运行几个访问db这时缓存里面就有了(我是傻子,选了加分布式锁+MQ 然后在MQ的路上越走越远,其实我最开始的想法就是 很快,缓存就同步了。)不过面试官很好,我其实可以不着急慢慢想很多人发帖子,忘了。朋友圈获取我关注人,按时间 忘记了问我我一个项目流程,我讲的很快,因为我电脑要没电了 今天下午快4点通知我晚上7点面我找不到自习室哎-------我之前在牛客看到这些场景题但是我没准备,我以为复试还是项目+力扣呢------------qs让我说我自己的优点我就说了个自律 哎腾讯加面为啥加了本地缓存还是不能缓解热key 本地缓存过期策略是啥,面试官慢慢在引导我,可是我回想有些我没有说出来JDK 升级:肯定不会一上来就升级啊,你们没有查接口调用耗时+full gc young gc耗时,我:我不知道库存扣减会不会出现redis和mysql不一致,会不会出现超卖或少卖回滚库存是一起回滚的嘛?会不会出现redis和mysql不一致手撕先一道hot100 后面又出了一道说时间没道+我初试表现不好要考察代码能力美团二面 日常全程30分钟不到。介绍到一半就打住了,问springboot mysql慢查询如果走了索引还有啥可能,你咋排查慢sql OOM用啥软件/命令 项目难点 手撕:K个链表反转就结束了 他说一周通知我结果 美团一面:SpringSpringBoot就是提供了运行时候容器tomcat之类的,自动配置starter怎么定义一个bean介绍Spring 介绍AOP IOC 没答好好久没看了B+树矮胖为啥就好呢?磁盘IO少Redisson里面有很多锁,你用的是哪个syn锁升级不知道JVM内存结构没说对项目1既然用了RabbitMQ为啥延迟队列不用他索引 mysql二叉树最大路径和美团一面太友好了呜呜呜 早知道我早点面了,感觉面太晚了没hc了哎 从上周五拖到这周二(上周二发的面试邀约 #滴滴一面挂# 滴一面挂# redis mysql区别(主要是 单线程 / 多线程设计了锁+MVCC+事务隔离机制解决并发问题 redis事务只有原子性,没有一致性隔离性持久性)手撕 我TM把do{l++;}语法写错了 面试官也没要求我写输入输出我tm自己写还给自己挖坑,因为我写的new int[1000]初始化都是0 三数之和就会出现很多0+0+0=0面试官摄像头都没开,最后还说了他们是go腾讯一面让我选实习印象深刻的,然后介绍收益 你这需求上线了么上线了都没衡量为啥要做??HTTP4啥时候出???不知道 那HTTP3呢,,emmm说了一点HTTP3的QUIC 还有啥优化不知道扣减的重复消费(没复习项目哎虚拟线程mysql死锁 主从开头问我大模型我以为是kpi不知名厂:git解决冲突,我说手动springboot预热命令 不知道 他想问的健康检查嘛#面试常问题系列# #牛客创作赏金赛# #蚂蚁求职进展汇总#
查看25道真题和解析
点赞 评论 收藏
分享
[26届四段大厂]从复活赛杀到终面!字节暑期8轮面试OC
“典!等审批就像农批坐大牢,复活赛差点开得比我守高地还勤!蚌埠住了”一战:一面(1:30 h):1.聊简历上RAG的项目,技术栈+技术方案2. 腾讯日常业务,还有在组内搭建的智能助手如何应用,3. 为什么额外做自动化的工具,设计思路和落地是怎么做的4. 小红书做了哪些业务给了git链接,现成讲需求思路二面  (40 分钟) :1.腾讯视频多端开发过程中,样式方案2.自研框架的思路3.聊了 FPS 算法和 FMP算法写题:双指针写的 无重复字符的最长字串HR面 (20 分钟) : 细挖实习,没有为难审批ing-----------等了两周挂了!!!!!!!!!!!!!!!!!!!!!!!!!!HR帅哥给我秒转组,二战了man二战: 一面: 日常八股 + 手撕二面: 简历上的实习产出挨个盘,手写模拟SDK + 并发promise 三面: 前端发展 + 各种场景题目,算法是微信红包四面:问了操作系统,数据结构 + 实习经历总结: 感谢组里大佬们的手下留情,后面把基础抓起来,被问到操作系统的时候,脑子里只有期末考试前冲刺背的PPT    面完差点换组三战了-----------------timeline:1.16 一面1.22 二面2.17 hr面-------审批挂3.6 - 3.13 四轮技术面3.17 早(hr面) - 晚 (oc offer拿到)评价: 进对组,offer审批像呼吸一样快,再也不半场开香槟了#牛客激励计划##暑期##面试常问题系列#
吉于橘:我勒个超长timeline啊
查看13道真题和解析
点赞 评论 收藏
分享
3.4 阿里-橙狮体育 一面凉经
面试时间:1h20min面试问题1:自我介绍2:ArrayList和LinkedList的区别3:HashMap是否可以存储空值4:HashMap1.7和1.8的区别和数据结构以及扩容机制5:HashSet和TreeSet的区别6:JVM容器,和JMM7:线程池的创建方式8:线程池的参数9:线程池的运行流程和常用的线程池10:线程池的任务拒绝策略11:mysql的事务隔离级别12:mvcc原理13:在可重复读级别下什么情况会发生幻读14:mysql执行计划要看什么字段15:redis常用的数据结构16:RDB,AOF17:缓存三剑客---开始问项目(点评+RPC)18:Redis在项目中的应用19:分布式锁的实现20:看门狗机制21:布隆过滤器的数据结构,怎么进行预热,如何进行增量保存22:用户签到的实现23:一个场景题,使用Redis保存用户排行榜,从两个维度(点赞量和点赞时间)考虑该怎么实现24:缓存一致性的实现25:全局ID生成器的实现,如何考虑时钟回拨26:Redis的事务27:Lua语句的考虑,为社么使用lua语句,他的效果是什么28:AOP的实现29:动态代理,jdk和cglib的区别30:Spring事务失效的场景31:Spring事务的传播机制32:synchronized的底层原理33:CAS的原理和缺陷34:CAS和synchronized在锁中的使用35:偏向锁,轻量级锁和重量级锁的转化机制36:乐观锁37:ReentrantLock38:项目中用到的和知道的设计模式39:设计对象时需要考虑的原则40:1G的数据,1M内存,如何获取出现次数最多的100个词手撕:三数之和#面试常问题系列##大家都开始春招面试了吗##26届实习##26实届找工作求助阵地##牛客AI配图神器#
点赞 评论 收藏
分享
03-20 19:09
已编辑
海康威视_前端(实习员工)
前端面试日记:小厂2
面试公司:杭州某小厂面试岗位:前端这两天陆续面了两家公司,这两家公司的语气都比第一家柔和很多,难道第一家给我压力上太大了?不,肯定我是太菜了,我是菜XTUT第二份视频,第三份线下,总体答得不错,在这里继续总结答得不太好的。老样子,题目来源于公司,答案来源于ai,反思来源于自己。面试问题:【技术】1、问题:Vue 中的常见生命周期有哪些?父子组件中,他们的加载顺序和生命周期的一个关系?一般request数据获取是放在create周期还是mount周期?为什么?答案:    Vue 中的常见生命周期包括以下几个阶段:    创建阶段 :        beforeCreate :在实例初始化之后、数据观测 (data observer) 和 event/events 事件回调的初始化之前被调用。此时,data 和 methods 还未被初始化,无法访问到 data 中的数据和 methods 中的方法。        created :在实例创建完成后被调用,此时 data 和 methods 已经被初始化,可以访问到 data 中的数据和 methods 中的方法,但此时页面的 DOM 还未生成。    挂载阶段 :        beforeMount :在挂载开始之前被调用,相关的 render 函数首次被调用,但 DOM 还未真正渲染到页面上。        mounted :在实例挂载到 DOM 后被调用,此时 DOM 已经渲染完成,可以操作 DOM 元素。    更新阶段 :        beforeUpdate :在数据更新时被调用,此时数据已经更新,但 DOM 还未更新。        updated :在 DOM 更新完成后被调用。    卸载阶段 :        beforeUnmount :在实例卸载之前被调用。        unmounted :在实例卸载完成后被调用。    父子组件的加载顺序是:先加载父组件,再加载子组件。这是因为子组件的挂载依赖于父组件的挂载。在父组件的挂载过程中,会解析子组件的标签,并创建子组件的实例,然后触发子组件的生命周期。    父子组件生命周期的关系是:父组件的生命周期钩子会在子组件的相应钩子之前触发。例如,父组件的 beforeMount 钩子会在子组件的 beforeMount 钩子之前触发,父组件的 mounted 钩子会在子组件的 mounted 钩子之后触发。    一般数据获取建议放在 created 周期。因为在 created 周期中,data 和 methods 已经被初始化,可以发起网络请求获取数据,并将数据存储到 data 中。而如果放在 mount 周期,虽然也可以获取数据,但此时 DOM 已经渲染完成,如果数据获取失败或者耗时较长,可能会导致页面显示不完整或者出现加载中的空白状态。放在 created 周期可以利用 Vue 的响应式系统,在数据更新时自动更新 DOM。反思:Vue生命周期就回答了create和mount相关,甚至冒出了个“delete”,回去听录音都给自己整无语了。数据获取答对了,但是对面面试官确实没问理由,要问绝对就开猜了,还好还好。2、问题:大多数前端框架循环都用到了key,这个作用是什么?底层原理是什么?答案:    在前端框架中,key 的作用是帮助框架高效地识别和更新 DOM 元素,特别是在列表渲染时。    当使用 key 时,框架会将 key 的值作为标识符,用于区分不同的元素。在列表渲染时,如果数据发生变化,框架会通过 key 来判断哪些元素是新增的、哪些是删除的、哪些是更新的。如果两个元素的 key 相同,框架会认为这两个元素是同一个元素,只是属性发生了变化,从而进行局部更新;如果 key 不同,框架会认为是新的元素,需要重新创建 DOM。    底层原理与 Diff 算法相关。Diff 算法是用来比较两组数据的差异的算法。在前端框架中,Diff 算法主要用于比较虚拟 DOM 树的差异,以决定如何更新真实的 DOM 树。当列表渲染时,框架会为每个元素生成一个虚拟 DOM 节点,并将 key 作为虚拟 DOM 节点的属性。在 Diff 过程中,框架会通过 key 来快速定位和比较两个虚拟 DOM 树中的节点,从而找到需要更新的部分。如果没有 key,框架只能通过元素的索引来进行比较,这在列表中元素的顺序发生变化时会导致错误的更新。反思:答出了提高渲染速率和鉴别元素创建。至于比较关键的术语“局部更新”“DOM重建”确实没粘边。估计大厂会问到diff算法,提前学习下。虚拟DOM也去复习复习。3、问题:防抖和节流的定义与应用场景?实现的方式?答案:    防抖和节流是两种常用的优化高频触发事件的技巧。防抖(Debounce) :    定义 :在事件被触发后,在一定时间内如果没有再次触发该事件,就执行一次回调函数。如果在规定时间内事件再次被触发,则重新计时。    应用场景 :        搜索框的自动补全:在用户输入时,如果每次输入都发送请求,会导致频繁的网络请求。使用防抖可以在用户停止输入一定时间后,再发送请求,减少网络请求的次数。        窗口大小改变:在窗口大小改变时,如果频繁触发回调函数,会导致性能问题。使用防抖可以在窗口大小停止改变一定时间后,再执行回调函数。    实现方式 :        使用 setTimeout 函数来实现。在事件触发时,设置一个定时器,在定时器的回调函数中执行目标函数。如果在定时器执行之前,事件再次被触发,则清除定时器并重新设置。节流(Throttle) :    定义 :在一定时间内,只允许回调函数执行一次。如果在规定时间内事件多次被触发,只在最后一次触发时执行回调函数。    应用场景 :        滚动事件:在滚动页面时,如果频繁触发回调函数,会导致性能问题。使用节流可以在滚动一定距离后,再执行回调函数。        鼠标移动事件:在鼠标移动时,如果频繁触发回调函数,会导致性能问题。使用节流可以在鼠标移动一定距离后,再执行回调函数。    实现方式 :        使用 setTimeout 函数和变量标记来实现。在事件触发时,检查是否已经设置定时器。如果已经设置,则不再设置;如果没有设置,则设置定时器,并在定时器的回调函数中执行目标函数。        使用 Date 对象来记录时间。在事件触发时,获取当前时间,如果距离上一次执行回调函数的时间小于规定时间,则不执行;如果大于规定时间,则执行回调函数。反思:之前其实已经理解了相关概念,但是让自己描述确实还是描述不清楚,吱吱呜呜的,以后准备这种面试应该看着题目自己说一遍。除此之外,小厂不会考察实现,大厂应该会考察手撕,应该找时间重现。4、问题:axios, fetch, ajax 的区别?答案:    技术基础 :axios 是基于 promise 的 HTTP 库,fetch 是浏览器原生支持的 Fetch API,ajax 是基于 XMLHttpRequest 对象的。    语法 :axios 和 fetch 的语法相对简洁,ajax 的语法相对复杂。    支持浏览器 :axios 和 fetch 不支持 IE 浏览器,ajax 支持 IE 浏览器。    错误处理 :axios 提供了统一的错误处理方式,fetch 的错误处理比较复杂,ajax 的错误处理需要手动处理。    功能 :axios 支持拦截器和自动转换数据,fetch 和 ajax 不支持。反思:其实对这块并没特别注重,感觉这边一般是封装死的,不过姑且作为知识补充。【HR】1、问题:你觉得你的项目给你带来哪些成长?答案:略反思:此处当时答得有点偏,甚至说到了什么审美提高乱七八糟的,其实应该是回答团队合作能力提高,独立开发技巧和工程化能力等等。这个回答点应该注意一下,了解对方回答的用意。总结:本次面试围绕Vue技术栈、前端基础及架构方向展开,结合面试中的表现与自我反思,总结如下:一、技术能力方面Vue生命周期与优化实践:基础生命周期能准确列举,但对父子组件执行顺序及代码实现逻辑理解不够深刻,尤其是父组件mounted执行在子组件之后的实际应用场景未能举出实例。数据获取放在created阶段的理由虽然正确,但未主动结合响应式系统原理进行展开,暴露出知识点间的联结不足。需系统梳理父子组件通信与生命周期联动机制。核心概念深度不足:对key的Diff算法原理、虚拟DOM运作机制等底层知识表述不够精准。虽然能说明key的复用优化功能,但缺乏专业术语的运用。后续需重点研读Diff算法源码解析,建立虚拟DOM更新机制的体系化认知。逻辑表达能力待提升:防抖节流虽能区分概念,但在应用场景举例时存在表述冗余。建议通过实践手写实现以巩固记忆。前沿技术视野扩展:微前端概念停留在特点罗列层面,对qiankun框架的实现原理、沙箱隔离等核心技术点认知空白。需结合官方文档搭建demo项目,深入理解模块加载、样式隔离等具体解决方案。二、综合素质方面HR环节未能精准匹配技术成长与岗位需求,体现出对面试问题核心诉求的洞察不足。未来需建立结构化回答框架,将项目经验与技术能力、团队协作、工程化思维等职业素养紧密结合。总结表明,除巩固基础外,需投入精力深入框架底层原理,提升技术表述的专业性与系统性,同时持续追踪微前端、性能优化等前沿技术方向,构建完整的知识图谱。#我的面试日记# #软件开发笔面经# #面试常问题系列#
查看5道真题和解析
点赞 评论 收藏
分享
03-08 15:24
深圳大学 C++
腾讯QQ客户端一面过
#腾讯求职进展汇总##面试常问题系列#一面回忆版投的游戏客户端被QQ客户端捞起来项目三个,一个OpenGL三维渲染,一个微信小程序后台(curd凑数的),一个虚幻5demo问题1.自我介绍,介绍项目,我聊的是OpenGL那个(说了模型文件是自己读的,还有shadowmap,mipmap)2.obj文件里面数据什么样,都是什么类型的3.纹理用的什么(png),压缩纹理了解过吗?(没听说过,后面下去查了下)4.mipmap干什么的,怎么确定什么时候用哪一张,有什么优化(双线性插值,超采样)5.双线性插值怎么实现的,mipmap图片怎么生成的。6.为什么用phong模型不用pbr(说pbr太难了选的phong,要不然估计还得追着pbr问半天)下面是正常八股7.TCP怎么避免拥塞8.http都是用的TCP吗(http3不是,用的UDP)9.那http3用UDP怎么保证可靠传输(QUIC协议包装过一次,聊quic原理)10.进程和线程聊一下11.操作系统给进程分配的空间结构什么样(32系统1g内核,堆栈,.bss .data那些)12.2g的物理空间,但是给进程分配了4g空间发生什么(从虚拟内存原理那块说明)13.C++ volatile关键字有什么用14.C++函数调用约定了解过吗(没有)然后是手撕,剪绳子。这题需要有点数学直觉。我开始没什么思路,写了个超级大暴力(没过),后面面试官提醒可以用dp,想了个O(N^2)的做法但是题目里面说有O(N)的做法(要数学验证)。我问面试官咋写他也没直接告诉我反问;据我了解网络上对客户端风评都不怎么样,怎么理解回答:小公司都是curd,我们腾讯当然不一样(笑)等了一天之后过了
查看14道真题和解析
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务