三面头条失利,但收获满满,面试凉经分享,与君共勉

(1)给一个正整数,判断是否是2的n次幂,他说用最快的方式不要递归? 肯定是运算的方式,你能想到的数的运算有哪些,除了加减乘除? 这个地方讲了很多,运算太多了,但是感觉不是面试官想要的,我最后把二进制的移位都说了出来,才get到他的点,问还有些什么,他最后问我怎么没提异或,并且出了几个二进制数让我异或算结果

(2)给一个数组,数组里面有rgb三种数,数量和顺序完全无序,给一个算法按照他想要的r都在前面,g都在中间,b都在后面,用移动次数最少的算法进行计算,写算法 这个地方一直叫我优化再优化,我快疯了,我说我不行要放弃了,他说你简历不是写着强烈的好奇心求知欲嘛,没事再想想,我直接笑喷了才放松了点继续想,这简直是心理战

第二轮面试:1小时11分钟

=============

  • 自我介绍

  • 问我计算机网络,操作系统,组成原理,数据结构哪个学的最好?我说计网,因为我实习的时候看了很多计网相关的东西,他叫我把自己最熟悉的东西详细讲解出来

  • 使用https就能保证数据安全吗?

  • http协议处于网络模型哪一层

  • tcp和udp的本质区别是什么?这个地方在数据可靠性深挖的比较多

  • 实习过程中用http协议做的事情,http状态码解释

  • http发起请求的时候,get,post别的还有些啥

  • 用post获取数据会有什么问题吗?get和post的区别有哪些

  • c和Java的区别,本质区别

  • 面向对象几大特征?什么时候该用继承什么时候不该用继承?有没有遇到过这种使用?为什么继承破坏了封装?

  • 实际项目中运用过多线程吗?用来干什么?

  • 多线程安全问题怎么解决?实际项目中怎么解决的,场景和解决方式

  • 多线程协作方式,除了锁还有什么吗?

  • 信号量解释一下,干什么用的?

  • 死锁怎么产生的?

  • 发生了死锁怎么办?

  • 银行家算法了解么?

  • 算法部分:

(1)有很多纸盒子,每个纸盒里里面套着纸盒子,其中有一个有硬币,怎么把硬币找出来,写算法

(2)树的遍历方法有什么,写一个二叉树前序遍历算法

第三轮面试:1小时15分钟

=============

  • 自我介绍一下

  • 讲一件自己做项目最有挑战的一件事情

  • 比较mysql和mongodb的优劣

  • mysql用join来做连接,mongodb怎么做的

  • mongodb冗余字段的方式和mysql有啥不同,缺点

  • 信息变更了,name变了怎么处理这些冗余字段?

  • mongodb里面的aggravate使用过吗,举一个例子,有什么用

  • pipeline运行机制是什么,假如你来做mongdb执行引擎,自己设计一个方式来设计这个pipeline

  • 这个问题我回答了很久,因为我完全不懂pipeline,硬着头皮设计。

  • 你觉得docker这个技术能解决什么问题?为什么要用docker做部署?有什么好处

  • 运行在docker里面的文件系统,docker怎么实现文件系统机制?

  • 在docker里面根目录cd,能不能跳出沙箱回到宿主机?

  • 问了下我前端知识了解的程度?react 和 jquery有什么区别?

  • 直接上算法了

(1)寻找最近的父节点,给了两个例子,差不多leetcode中等难度

(2)开放性的问题,猫抓老鼠,猫在圆型中间,老鼠在圆的周长上,速度相同,问猫能不能抓到老鼠,这个问题我给的回答他不是很满意,我把关键点说到了但是不能用数学解释出来

结局

==

结局当然是凉了,没有第四面的通知,但这次经历给我的感受还是很不一样的,也为我下一场面试积攒了经验。之后打算再投几家互联网一线大厂,希望能够顺顺利利, 收到好消息吧。

另外,上文的三面题目的答案和具体解析都整理在了文档里,文章篇幅有限就不在这里分享了,有需要的可以私信我口令「面试题」免费领取。

我是如何备战字节跳动面试的?

==============

第一步:准备简历

准备简历,并不是指可以在网络上下载一份简历模板,然后修修改改就可以使用了。简历的精心准备,需要注意三个要点:(1)注意区分:了解,熟悉,精通,不要乱写,面试官很多问题都是根据简历描述来进行的;(2)专业知识和项目经验在精不在多,尤其是项目经验一定要写自己熟悉的且有内容可说的,不要认为写得越多越好。(3)要熟悉自己的简历内容,准确掌握,最好是多阅读自己的简历。

如果还是不知道怎么准备自己的简历,我这边可以分享一下我搜集到的简历模板,给大家一个参考,希望能够在给大家一个合格的敲门砖。

第二步:复习+总结

离面试期越来越近也越来越焦虑,这个时候更需要去调整好自己的心态,沉入到复习当中,对各个知识点要学会查漏补缺,学着多去做做总结。

关于复习和总结,我自己也整理了不少资料,均是我的收获,有需要的也可以进行分享。

如:

第三步:刷题

  1. Java筑基系列:Tomcat+Mysql+设计模式+并发+Netty+JVM

  2. 开源框架系列:Spring+SpringMVC+MyBatis

  3. 微服务架构:Dubbo+SpringBoot+SpringCloud

  4. 分布式数据库系列:Memcached+Redis+MongoDB

  5. 分布式通讯系列:ActiveMQ+RabbitMQ+Kafka

  6. 分布式限流系统:Nginx+zookeeper

  7. 一线互联网大厂历年真题系列

  8. 算法宝典

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

为什么我不完全主张自学?
平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。

除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。

我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
该学哪些技术才能达到企业的要求?(下图总结)**

[外链图片转存中…(img-Kvobh21T-1713442424534)]

[外链图片转存中…(img-J90KNwUK-1713442424534)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值