首页 / 软件开发笔面经
#

软件开发笔面经

#
3797131次浏览 67851人互动
uu们,每一次面试都值得被记录!来这里记录分享你的笔面试啦~
此刻你想和大家分享什么
热门 最新
字节财经 二面 压力面 被拷打烂了
面试公司:字节跳动面试岗位:后台开发面试问题:1. 没有自我介绍,一上来面试官直接说,你是有实习经历的是吧(我简历上压根没实习...)。我说我没有实习经历,但是有解决实际需求的项目经历,于是打算把rag项目跟他说说。结果对方直接打断然后来一句“我们这是后台开发,你跟我讲大模型有啥用”然后指名道姓要我讲另一个java项目2. 简单介绍了下java项目,他要我说es的底层架构。我先讲了讲倒排索引,不满意;又说了说索引库、文档,还是不满意。硬是要我描述es底层是什么架构(这又不是常见面试题我两个月速成的哪有时间准备这玩意啊)最后只能道歉3. 从这里开始我就感到不对劲了,因为这个面试官不仅会频繁打断我说话,而且只听自己想听的,完全不给我回避问题的机会。还没完,又开始拷打我雪花算法。这个我也有一些准备,就跟他说了又符号位,时间戳,机器号和序号组成,又讲了每一部分是干什么的。结果他追问:那你怎么保证全局有序性?我说时间戳只会增大不会减小,序号可以保证一毫秒内的有序性。他继续问:那你同一毫秒内机器号大的生成序号小,最后总大小反而大怎么办?我实在没辙了,他就说你这个方案根本实现不了有序性事后复盘这个问题的时候,我在网上搜也根本找不到这个问题相关讨论。哪怕问AI回答的也是模棱两可,最后AI说雪花算法并不能严格保证全局有序😓不是哥们这种问题你问个实习生是不是有点狠了😭4. 问我项目中的服务是怎么搭的,我提到了nginx,他就要问我nginx的相关原理和细节。我说了反向代理的概念和正向代理的区别,不满意,要问我具体的nginx命令,不会,道歉5. 我谈到顺序io和随机io的性能差异。他直接打断,说你说的那是机械盘吧。现在都用ssd,你说说ssd的底层原理吧。换成ssd你这套论断还生效吗?(ssd考研os课程里了解过一点,但是基本忘干净了,遂寄)6. 又看我写了redis,问我redis集群原理。讲了一番,追问用户请求访问一个key,服务端和redis发生了什么?难道要在服务端决定key在哪个分片吗?我说当然不是,服务端连任意一台实例即可,实例之间有信息交互,会帮你转发到正确的节点。说完对方没反馈,也没追问7. 算法题:合并n个有序数组,限时20分钟。整场面试最轻松的时刻,讲思路,写代码,自己测了一遍,最后照着代码讲明白,行云流水。最后面试官问复杂度,也答对了。反问:base?(北京)面试表现(不给说)第三轮是技术面还是hr面(还是技术面,哭)总结:和一面形成鲜明对比。首先面试官会频繁打断你,不接受你的任何引导,会执意提问很深很偏的东西直到你承认自己答不上来为止。全程眉头都紧皱,全程无反馈,只有一个问题接着下一个问题。感觉要凉,不过看在手撕写的很顺利的份上,还抱有一丝丝希望许愿三面#软件开发笔面经# ------------更新:居然约三面了
丁真嗣258:ssd上也是顺序io更快,只不过没有机械盘那么离谱。字节面试官确实会遇到戾气很重的
点赞 评论 收藏
分享
美团到家一面 团子怎么也学坏了,开始出设计题了😡
投美团暑期,一志愿选的核心本地商业美团平台,三天没捞挂了。二志愿业务研发平台给我捞了,约在了今天1. 一上来面试官先介绍部门2. 自我介绍3. ES按距离查询附近的景点怎么做的?讲了讲geohash4. 具体说一下雪花算法5. 序号部分的生成策略?6. 机器号怎么分配?说了可以按ip进行hash,面试官问有没有成熟一些能直接落地的方案,我说可以预分配或者用redis的zset存储可用的机器号,新机器上线之后自己去认领一个最小的7. 时钟回拨怎么解决?说了美团leaf的解决方案,并且说了可以将机器号拆出几位作为时钟序号,每次回拨就自增。个人更喜欢后者,更轻量级8. 说下什么是幂等9. 项目中怎么做的幂等?从前端按钮置灰,业务层唯一幂等标识和数据库唯一索引兜底三个角度说了说10. 操作redis怎么保证原子性?说了lua脚本,追问平时有自己写过lua脚本嘛?我说去年自己做了个垃圾游戏,用lua写过一些script。又讲了讲redis.call和redis.pcall11. kafka的partition讲一下?12. 如果某个topic中的某个消费者组想要提高自己的消费速率,可以从哪些方面优化?13. redis库存预占怎么实现的?讲了一番,面试官说你写的那个东西在企业中其实没多少人用(害怕😨)系统设计题1. 如何设计一个扫码登录系统?2. 如何设计一个短链接系统?算法题反转链表II算法题思维难度很低,不过一些细节处理感觉想要写的很优雅还是不容易的。我代码写的很臃肿,不过用例倒是都过了,面试官说没问题反问面试表现(整体不错,唯一的缺点是有点给人一直死记硬背的感觉,但是考虑到是校招生所以也没啥(呜呜))总结:这次的面试官也很不错,每次我回答完,都会把我刚刚说的简单总结一下,再给予肯定,一些地方还会和我探讨。基本上都是照着简历问,常规八股没咋问(这和别人的面经不太一样啊),并且还出了两道设计题是我没想到的#牛客创作赏金赛# #软件开发笔面经# ---------更新:当天约二面
晓沐咕咕咕:其实大厂确实不用redis做库存扣减直接打到数据库了,但是肯定有做很多层优化的
美团二面2099人在聊 查看15道真题和解析
点赞 评论 收藏
分享
字节财经 三面 手撕居然出了hard
面试公司:字节跳动面试岗位:后台开发面试问题:1. 自我介绍2. 挑个项目讲讲,又祭出了祖传的RAG(主要怕说java玩具项目对方没兴趣,后来发现我想多了,三面的面试官至少也是架构师级别,啥项目在人家眼里都是玩具)3. 具体是怎么做的?整个RAG链路是什么?4. 向量化怎么做的?为什么能把文本映射成向量?底层原理是什么?5. 用的什么向量数据库?(答Milvus)追问:Milvus和常规的关系型数据库有什么区别?为什么用Milvus?6. 为什么不用Elasticsearch?(太偏向于文本匹配,对语义的感知能力不够)7. 你在项目中遇到的最大的挑战?技术难点?(说了关键词增强的多路召回,面试官很失望,说我觉得这也不是啥技术难点啊,汗流浃背了)8. 来做一道题吧(此时距离面试开始才过去22分钟,但是题目出来的一瞬间我就知道为啥这么早就开始做题了)题目:删除无效的括号(hard)早就听闻这道题很复杂,好在之前在利特蔻德上喵过一眼,于是直接献出了我的自创方法:预检索+剪枝回溯+后处理+后验证(后来发现这个思路其实和官解方法三大体差不多2333)还是先说大致思路,然后写代码。不得不说是真的复杂,前前后后大概写了100行左右,自己测了一下没啥问题,最后对着代码和面试官讲了具体思路。整个过程大概40分钟。反问:对实习生的要求?具体看重的方面?(回答技术基础+对新事物的求索心)总结:三战字节,每次面试官的风格都不一样。但是也存在一些共性:比如主要围绕着项目拷打(如果有实习的话应该也会猛猛问实习),常规八股较少(就一面问了两三个),以及非常重视对算法题的考察,而且难度都是mid起步,很少出easy许愿OC#软件开发笔面经# -----------更新:当天晚上hr来电话,说正在走offer审批,加了微信
牛客631745179号:手撕hard已经过了
点赞 评论 收藏
分享
腾讯qq一面 先深挖拷打,再急急急急
二月底那会tx约面过我一次,结果我当时第一次被约面没经验,当时上着课,就想着先挂了等会打回去,结果发现是虚拟号打不回去一天后喜提流程结束字节oc了之后又收到了约面电话,不过我意向部门是cdg,约面的是pcg。想到之前还没面过tx,于是就接了尝尝鲜,所以就有了今天的面试一上来面试官迟到了十分钟1. 自我介绍2. redis存商品库存用的什么数据结构?3. 怎么保证原子性?4. redis如何配置?集群还是主从?(从这里就是拷打的开始)5. 如果你主节点完成操作了,从节点还没同步,主节点就挂了怎么办?6. 看我回答的不好,于是问我主从同步的方式的底层原理。我说了全量同步、增量同步,面试官说我没答到点上7. 又问我知道kafka生产者将消息发送给broker的三种方式吗?汗流浃背了,说了生产者发送→broker刷盘→返回ack→生产者收到ack的过程,面试官说这是其中的一种8. 面试官说,你不了解主从同步的原理,所以你实现不了高可用。又问我如果broker返回ack后挂了,副本还没同步就变成主节点导致的消息丢失怎么办(其实和5差不多)。我说我猜一下,于是类比了mysql的同步机制,说让副本读主节点的日志。被面试官否了,说主节点挂了是没法读它的日志的。见我不懂,就给我讲了几种同步策略,比如选出和broker的offset最接近的几个副本作为候选集,将候选集同步完成后才会真正视为刷盘成功并返回ack;比较严格的模式就是强制同步所有副本。具体还要根据业务来选9. 面试官看我用了雪花算法,于是问时钟回拨怎么解决。我说可以参考美团leaf,引入zk,生成前比较当前时间和此前最后生成id的时间。面试官反问我你引入这么重的一个东西合适么?你这样做损坏了它本身的高性能的优势。我说那可以使用号段模式。预先生成一批id存起来,使用的时候去取,也被面试官否了,说这样做也不是一个好的策略。10. 然后面试官看了看表,说自己三点还有一场面试,后面得加快速度。于是就开始迅速问一些八股,要求必须快速答出关键部分赶紧下一题:11. 进程和线程的区别12. 线程有自己的堆栈吗13. 线程通信的方式14. 乐观锁了解吗15. 线程池由哪些部分组成16. 你自己使用的哪种拒绝策略?17. 核心线程数怎么设置?理由是什么18. 大量出现time_wait有哪些可能的原因?答了一些,面试官不断问还有吗还有吗,最后说想不出来了19. 一个很大的表查询很慢怎么优化?把分库分表、sql语句优化、索引、innodb调优等角度都说了一遍,面试官继续追问还有吗,我说检查脏页是否过多,继续问还有吗,我说想不到别的了20. 分库分表的底层原理了解吗?我说沙丁jdbc,或者用中间件,面试官不想听,只想听底层原理。回答不太熟悉手撕:此时距离三点还有不到10分钟。一开始出了道二维矩阵中第k个最大值,矩阵中的元素符合按行递增和按列递增。面试官问我觉得这题难度怎么样,我说你想要n方logk的算法我现在就能写,但是要n方的话我得想一想。面试官等不及,于是换成了一维数组。直接优先队列三分钟秒了反问:我需要加强哪些方面(了解底层原理并实际运用的能力)总结:感觉大概率会挂,被挖的很痛但是一些问题面试官主动给出了讲解,冲这点其实也不亏了。可惜由于对方时间紧迫,有些我不懂的点没有来得及讲了,尤其是雪花算法的最佳实践那里,成了永远的遗憾-------------更新:一天后流程结束#互联网回暖,腾讯要招5000人!# #软件开发笔面经# #牛客创作赏金赛#
ailanxier:迟到10分钟是因为上一个也是拖堂了吧
查看19道真题和解析
点赞 评论 收藏
分享
04-02 22:07
已编辑
北京邮电大学 Java
淘天暑期实习 一面
1. 自我介绍2. 大三上就有时间实习了?3. 权限热更新模块怎么做的4. 更新权限后,上下文怎么更新4. 定时刷新还是?5. 如果部署在多台机器上,怎么更新6. Redis 做分布式缓存,流量很大怎么处理7. Redis 高可用方案8. 工作流怎么实现的9. 消息队列的服务怎么搭建的?和原来的方案有什么提升10. RabbitMQ 的镜像队列11. 为什么不直接写入数据库12. 持久化的消息后续还会处理吗13. 有mysql 的索引调优经验吗14. 联合索引可以只命中部分吗15. 怎么判断一个索引失效了16. Redis 的Set 和 Zset 的区别是什么17. Zset 的底层是怎么实现的18. 怎么用 Redis 实现分布式锁19. Redis 命令实现的分布式锁是可重入的吗?怎么实现可重入20. Java 的可见性问题了解吗?怎么解决可见性问题21. 除了 volatile ,还有什么能解决可见性的方法22. volatile 的底层原理23. 双亲委派机制,为什么要设计这个,有不需要的时候吗24. 有看过开源的中间件的源码吗25. 了解间隙锁吗26. 间隙锁是加在哪个位置的,加一把间隙锁要做哪些步骤27. 乐观锁怎么解决库存超卖的问题的28. 高效兑换码算法怎么实现的29. 分布式ID的主流实现方法反问1. 工作内容,大团队是交易的整体链路,组内是交易后的链路2. 工作上有和AI 结合的吗,业务上有些相关的3. 学习建议,dubbo等那一套微服务以及分布式系统#暑期实习# #大厂# #软件开发笔面经# #阿里求职进展汇总# #淘天#
查看30道真题和解析
点赞 评论 收藏
分享
淘天一面 无八股无手撕就离谱
面试公司:淘天集团面试岗位:后台开发面试问题:1. 上来和我聊天,聊了聊淘天和阿里云的笔试体验。这次的面试官很友好,全程带着微笑2. 自我介绍3. 聊了聊南软的两年制4. 介绍java项目5. 在用es之前,你的数据库模糊匹配怎么做的6. 怎么做的分词?7. 为什么选择用分词器,我看你简历上另一个项目也写了nltk,考虑过其它nlp工具吗?8. 地理检索具体怎么做的9. 地图区块划分的颗粒度怎么把握?10. 说说对雪花算法的了解11. 为什么用kafka不用兔子mq?12. 有做过压测吗?模拟的并发量多少?13. 为什么用http不用rpc14. 怎么做的流量削峰?15. 怎么防止超卖和保证一致性?16. 如何保证秒杀先到先得,保证公平性?17. 怎么想到做这个项目的?18. 介绍rag项目19. bge m3嵌入后的具体向量长度?20. 数据集多大?21. chunk怎么做的?22. 具体的rag链路?23. query改写的效果大概长啥样?举了个例子24. 每一路的topk设的多少25. 怎么想到的用rrf26. 介绍一下mrr27. 有考虑过用一些工程框架吗?28. 假如要你做一个agent,对于常见的框架和中间件,怎么选型?29. 现在市面上的大模型有哪些应用点?有了解过吗?(说了笨比ai牛可乐,哈哈哈)30. rag中的llm用的哪个?无手撕反问:1. 业务?(天猫超市)2. 看重实习生的哪些方面?(热心的说了一堆,主要是技术基础+快速适应团队+对新技术的敏锐度)3. 语言?(大部分还是java,少部分和ai相关的也有python)总结:全程只问项目,没问八股,甚至连手撕都没有。不过面试官真的很nice,全程面带微笑,聊的很开心。面对有几个不太好答的问题,直接坦诚然后说说自己的看法,面试官也不会逼问。怎么感觉每次一面氛围都非常轻松友好hhh#牛客在线求职答疑中心# #牛客创作赏金赛# #软件开发笔面经#
牛客631745179号:字节oc了却还要积累面试经验吗,哈基🐗,你这家伙.....
查看29道真题和解析
点赞 评论 收藏
分享
美团二面(已收感谢信)
📍面试公司:美团-食杂零售👜面试岗位:后端📖面试问题:1、部门介绍2、ES的项目有做APP端吗3、ES的架构是什么4、ES的分词器做了哪些实践5、ES的一个日志(黑马速成的,都不知道这回事)6、Zset实现排行榜,数据太多扩容内存成本昂贵,怎么办    6.1、冷热分离,怎么实现    6.2、冷热分离,根据什么判断是冷数据    6.3、Score的定制策略是什么7、乐观锁和悲观锁怎么解决超卖(黑马点评)8、闲聊9、AI方面的代码写过吗(按照后面的反问,不是写CNN这样的轮子,是AI落地的)10、怎么学习新内容11、手撕原创题目:把一个任意的字符串转化为一个数字;字符串有很多的类型的字符,大小写字母,数字,符号,空格,+-;只有在任何数字出现之前的第一个+-表征数字的+-,没有默认为+(例如:++1234非法,返回0);可能数字极大,极小,超过Integer.MAX_VALUE或者小于Integer.MIN_VALUE的情况,直接返回离得最近的Int的边界就行;数字只能去掉开头的空格开始,之前最多有一次+-号,若是出现“-90-24798”之类的直接在非数字的地方截断(返回-90);类似于“MeiTuan1234”这样的返回0,具体来说就是,只要去掉空格后,第一个不是数字或者+-,那就是0一定是整数,90.123返回的也是90🙌面试体验:团子的面试官感觉都很不错,个人的算法水平不行正入万山圈子里,一山放过一山拦#软件开发笔面经#
美团二面2099人在聊 查看12道真题和解析
点赞 评论 收藏
分享
03-20 20:00
已编辑
北京邮电大学 Java
美团本地核心商业一面
面试官自我介绍介绍了组内业务和业务的亮点自我介绍询问是否考虑读研拷打实习介绍一下 Spring Security 的特性为什么要用这个框架Camunda 的主要组件和工作原理Mysql 分区表怎么做的 有什么用分区表和分表有什么区别Redis 高可用怎么实现开源项目具体怎么做的在实习中有没有用到 AI 相关的需求为什么博客在实习之后就停更了???八股函数重载和函数重写的区别创建线程的方式有哪些threadlocal 的原理和使用场景Jvm 的内存分配策略怎么判断一个对象是否存活项目经常出现 young gc 怎么排查和处理了解什么并发包concurrentHashMap 的原理HTTP 长连接Mysql 的联合索引索引失效的情况mvcc 原理怎么解决消息队列的消息积压问题select、poll、epoll 的区别其他团队出现分歧怎么处理偏向于据理力争还是妥协怎么制定学习计划想要学习的技术和提升的能力未来的职业规划期望 base 手撕 并发编程限制 List 最多读入100 个元素 BService 的get ()10个一组批量调用 AService 的 get() 处理后返回BService 把处理好的拼接好输出重排链表 LCR 026反问工作内容是美团 app 主页的那些业务和 AIGC 探索美团大量引进 AI 提升工作效率,辅助开发,测试等#软件开发投递记录# #软件开发笔面经# #实习# #美团求职进展汇总# #美团# #牛客创作赏金赛# #大厂#
点赞 评论 收藏
分享
03-25 09:11
门头沟学院 Java
3.24淘天 26暑期Java面经
📍面试公司:淘天集团👜面试岗位:Java📖面试问题:浏览器从输入域名到网页展示出来的过程介绍一下TCP的三次握手三次握手如果是两次有什么问题再说一下如果网络出问题了,三次握手怎么避免之前的无效连接的如果域名请求时使用https协议的话会有什么变化什么是对称加密,什么是非对称加密TCP和UDP有什么区别TCP的超时重传它是怎么知道这一次发送的数据包是否丢失了呢介绍一下cookie和session介绍一下hashmap的存储结构为什么再一个哈希桶中出现了较多元素的时候要将链表转化成红黑树呢你说数量多了红黑树查询效率要比链表高是吧,那为什么不直接使用红黑树呢那我执行一次get的时间复杂度是多少如果有哈希冲突的最坏的情况呢我们都知道hashmap不是线程安全的,介绍一下他为啥线程不安全吗,或者说在多线程环境中会出现什么样的问题那如何保证他的线程安全呢介绍一下乐观锁和悲观锁介绍一下他们各自的使用场景如果在天猫超市这样的软件中,每天八点都会有定时抢茅台的活动,这时候是使用乐观锁还是悲观锁如果使用悲观锁的话,大概描述一下如果一下又几十万请求过来他们是怎样的一个流程按照你说的话,那是不是几十万人中只有一个人拿到锁其他人就都等着吗介绍一下Java中的泛型在使用泛型的时候,在jvm底层他是怎么实现的呢(这块不太会,说的传入一种类然后将他替换为要使用的类)那他是在什么时候替换的呢介绍一下Java程序从代码到运行的这样一个过程(说的编译解析)介绍一下jvm的内存模型jvm的垃圾回收主要针对哪几部分垃圾回收目前所采用的都是分代回收机制,为什么会有这样一个机制在垃圾回收算法上又有什么区别吗标记整理和标记复制的概念对于新生代老年代,他们分别适用于哪一种你刚说的算法、对于老年代的垃圾回收,既然你说标记复制效率很高,为什么他还要标记整理呢介绍一下副GC的概念对于一个jvm来说,他锁创建的最大线程数量是多少介绍一下内存溢出的异常介绍一下synchronized他的使用维度有哪些,比如字段方法都可以用吗再去描述一下他的底层原理你刚提到了可重入的情况,那在什么样的场景中会需要锁的重入呢,为什么已经有锁的还要再加一次创建线程的方法介绍一下线程池的核心需要包括哪些字段或者属性介绍一下Java的多态你刚提到了重写是吧,Java是根据一个什么样的特性来知道运行时需要调用哪一个方法介绍一下threadloal对象你刚说有个map是吧,key是什么,value是什么项目中有没有使用设计模式你的策略模式是怎么实现的以你的理解,设计模式到底是个什么东西,我们为什么需要设计模式介绍一下spring框架介绍一下二叉树,有什么用一些特殊结构的二叉树介绍一下平衡二叉树的优缺点你在一个河边有一堆石头,你有一个没有刻度的天平,如何将这些石头按照重量来进行排序呢MySQL的索引是什么数据结构为什么是B+树他对于范围查询有什么优化吗MySQL构建索引的注意事项如果我有四个查询条件,并且构建了他们的索引,那我查询条件是ABCD和BADC有区别吗问项目,你的项目的背景是什么,玩具项目吗描述一下第一个项目你的数据库中存储了经纬度点,你没有想到要使用一些其他的数据库吗你用到了redis是吧,介绍一些redis常用的数据类型介绍一下redis的内存代换策略他的过期策略有哪些用redis做缓存常见的问题,介绍一下缓存雪崩你还用到了ES,介绍一下ES是怎么对搜索进行优化的,他为什么快ES他也是有一些缓存的策略的,你有没有了解(没有)websocket和http有什么区别,他底层采用了哪种协议介绍一些项目中的登录功能怎么实现的如果有这样一个场景,我已经在淘宝登录了,然后跳转到天猫超市会发现也已经登录了,这是怎么做到的如果是cookie和session的话,一般是不允许跨站传cookie的,他们的域名都不一样,这要怎么实现你在项目中使用AI做了什么你提到了阿里的百炼大模型,这个百炼大模型是个什么东西,他是一个大语言模型吗你对AI了解多少你说你使用redis整合session实现分布式,这个是干了个什么事你有没有简历之外的一些东西,有什么打过什么比赛目前有别的offer吗,如果有你会倾向与来阿里吗反问:问面凭(不回答,说人家有规定不允许反馈)问面试流程(一共3~4次,技术面2~3次)🙌面试体验:面试官人挺好的,不好的地方就是反馈有点低,我在说完一个东西之后也不说行不行,就说继续,面了一小时二十分钟,后面嗓子都冒烟了,答得也不是很好,过了是运,挂了是该#牛客AI配图神器##软件开发笔面经#
🐭🐭求offer:八股盛宴
点赞 评论 收藏
分享
字节后端开发面经一面
去年的存货面试公司:字节【基架部门】面试岗位:后端开发面试问题:1.实习项目2.有哪些方案可以避免流量高峰造成的问题- 消息队列削峰填谷- 缓存预热- 负载均衡,分散请求- 限流和降级3.了解常用的限流或者降级的算法嘛?描述一下原理?固定窗口计数器:按照时间段划分窗口,有一次请求就+1,最为简单的算法,但是限流不够平滑且无法应对突然激增的流量。滑动窗口计数器:通过将窗口再细分,并且按照时间“滑动”来解决突破限制的问题,但是时间区间的精度越高,算法所需的空间容量就越大。漏桶:请求类似水滴,先放到桶里,服务的提供方则按照固定的速率从桶里面取出请求并执行。缺陷也很明显,当短时间内有大量的突发请求时,即便此时服务器没有任何负载,每个请求也都得在队列中等待一段时间才能被响应。令牌桶:往桶里面发放令牌,每个请求过来之后拿走一个令牌,然后只处理有令牌的请求。令牌桶满了则多余的令牌会直接丢弃。令牌桶算法既能够将所有的请求平均分布到时间区间内,又能接受服务器能够承受范围内的突发请求,因此是目前使用较为广泛的一种限流算法。4.滑动窗口相对固定窗口算法解决了什么问题相比于固定窗口算法,滑动窗口计数器算法可以应对突然激增的流量。5.【手撕】字符串的z型变换6.操作系统,进程和线程的区别进程是操作系统资源分配的基本单位,线程是cpu调度的基本单位。进程是一个程序的动态运行实例,而线程是进程当中的一条执行流程。进程包含多个线程,线程从属于一个进程;各进程间相互独立,但线程不一定,同一个进程的多个线程可能相互影响。进程切换的开销显著高于线程切换。7.threadlocal的原理就是线程本地变量,如果创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。ThreadLocal的底层数据建构就是ThreadLocalMap,它的key就是ThreadLocal的引用,值就是Object对象。8.用户的请求进来,用户的信息怎样在一个请求内传递?在web应用程序中,ThreadLocal可以用来存储当前请求的上下文信息,使得不同请求之间相互独立9.epoll?当调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,用于存放通过epoll_ctl方法向epoll对象中添加进来的事件。这些事件都会挂载在红黑树中,如此,重复添加的事件就可以通过红黑树而高效的识别出来。而所有添加到epoll中的事件都会与设备(网卡)驱动程序建立回调关系,也就是说,当相应的事件发生时会调用这个回调方法,它会将发生的事件添加到rdlist双链表中。当调用epoll_wait检查是否有事件发生时,只需要检查eventpoll对象中的rdlist双链表中是否有epitem元素即可。如果rdlist不为空,则把发生的事件复制到用户态,同时将事件数量返回给用户。10.项目的代码结构是怎样的微服务架构,ddd11.流量是rpc进来还是http进来12.介绍一下rpc和http在使用场景上的区别rpc通常使用在分布式系统、跨语言调用、高性能服务中。http通常使用在网页浏览、RESTful API、文件下载等13.用rpc代替http会有什么问题???14.http底层连接可以基于连接池嘛15.了解golang嘛?了解golang的协程吗16.描述一下动态规划的核心思想?什么样的问题可以用它去解决?17.排序算法有哪些?挑选排序算法的时候要考量哪些?考量:时间复杂度、空间复杂度、稳定性、实现难度、数据规模和特性18.快排是稳定排序的算法嘛?哪些算法是稳定排序的?不是。稳定排序的算法:冒泡排序、插入排序和归并排序19.红黑树相对于普通的树有哪些特征?通常用来解决什么问题?20.mysql的事务隔离级别?21.读已提交和可重复读的底层区别?22.mysql有哪些日志?23.了解redolog吗?24.redolog的刷盘机制是怎样的?25.kafka和rocketmq在业务中使用场景上有什么区别?26.git中版本管理的模型是什么?Git 中的版本管理模型是围绕快照(snapshot)的概念构建的。每次提交(commit)都会记录一个当前所有文件的快照。快照包含了当时整个目录树的状态,包括文件内容和目录结构。27.git的常见操作28.git merge和rebase的区别`git merge` 合并后的历史记录保留了所有分支的历史,呈现出分叉后再合并的结构。`git rebase` 会将当前分支的提交按顺序应用到另一个分支的顶端,这相当于在另一个分支的基础上重新应用当前分支的更改。29.反问#软件开发笔面经##字节跳动#
查看28道真题和解析
点赞 评论 收藏
分享
04-21 21:01
安徽大学 Java
阿里国际一面
📍面试公司:阿里国际👜面试岗位:研发工程师📖面试问题:一上来感觉面试官面相非常好,很有礼貌。1。双十一的时候,并发量非常高,你如何设计来抗住并发量?首先做一些限流操作,比如验证码,防止用户一直点击。同时采取redis进行缓存库存。结合mysql和redis一致性回答。2。你的mysql和redis数据表如何设计?mysql就商品+库存,redis采用key,value,存储商品+库存。3。redis分布式锁了解吗以及实现方式。setnx方法。4。又回到刚刚那个问题,再思考一下?我说可以结合分布式锁以及消息队列,消息队列保证数据顺序性,分布式锁确保线程安全。5。这么高的并发量,数据库抗的住吗?我又说可以结合数据库的读写分离操作。6。你刚刚说加锁,那每个用户执行完了再执行其他用户,这样用户体验好吗?那确实,然后这我就没有好的解决办法了。7。看你的项目使用了redis,redis主要有什么作用?我就说存储历史数据。8。我看其中有个问题,每个用户操作时会做一个校验,判断该用户在哪个区域,这一块如果访问量激增,有没有什么优化的地方?可以采用策略模型替换if else语句,同时在用户登录时就把经纬度存入,防止操作时并发数量激增。9。对于大模型有没有什么了解?了解大模型的解答过程,以及Token。10。了解大模型的幻觉问题吗?以及如何解决?了解,输入的语句要准确一些,同时尽量使用侧重点不同的大模型。11。那我问你一点transform,他的优势在哪?gg,这块直接不会了。12。了解left join  ,right join 以及inner join吗?常规回答。13。如果A表有100万数据,B表有1000万数据,如何进行优化来提高查询效率?没回答上来。14。linux如何查看自己的内存瓶颈?没回答上来。15。问一个mysql ,如果mysql数据库存储在不同的地方,如何实现这个?没回答上来。16。看你笔试不错,第三个问题有印象吗?后面有没有尝试去优化?我的方法时间复杂度有点高,后面就没有去看了,只过了25%。17。你的横向项目的背景,以及遇到了什么问题,和这段时间是如何完成这个项目的?巴拉巴拉一大堆。18。看你自我介绍写的抗压能力强?可以举个例说明一下吗?巴拉巴拉。🙌面试体验面试体验感非常好,面试官会引导我,同时非常有礼貌,学到了很多东西。#软件开发笔面经#
阿里巴巴一面383人在聊 查看16道真题和解析
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务