首页 / 字节
#

字节

#
3723819次浏览 39243人互动
此刻你想和大家分享什么
热门 最新
12-13 11:59
已编辑
上海交通大学 Java
字节data后端开发 日常实习面经
一面 2024.12.5(1h多一点)自我介绍巴拉巴拉讲了自己做的项目,最后提到把项目上传到云服务器还做了压力测试啥的,他问我用的是哪家服务器,我说阿里云。。。莫名有点难绷单例模式当时没准备就说不会 面试官给我讲了单例是什么,又问我如果用synchronized怎么实现单例,想了半天憋不住一个字,说想不出来jvm当时没准备就说不会(还就那个一问三不知)redis为什么快 总算有一个会的了,把单线程模型吟唱了一遍,主要就是IO多路复用那些东西智力题 小白鼠喂毒药 这个问题我几个月前面字节被问过,当时想不出来,面试官看我之前的面评又拿出来问了,回答是二进制,又描述了一些细节手撕归并排序当时也不知道咋想的就特别不想写(叛逆怎么说),就问面试官能不能写快排,他说那你把归并排序思路讲讲,我大概说了一下就是用递归不断拆分拆到最后就是有序的了,再分配空数组两两排序,他说行那你写快排吧场景题:10G的数据找中位数,内存只有1G我说可以用大顶堆小顶堆解决,面试官是那内存也得是5G才行(我是真唐),他又提醒我还是用归并排序的思路,在他的不断提醒下吭哧吭哧想出来一个方法就是把数据拆成几个小段分别排序写入文件,再分别设置指针段与段之间一点点排序,还有另外一个二进制的方法我更是想不出来,面试完我搜了一下发现还挺巧妙的,xdm感兴趣的也可以搜搜看反问:咱部门做啥业务跟我讲半天什么数据迁移我也没听太懂二面 2024.12.11(1h)自我介绍跟一面一样把项目吟唱了一遍设计模式问我项目里有用到工厂模式吗,我大概讲了一下,又问我还知不知道其他工厂,我说抽象工厂,让我描述,我举了一个买家具的例子(说实话我也不是很懂抽象工厂,但是对这个例子印象深刻),好在也没有细问手撕单例模式写完了面试官问为什么要在上锁前后都判断是否为空,md当时死活想不出原因但就是觉得应该这么写,最后在面试官引导下想出来了,跟我说要多注意这些细节spring用到单例模式了吗讲了下控制反转,依赖注入bean对象是单例的手撕算法,应该是lc原题,层序遍历变种,一层从左向右一层从右向左,我就写了个层序遍历加上一个分类讨论,写完发现不对,面试官提醒说队列是不是要改成双向队列,我又改半天还是不对,最后说了一句用递归实现可能简单一点,面试官说快到时间了就这样吧反问:部门用啥语言,答javahr面 2024.12.13(不到15min)自我介绍为什么之前没实习,为什么现在想找实习有没有同时投其他公司做项目的契机是什么反问:什么时候出结果,答一周之内,说部门leader还要筛选一下(byd日常实习还要排序受不了了,又是提心吊胆的一周) #字节#  #字节日常实习#  #牛客创作赏金赛#
给🐭🐭个面试机会吧:好简单,为啥我的字节啥都问还问那么多,学历问题吗
查看17道真题和解析
点赞 评论 收藏
分享
字节抖音搜索26日常实习-三面+HR面
11.22三面(1h)自我介绍1min大三课程任务比较重为什么出来实习?能实习多少时间?你刚才说基础比较扎实,我来问一下吧:文本编辑器写了txt代码,它最终是如何运行的?什么是编译型语言?什么是解释型语言?为什么java是半编译半解释语言?JIT与AOT?JVM怎么实现跨平台?不错,来看下代码题吧:编码题(除了java还熟悉什么语言?我说c):const char * ptr;char const *ptr;char * const ptr。忘了(打脸,空气尴尬起来了),那我出一道算法题吧(坏了,慌得一批):算法:一个升序数组(元素可重复,可正可负),将所有元素平方后,求去重后的元素数量,空间复杂度要求O(1),时间复杂度要求O(n)撕了20min撕出来了,开始讲解思路,让我优化代码,优化了一下逻辑。项目:项目中还有些比较感兴趣的点,我想问一下:1.用户鉴权是实现怎样的需求?细节是如何鉴权的?吟唱oauth2流程,然后细说auth颁发token网关拦截请求解析token。token不会被篡改吗?签名细节?2.事件监听机制的这个业务能介绍一下吗?websocket是干嘛的?为什么app能接受到通知?app被清后台了怎么办?心跳机制+持久化消息。有没有别的手段能更及时接收通知?为什么不考虑读个研?未来有什么规划?有没有印象比较深刻的bug或困难?面完20min约了hr面焦虑了两周终于有结果了11.28四面HR面简单聊了15min哈威与本部有啥区别?为什么想来实习?为什么不想读研?平时在实验室干什么?字节面试难度怎么样?哪些地方比较难?有什么地方发挥不好?你希望通过面试学到什么?什么时候开始找实习?还有其他公司在流程中吗?(百度刚约HR面)入职时间,我想着能不能争取12月中旬,没想到居然让我1月初入职12.4offer#26届日常实习##字节##发个面经回馈一下#
joefyh:佬是啥项目啊
查看25道真题和解析
点赞 评论 收藏
分享
11-22 17:15
已编辑
门头沟学院 Java
25后端秋招进度及碎碎念及分享
bg 末流211本(非北邮等211强校...) 非科班 滴滴京东快手字节蚂蚁五段实习业务: 广告领域1年半 电商库存风控低代码订单都了解过目前拿到的全是提前批的 字节: 8.12 已发意向[第一批] 签了腾讯: 8.23 已发意向[第一批]蚂蚁: 9.2 已经意向 bat齐了滴滴: 9.13 已发意向 新锐百度: oc谈薪了 拒了~小红书: 意向了虾皮: 拒面携程: 拒面快手: 拒面b站: 笔试完泡 不面了美团: 简历挂京东: 简历挂淘天: 简历挂秋招结束!碎碎念:提前批12场技术面全过秋招今年没有了美团和快手的大力支援,感觉对很多朋友们都有一些寒气希望大家别放弃正式批又让我想到了自己的大一下的4月, BOSS投了100多家,所有大厂都投了, 毫无回音, 当时是真的有一种不该选择计算机的很难受的感觉, 身边的舍友也不是这个方向的开始嘲笑自己,还挺难过摆烂了玩了两周觉得其实找不到也没事的, 反正当初学计算机的目标就是20k的工作 从5月开始重新背八股, 重新改简历, 一切都从头再来, 又BOSS投了300多家, 终于有了京东滴滴的约面还是希望大家约面的 就珍惜每一次面试的机会, 没约面的 就继续加油就好啦~毕竟还有冰冰陪你正式批0约面呢人生的容错率向来很高,即使最后没进大厂又如何呢,进了又如何呢,看透打工人本质了只是一份工作而已,只是起点而已,我身边也有比我厉害很多的人,比我有钱很多的人,只要做到自己满意开心就够啦过好当下的每一天,天天开心点儿分享:最后给大家分享一点点改简历及聊业务的经验吧我们从一个电商秒杀例子开始说简历上描述: 用Redis+lua脚本解决了茅台酒抢购秒杀问题可以怎么优化呢?1.QPS预估可以写上, 毕竟QPS如果是10 还需要这个吗?2.秒杀还有什么方案呢?比如10000请求 我只有1000个库存 丢弃3000请求是不是也可以, 当然可以, 返回给用户重试就好(偷偷说:京东就会丢弃非京东会员的)3.如果Redis+lua脚本宕机了怎么办呢?是不是我们可以想到会打到数据库? 那就分库分表是不是我们可以想到降级限流? 那就选择限流访问数据库4.那么如果你是一个电商实习的同学你会想到什么呢?是不是有可能支付时间过长导致rpc超时支付失败? 我们可以尽量减少回调时延如果抢到了 不付钱怎么办?那我们可以减少订单可支付的时间,快速回流单子, 如果用户多次这样 我们以后就把它的请求黑名单丢弃掉(业务方案)业务上的问题还有好多好多, 比如如果真的超卖赔钱方案是什么,超卖的检测怎么做(减少损失)?那最后你用了lua脚本 是不是得考虑下lua脚本原理是打包redis命令呢?所以其实很多同学只不过没想到这些, 多想想就好啦,大家都是从不会过来的!技术的方案怎么解决这个问题?多看看中间件原理及使用!业务的方案怎么解决这个问题?多搜搜网上的业务方案对比!描述业务就是: 为什么用我现在的方案替代了原来的方案, 业务收益我从原来xxx变成现在xxx业务数据流 业务架构  自己的思考 就好啦~ 碎碎念和分享就到这里啦~ 希望大家秋招顺利!#秋招##字节##百度##腾讯##蚂蚁##滴滴##求职##软件开发2024笔面经# #软件开发投递记录#
双非鼠不想认输:巨佬
点赞 评论 收藏
分享
【26日常】字节抖音直播 技术1面
timeline2024.11.26 技术1面 70min2024.11.27 技术2面 60min后续无响应,无感谢信,没去问。面试官技术很好,一般从项目到框架底层,到linux设计,问穿了。1. 自我介绍(姓名 学校 专业 当前研二在读,做过的项目有哪些,(学习项目 + 实验室合作开发项目)第一:x'x'x'x'xxxxx,其中我主要负责流媒体、图文、机构以及权限认证模块的开发工作第二:基于前面的微服务项目,在其中开发使用openFeign和dubbo进行远程调用的实现,然后后续在项目完工之后,我基于openFeign实现了自定义的RPC框架实现,并且后续在本地环境上,进行了党务学习平台项目中远程调用模块的升级,测试通过rpc基本使用没问题。但是没有提交上线2. 聊RPC框架3. 问:实现RPC框架最主要关注哪些模块(RPC概念、RPC的架构设计、需要哪些组成)rpc的需求(分布式系统、微服务,功能在不同的模块,微服务里面,需要调用)底层实际就是报文传输,发送请求,接收解析调用,封装结果返回。服务注册发现中心,只要是共享中间件都可以实现,redis、nacos、zookeeper都可以。服务提供方,将功能和服务列表汇报给注册中心。服务调用方,第一、能够实现一个无感知调用,调用某个功能,底层通过cglib动态代理,将其转换为数据包的形式第二、转换过程首先根据调用api得到服务名,然后从注册中心获取服务列表,然后设计一个负载均衡器(随机、轮询、hash)第三、cglib动态代理就是,先获取调用的关键信息,然后使用netty的LTC解码器解决粘包半包问题,然后自定义协议设计(魔数、版本号以及消息类型等信息协商双方的通信)4. 问:一致性hash解决什么问题5. 问:一致性hash还有什么作用?(6. 问:上述功能,用普通hash不行吗?7. 问:Java动态代理底层实现?(ASM + 字节码增强 + 反射技术 + 类加载器动态加载)8. 问:rpc的容错处理?(我说的netty底层消息做重传,实际tcp可以保证可靠,基于tcp应用层不需要重传,否则另一端压力会增加)9. 问:从现在来考虑,rpc容错处理用改解决哪些问题?哪部分进行容错?我说的主要是:服务提供方(宕机或者恢复,能够快速更新注册中心列表)拉取服务如果有问题,需要及时通知列表刷新,同时通知其他调用方进行故障转移(用mq或者定时任务)10. 问:请求大量超时,考虑怎么容错吗?(考虑日志 + 错误信息记录的形式,出现大量超时可能是 线路故障 | 服务提供宕机 通过邮件 + 短信通知运维进行处理)11. 问:上面这个方法,见效慢怎么处理? (考虑自动化恢复,当出现问题先记录日志,然后设计心跳机制 + 自动重启实例机制进行重启,还不行再短信通知)12. 问:容错角度有哪些错误?遇到问题怎么运转?服务提供方故障(心跳机制 + 若干次实例故障重启,还不行进行日志 + 短信通知)注册中心组件(本身进行多实例部署 或者 集群部署,同时调用方调用时,调用同时也进行心跳检测,如果出现问题及时尝试重启 或者 通知)13. 问:实例宕机,为什么可以尝试进行若干次重启? ( 因为一般实例宕机 可能因为内存溢出 OOM  或者进程崩溃,一个服务器部署多个服务,导致内存使用问题,或者电脑过热死机,这类问题可以通过重启解决,同时也是大多数情况,对于设计缺陷、代码问题,只能通过后续的排错调试debug来解决)14. 问:做过文件上传,讲一下文件上传的技术细节?我负责的流媒体模块,设计部分大视频的上传问题首先第一次设计,并没有考虑进行文件的分片上传,完整上传大文件,在网络较差,或者出现网络波动情况,会导致发送方需要重新传输完整的文件。升级版:用签名、摘要算法,保证传输的数据的完整性,同时防止被篡改,之后进行文件的分片上传,各个分片也会进行签名,会将签名头、分片序号等信息与数据一起传输,接收端收到之后会进行各个分片完整性校验,对于重复 或者内容有误,或者分片丢失的情况,会根据序号通知客户端进行重传,从而针对性重传。整体收到之后,再根据签名算法和签名头验签,然后进行文件的合并,上传到分布式文件系统MINio里面,之后将相关的信息加载到缓存redis以提升访问的效率。15. 问:io多路复用?16. 问:select poll epoll的底层原理? (主要是是否能够在监听到消息的同时,还能把有消息到来的socket放入用户态队列中)17. 问:文件上传,用哪种io合适?(用epoll避免轮询socket集合、以及使用nio减少java层面线程数量,减少线程资源的创建与销毁,提升性能)18. re问:nio相比bio有什么优势?(bio阻塞式io accept以及read都是阻塞读取,先请求拿数据,然后等待数据准备好,然后读取到java缓冲区;而nio只需要一个线程  + selector + 事件响应机制,即可处理,从资源占用和性能来讲都很好,底层socket准备好数据 将对应事件添加到selector的事件响应队列19. re问:深入聊?bio在accept为什么效率会低?低在哪? 20. 文件上传适合哪种IO?从这个角度看,BIO效率还低吗? (bio慢在需要等待内核态准备数据,然后再进行读取,而nio只要有触发的事件,说明对应的数据已经到达,著需要读取到用户态缓冲区即可(java)21. 生产环境下用哪种IO?文件上传?(考虑nio,线程资源占用较少,防止出现OOM问题,BIO如果不加以限制,不进行限流,在分片文件上传中会创建巨量的线程与客户端对接,进行数据的接收,会容易出现OOM问题。但是如果BIO+ 线程池,其实可以限制线程资源的分配上限,也是可以考虑使用的。22. arthas的trace命令的实现思路? (通过反射 + ASM字节码增强框架,对监控方法,调用链路方法进行字节码增强)23. 在什么时间做字节码增强?从敲命令开始?什么时候增强比较好? (我的思路是刚开始增强,也就是刚敲trace就增强,但是我当时不知道怎么拿到整个执行链路,所以说增强这一块其实挺含糊的)24. 提示:只增强trace的方法,递归调用方法链的其他方法的时间?怎么获取,怎么增强?还有哪些方法需要处理?(使用trace命令,先模拟执行一次,通过jvm虚拟机栈,获取监控方法的调用链路,同时知道链路上所有需要增强的方法,后续再使用ASM + 反射机制 + 类加载机制 对其进行扩展)25. 问:如果方法有很多的if else分支,刚才那种一次模拟,没办法还原完整的监控方法调用链?(从api设计 + 功能 + 测试用例的角度,设计各种条件下的测试用例进行模拟,通过多次模拟调用,输入不同的测试用例,从而能够访问ifelse所有的分支,从而获取完整的调用链路树,之后再通过ASM进行增强)26. 问:操作系统了解吗?Linux? 我说命令会,底层原理了解少27. 问:栈,为什么要实现栈的结构?(方法调用、局部变量,操作数栈,我说根据程序方法调用需求,设计的栈)28. 问:有刷题的习惯吗(力扣 500道,擅长什么 滑窗 回溯 dp) 结果给了单词拆分 + 二叉树最近公共祖先?#牛客创作赏金赛##字节##字节求职进展汇总##我的求职思考##ai智能作图#
查看28道真题和解析
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务