8.25 百度一面(凉经)

1.八股
  有几种网络io模型?
  异步网络模型在什么场景下你了解有应用过?(回答了线程相关的场景)
  除了用线程完成,还有什么操作可以完成异步操作?
  同步阻塞和同步非阻塞在java层面怎么实现?(说前面网络io模型答得挺顺畅,具体实现细节还需要提升一下)
  描述一下一次完整的http请求
  知道的长连接有几种实现方式?
  一个http请求包含哪几部分内容?
  请求头里面的信息都有哪些?
  http的状态码有哪些?
  401和403的区别是什么?
  500和502 呢?
  Java中创建线程的方式有几种?
  用继承thread类和实现runnable接口的理解和区别?
  Java里面的几种集合框架尽可能地描述清楚一点
2.代码题
  设计一个hashSet(完全不会)
  多线程题:10个线程,每个线程加1w次,最终让long类型的num实现加到10w(不会)
3.场景题
  1t的数据怎么加载到200m的内存中,并且找到两行一样的数据?
  答了布隆过滤,然后问重点怎么加载到内存中
  用几次io加载到内存当中?怎么加载?
  Java打开1t的文件,第一部操作做什么?
  用代码打开一个文件和用鼠标打开一个文件有什么区别?

有没有好兄弟知道怎么回答的在评论区里回答一下,小菜鸟顶不住了,完全不会呀
##java面经##凉经##牛客在线求职答疑中心#
全部评论
嗨!看到你的消息,我知道你在面试中遇到了一些困难。不要担心,我会尽力帮助你的!首先,我想问一下你对异步网络模型的了解有多少呢?你可以和我分享一下你的想法。 另外,你提到了一些关于HTTP请求和状态码的问题,我可以帮你解答。HTTP请求通常包含请求行、请求头和请求体三个部分。请求头中包含了一些关于请求的信息,比如请求的方法、URL、用户代理等等。而HTTP状态码用于表示服务器对请求的处理结果,常见的状态码有200、404、500等等。 至于401和403的区别,401表示未经授权,需要进行身份验证,而403表示禁止访问,即使进行身份验证也无法访问。500表示服务器内部错误,502表示网关错误。 关于Java中创建线程的方式,有继承Thread类和实现Runnable接口两种常见的方式。使用继承Thread类的方式,需要重写run方法;而实现Runnable接口的方式,需要实现run方法,并将实现了Runnable接口的对象作为参数传递给Thread类的构造方法。 对于HashSet的设计,你可以考虑使用哈希表来实现,通过哈希函数将元素映射到不同的桶中,从而实现高效的插入和查找操作。 关于多线程题目,你可以考虑使用synchronized关键字来保证线程安全,每个线程执行一万次加法操作,最终将结果累加到10万。 至于场景题中的数据加载和文件操作问题,我可以给你一些建议。对于1T的数据加载到200M的内存中,并找到两行相同的数据,你可以考虑使用分块加载的方式,将数据分成多个小块进行处理,使用哈希表或者布隆过滤器来判断是否有重复数据。而打开文件的操作,使用代码打开文件可以通过File类来实现,而用鼠标打开文件则是通过操作系统的图形界面来实现。 希望这些回答对你有帮助!如果你还有其他问题,或者想要深入了解某个问题,请随时告诉我哦。另外,如果你想和我私聊,可以点击我的头像进行私信聊天。加油,我相信你可以克服困难的!😊
11 回复 分享
发布于 2023-08-25 16:33 AI生成
校友加油加油
点赞 回复 分享
发布于 2024-07-22 08:44 上海
1.hashset可以看Java关于hashset,hashmap的设计,应该是挺常见的; 2.多线程就加锁防并发更新即可,或者定义num成原子int 3.文件操作的通用步骤都是调用操作系统api:open read close。对应这边就是先open,然后读一点,读一点,读一点,流式读取计算。
点赞 回复 分享
发布于 2023-09-01 13:16 浙江
试试携程,帮忙看流程,NTAW3GA
点赞 回复 分享
发布于 2023-09-01 11:14 上海
借佬楼,感觉面经很经典,写了篇解析发表了哈自己的拙见~😆
点赞 回复 分享
发布于 2023-09-01 09:06 北京
好难
点赞 回复 分享
发布于 2023-08-30 08:39 重庆
这么吓人阿..
点赞 回复 分享
发布于 2023-08-27 17:59 甘肃
请问啥岗位
点赞 回复 分享
发布于 2023-08-27 13:48 江苏
啥时候面的,多久共享啊
点赞 回复 分享
发布于 2023-08-25 19:00 辽宁
哪个部门,佬
点赞 回复 分享
发布于 2023-08-25 18:16 广东
校友可以交流一下
点赞 回复 分享
发布于 2023-08-25 17:47 美国
提前批么
点赞 回复 分享
发布于 2023-08-25 17:11 辽宁

相关推荐

02-07 12:06
已编辑
华侨大学 测试开发
最近看到很多 92 的,甚至是硕士,开始往测开赛道卷,说实话有点看不懂。先把话说清楚,大厂里的测开,绝大多数时间干的还是测试的活,只是写点自动化脚本、维护测试平台、接接流水线,真正像开发一样做系统、做架构、做核心平台的测开少得可怜,基本都集中在核心提效组,而且人很少,外面进去的大概率轮不到你,我想真正干过人都清楚。很多人被洗脑了,以为测开也是开,和后端差不多,只是更简单、更轻松、还高薪。现实情况是,测开和开发的职业路径完全不一样。开发的核心是业务和系统能力,测开的核心是稳定性和覆盖率,前者是往上走,后者天花板非常明显。你可以见到很多开发转测开,但你很少见到干了几年测开还能顺利转回开发的。更现实一点说,92 的高学历如果拿来做测开,大部分时间就是在做重复性很强的杂活,这种工作对个人能力的放大效应非常弱。三年下来,你和一个双非的,甚至本科的测开差距不会太大,但你和同龄的后端、平台开发差距会非常明显。这不是努不努力的问题,是赛道问题。所谓测开简单高薪,本质上是把极少数核心测开的上限,当成了整个岗位的常态来宣传。那些工资高、技术强的测开,本身就是开发水平,只是挂了个测开的名。普通人进去,99% 做的都是项目兜底型工作,而不是你想象中的平台开发。测开不是不能做,但它绝对不是开发的平替,也不是性价比最优解。如果你是真的不想做开发,追求稳定,那测开没问题。但如果你只是觉得测开比后端容易,还能进大厂,那我劝你冷静一点,这只是在用短期安全感换长期天花板。有92的学历,如果你连测开这些重复性工作都能心甘情愿接受,那你把时间精力用在真正的开发、系统、业务深度上,回报大概率比卷测开要高得多。想清楚再下场,别被岗位名和话术带偏了,就算去个前端客户端也是随便占坑的,测开是一个坑位很少赛道,反而大面积学历下放,不用想也能知道会是什么结果,我想各位在JAVA那里已经看到了
小浪_Coding:工作只是谋生的手段 而不是相互比较和歧视
点赞 评论 收藏
分享
评论
22
126
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务