太牛啦 我是一次面试差劲儿了现在还没给机会
点赞 1

相关推荐

去年的存货面试公司:字节【基架部门】面试岗位:后端开发面试问题: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道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
03-06 10:27
已编辑
门头沟学院 Java
一面50min(15min项目 + 20min做算法 + 15八股)做一下自我介绍之前有实习经历吗介绍一下项目(拷打15min)主要集中在redis、分库分表由于我介绍项目的时候说了我用的JDK17,所以问了我一个JDK17有什么新特性(所以千万别给自己挖坑)你了解JDK17的垃圾回收策略吗?(简要回答:默认使用G1收集器,JDK17对ZGC做了一些修改)简历上写了了解zookeeper,问了一下zookeeper是什么,有了解过他的分布式协议吗?算法题    题目:给定一个数n如23121;给定一组数字a如[2 4 9],求由a中元素组成的小于n的最大数(做了十分钟没做出来要求换题)    题目:输入两颗二叉树,判断B是否是A的子结构约定空树不是任意树的子结构(eazy题)刚才做的题的算法复杂度是多少(最坏情况O(M*N))TCP粘包拆包(说了粘包原因,然后说了拆包如何拆)反问    部门做什么的    面试官最看重被面试者的什么品质二面自我介绍你说你喜欢字节的文化,你知道字节的文化是什么吗?说一下你对redis的理解(打断)你知道zset的底层原理吗(答跳表)跳表里面存的什么?zset插入、删除的是如何实现的?排序是如何实现的?(不知道)说一下MySQL事务的原子性是如何保障的(redo log  undo log)MySQL最多可以存多少数据?(答推荐2000W)为什么是2000W而不是2亿?(不知道)我看你也搞了个web项目,想问一下扫码登录如何实现的?(答后端服务器生成一个带有token的链接,然后转化为二维码,用户扫码之后会向服务器发送一个请求,后台服务器验证之后返回数据给前端,二维码状态变化为已扫描)大模型了解多少?(答了大模型训练的过程数据采集、数据清洗、数据标注、一些模型)如何统计的网站的UV和DAU?(答的set,但其实应该用hyperloglog)你最近有遇到什么全新的事情或者特别有挑战的事情,然后你用了一些不常见的解法解决了这个问题(讲了一下自己用C#写unity游戏小插件的故事)算法:三数之和去重;最长公共子序列;讲一下DP的思路DP相较于传统的方法有什么好处三数之和不去重了该怎么改?(删除判断重复的那段代码就行了)反问    base在哪儿三面浏览器输入地址到页面展示的过程TCP和UDP的区别arraylist和linkedlist的底层和使用场景MySQL的主从同步是如何实现的算法题:至少有 K 个重复字符的最长子串;接雨水啥时候能来实习反问:下个流程要等多久楼主HR面已经面完了,听说在牛客许愿特别有用,在这里许愿一个OC,希望可以去字节实习,也祝大家可以找到心仪的岗位update2025-2-27 许愿oc2025-2-28 许愿oc2025-3-1 许愿oc2025-3-2 许愿oc2025-3-3 许愿oc,打电话问hr说是卡在最后的大领导审批阶段2025-3-4 许愿oc2025-3-5 许愿oc,下午五点打电话告诉审批已通过,晚上10点收到了正式offer#日常# #面经java#
查看28道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务