字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记
mhr18 2024-12-08 15:07 24 浏览 0 评论
先说说大致情况把,当时是下午两点约的一面,没想到直接面到六点一次性面完了。。。
面试部门:北京的基础架构,后端开发
一面:
- 讲一讲hash表
- hash冲突了怎么办?(拉链)除了拉链还有吗?(开放地址法,不是很了解,听过)
- 如果使用hash进行分布式存储有什么弊端?(可扩展性不强,例如增加节点和节点宕机的情况)
- 如何解决?(一致性hash,提到了redis的哈希槽)讲一讲吧
- 一致性hash会出现什么问题?(数据倾斜问题)如何解决?(虚拟节点)
- 介绍JVM(五大部分)
- 什么时候会GC?(答GC过程)你说的MajorGC和fullGC有什么区别?
- FullGC会有什么问题吗?(STW)什么时候会STW(介绍CMS大致过程,在标记的时候)
- TCP和UDP区别
- 2MSL是什么?为什么等2MSL?(补充说明等待的时候收到报文会如何处理)
- 你知道什么时候TCP会发送rset报文吗?(不知道)
- hashMap介绍一下
- hashMap是线程安全的吗?(不是)如何保证线程安全?(答concurrtenHashMap)让你自己来实现呢?(使用sy加锁)怎么加锁(锁住put和get方法)具体一点(sy分为类锁和对象锁)那你觉得应该加什么锁(对象锁,解释一下)
- concurrtenHashMap介绍一下(主动说的)
- CAS讲一讲
- sy和lock的区别
- CAS,sy,lock三者应该分别在什么场景下使用?(这个回答得不是很好,我说要看业务需求,三个偏向特点不同,简单介绍三者不同的倾向特点)
- 内存泄露是什么意思?什么时候会出现内存泄露?(静态常量不使用,threadLocal)还有吗?(不知道)
- 算法题:
1)输入一个cd命令:
/hist/add/camera/../int/has/../init 输出最终的文件目录
2)现在有一百万条定时任务,是一个二元组<key,value>,key代表触发的时间,value代表任务。将这一百万条定时任务插入一个调度系统,设计这个调度系统的存储结构,保证两点:插入的速度快,同时保证调度系统可以实现秒级的任务调度
二面:
记得不是很清楚,少了部分
- jvm中内存是不需要自己分配的,不像c++需要malloc和free,那你知道window下磁盘是如何管理的吗?(不知道)
- 那你知道磁盘上是如何快速计算当前的容量的吗?(可以设计一个变量,每次存进去加size,释放就减)你可能对这方面不太了解,其实你可以了解一下,里面是用块存储的,可以用bitmap快速计算容量(我提问:那也会有内存碎片吧)肯定会有,这就是为什么window下会定时进行内存碎片的清除,你可以去了解一下xxx(嗯嗯)
- 你知道一个linux代码文件是如何被加载到cpu上运行的吗?(不了解,我说我可以讲讲java的代码是如何被加载运行的)那你讲讲吧
- 你了解协议模型吗?(TCP四层,OIS七层,我介绍五层吧,直接讲输入url到显示界面的过程,详细讲了DNS的递归查询和迭代查询)
- 一个域名是可能支持多个服务的,这个怎么办?(http1.1支持host域)
- 那在高并发的情况下,哪些服务器如何保证dns解析的高效性(缓存)还有其他的吗?(分布式缓存)面试官笑了笑(我解释到,要不然就是从代码上解决,要不然就是从机器数量上解决)
- TCP和UDP的区别
- DNS用的是什么协议
- Ping命令了解吗?发送的是什么报文?(我说我只了解用的是ICMP协议,但是具体不知道)
- IO模型了解吗?(BIO,NIO,AIO)
- 一个数据从网卡到磁盘的过程
- 进程和线程的区别(提到了协程)为什么协程切换比线程快(不涉及特权模式切换)为什么协程不涉及(应该是一般只用协程做用户态的事情吧,我对go不是很了解)
- 有1000个文件,找出出现次数最大的十个词
- 算法:合并有序链表
- 看我做过论文查重系统,问我核心是什么(本科毕设,分句算法和查重算法,用的编辑距离)能讲一讲编辑距离吗?你当时是自己写的还是用的别人的(用的pyhton包),那你能写一个吗?写个大概思路。(正好之前练过,有小瑕疵,没让跑,整体代码基本正确)
- 看你用过k8s,了解deployment啥啥啥的吗?(不了解,我只是写过yaml文件部署,我可以介绍一下k8s组件,介绍了五六个组件和功能,还讲了我们之前做的负载均衡和高可用)
最后就是给我讲讲说有空可以来实习,问我要不要继续三面,还是改天,因为已经连续两面了,我说继续吧
三面:
- 自我介绍,开始讨论项目,终于聊我的项目了。。。
- 数据从磁盘到程序的过程(不满意)
- 我又提到了Kafka的零拷贝(觉得有问题)
- 问我协议模型(五层)
- 三次握手四次挥手(八股文)为什么是三次?为什么是四次?(感觉不满意,和他讨论了很久)面试官认为一般是对称的,如果不对称一定是某个环节combine了(我说我回去再看看)
- linux内存管理了解吗?怎么管理的?(其实我是不知道的,但是二面面试官正好告诉我了块式存储,所以我说了块式,然后还说了段页式)他说段页式应该是很古老的吧
- 现在让你自己设计一个内存管理,你怎么设计(这个地方讨论了很久,我每次有新的想法就会有问题抛出来,然后我再想。。。)最后有一个稍微觉得可以的了,说你这个设计算比较雏形的了(主要是问一个大内存怎么申请,快速查找可用空间,内存碎片怎么最少)
- 讲一讲JVM吧
- hashmap
后面记不清了,后面就是偏八股文了
这里给大家推荐一份我面试之前看的java面试笔记:
这份资料包含了很多当下热门的java知识点,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!
不多展示了,你想要的它都有,
反问:
我说我想最后补充两点,算是表现一下我的优势吧:我知道可能今天表现不是很好
- 1)我学习能力很强,简历上很多奖学金都是我自己拿的
- 2)开发能力强,抗压能力强,百度实习期间每天工作超过十二个小时
- 3)我对内存这方面的确是不了解,我也不解释,但是我有我擅长的领域,例如我对java比较了解
最后他说了一句,其实还ok了,然后就没了,以为凉了,第二天hr说过了
总体来说其实不是特别难,我觉得提前批比秋招简单。。
相关推荐
- Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway
-
AI-generatedimageAsianFin--Dubaiisrapidlytransformingitselffromadesertoilhubintoaglob...
- OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs
-
TMTPOST--OpenAIisescalatingthepricewarinlargelanguagemodel(LLM)whileseekingpartnershi...
- 黄仁勋说AI Agent才是未来!但究竟有些啥影响?
-
,抓住风口(iOS用户请用电脑端打开小程序)本期要点:详解2025年大热点你好,我是王煜全,这里是王煜全要闻评论。最近,有个词被各个科技大佬反复提及——AIAgent,智能体。黄仁勋在CES展的发布...
- 商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署
-
1、本文属于mini商城系列文档的第0章,由于篇幅原因,这篇文章拆成了6部分,本文属于第5部分2、mini商城项目详细文档及代码见CSDN:https://blog.csdn.net/Eclipse_...
- Python+Appium环境搭建与自动化教程
-
以下是保姆级教程,手把手教你搭建Python+Appium环境并实现简单的APP自动化测试:一、环境搭建(Windows系统)1.安装Python访问Python官网下载最新版(建议...
- 零配置入门:用VSCode写Java代码的正确姿
-
一、环境准备:安装JDK,让电脑“听懂”Java目标:安装Java开发工具包(JDK),配置环境变量下载JDKJava程序需要JDK(JavaDevelopmentKit)才能运行和编译。以下是两...
- Mycat的搭建以及配置与启动(mycat2)
-
1、首先开启服务器相关端口firewall-cmd--permanent--add-port=9066/tcpfirewall-cmd--permanent--add-port=80...
- kubernetes 部署mysql应用(k8s mysql部署)
-
这边仅用于测试环境,一般生产环境mysql不建议使用容器部署。这里假设安装mysql版本为mysql8.0.33一、创建MySQL配置(ConfigMap)#mysql-config.yaml...
- Spring Data Jpa 介绍和详细入门案例搭建
-
1.SpringDataJPA的概念在介绍SpringDataJPA的时候,我们首先认识下Hibernate。Hibernate是数据访问解决技术的绝对霸主,使用O/R映射(Object-Re...
- 量子点格棋上线!“天衍”邀您执子入局
-
你是否能在策略上战胜量子智能?这不仅是一场博弈更是一次量子智力的较量——量子点格棋正式上线!试试你能否赢下这场量子智局!游戏玩法详解一笔一画间的策略博弈游戏目标:封闭格子、争夺领地点格棋的基本目标是利...
- 美国将与阿联酋合作建立海外最大的人工智能数据中心
-
当地时间5月15日,美国白宫宣布与阿联酋合作建立人工智能数据中心园区,据称这是美国以外最大的人工智能园区。阿布扎比政府支持的阿联酋公司G42及多家美国公司将在阿布扎比合作建造容量为5GW的数据中心,占...
- 盘后股价大涨近8%!甲骨文的业绩及指引超预期?
-
近期,美股的AI概念股迎来了一波上升行情,微软(MSFT.US)频创新高,英伟达(NVDA.US)、台积电(TSM.US)、博通(AVGO.US)、甲骨文(ORCL.US)等多股亦出现显著上涨。而从基...
- 甲骨文预计新财年云基础设施营收将涨超70%,盘后一度涨8% | 财报见闻
-
甲骨文(Oracle)周三盘后公布财报显示,该公司第四财季业绩超预期,虽然云基建略微逊于预期,但管理层预计2026财年云基础设施营收预计将增长超过70%,同时资本支出继上年猛增三倍后,新财年将继续增至...
- Springboot数据访问(整合MongoDB)
-
SpringBoot整合MongoDB基本概念MongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和...
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
-
概述 Jmeter最早是为了测试Tomcat的前身JServ的执行效率而诞生的。到目前为止,它的最新版本是5.3,其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JM...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway
- OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs
- 黄仁勋说AI Agent才是未来!但究竟有些啥影响?
- 商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署
- Python+Appium环境搭建与自动化教程
- 零配置入门:用VSCode写Java代码的正确姿
- Mycat的搭建以及配置与启动(mycat2)
- kubernetes 部署mysql应用(k8s mysql部署)
- Spring Data Jpa 介绍和详细入门案例搭建
- 量子点格棋上线!“天衍”邀您执子入局
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (56)
- oracle 乐观锁 (53)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)