今日头条秋招提前批后端开发一面

前言

本人北邮研二在读硕士,有过几段实习经历,都是后台开发相关,自认技术渣渣,但是自觉贵在肯钻研。这是背景,废话不多说,以下奉上最新的面试全过程(趁热下饭)

面试方向点

项目经历

java基础知识

代码能力

过往经历

上线寒暄(牛客网视频面试)
面试官:你先自我介绍一下吧。
我:您好,我是----,学历— balabalabala 很荣幸能来参加头条面试
(技术面试的自我介绍我觉得没什么好说的,主要是博取一个好感度吧,真正地干活在接下来的问答里表现就好)
面试官: 好的,你现在是在读硕士是吧, 我看你之前真正的工作过一段时间对吧。
我:是的,我目前研二就读,之前是考研结束之后在杭州工作了几个月。
面试官: 你是毕业了再考研的是吗?
我:是滴,我是17年毕业,之后考研,第二年复试之后找了份工作,是个小公司,业务简单。
面试官:你为什么毕业之后考研呢?
我:当时对于职业这块比较迷茫,之前找的几份实习也不是很和自己心意,于是就想再读一读书,让自己捋一捋,对自己的发展更清晰一点吧
面试官:嗯嗯好的

项目介绍

面试官:那你简单介绍一下你目前为止的一个项目
我: 是任何一个项目都可以是吧
面试官:是的
我:balabalabala
面试官:你认为你做这个项目的技术亮点难点是什么呢?
我:(思索了一下)技术亮点真的说不上,但是确实碰到了点困难,是关于大文件上传的时候的问题,进度条/异步 balabalabala
面试官: 你认为你的技术实现存在问题,那你想过怎么优化一下它吗?
我:(思考片刻)当时没想太多,现在想来要优化的话,无非是多线程读取上传
面试官:来说一说你怎么想的,具体大概怎么实现
我:balabalabala,
面试官:你说的是个办法,但是你想一下之前你的办法的慢的地方是在哪里,是业务代码部分还是数据库读写。
我:那是数据库操作方面。
面试官:好的,那你基于多线程的这个办法能解决这个问题吗?
我:好像不太行(开始继续思考)
面试官:这个问题先到这里吧

Java基础知识

面试官:你的java用的比较多是吧,那我问你几个java的问题
我:好滴
面试官: hashmap底层原理 是什么?
我:数组,链表,红黑树balabala
面试官:什么时候是链表,什么时候是红黑树呢?
我:我记不太清楚边界值了,对于java来讲,可能超过10个结点的话,结构会变成红黑树,但是小于十个的话保持链表
面试官: 为什么要有这种转变呢?
我:链表过长,查询的效率会变得很低,这时候变成红黑树,效率会高一点
面试官:那你说一下链表和红黑树的时间复杂度都是多少
我:链表查询自然是O(n),红黑树 O(logn)。
面试官:那插入呢?
我:(脑子抽了一下)和查询都是一样的。
面试官:那既然链表的插入和查询都要优于红黑树,为什么还要用红黑树呢?
我:(开始苦苦思索)(并没有)我搞错了,红黑树的插入复杂度是nlogn,要比链表要差一点。
面试官:好的,那你知道hashtable原理吗?
我:底层原理和Hashmap是一样的,具体的区别我记不太清楚了(线程安全啊憨憨!!!)
面试官:java的你了解吗?
我:知道一点
面试官: 那你说一下synchronized和reentrantlock的区别?
我:(有点懵)emmmmm,不太知道
面试官:那好,那你说一下synchronize的底层原理
我:(太急着说了,说成了锁的原理)就是一个资源,在第一个访问者来的时候会被锁起来,直到这个访问者用完来开才释放,而第二个访问者在第一个访问者在的期间是无权访问资源的,只有等锁释放。
面试官:好的这个问题先说到这里,你用过线程池吗?
我:只是理论层面了解,没有实战过
面试官:好的你说一个你用过的线程池
我:(蒙了,我真没用过,我是个渣渣啊)emmm老师这个问题可以跳过吗,我回答不上来
面试官:好的那这样吧,你觉得java哪一部分的知识你比较拿手,你说我问你
我:之前准备面试的时候看过垃圾回收的知识
面试官:就GC对吧,那你知道CMS吗,说一下他的流程
我:(真不知道)这个和分区有关系吗?老年代和新生代那些?
面试官:你知道老年代和新生代是吧,那CMS是针对那个的回收啊?
我:新生代的(毫不犹豫)
面试官:怎么回收的?
我:eden区,st1,st2 balabalabala 瞎掰那一套,因为别的不知道说什么。。
面试官:好的这一部分就到这里了。

手撸代码

面试官:我们做个算法题
我:好的
面试官:给一个有序的数组和一个数,找出这个数的下标,不存在则返回该在的下标;
我:有趣的数组?哦哦哦,有序的,我听错了,好的没问题
coding。。。。。。。。。。。。。。。。。。。。。。。。
断网!!!!!!!!!!!!!!
正在酒店隔离,这个垃圾网络,坏我好事,欲哭无泪
重连!!!!!!!!!!!!!!
我:对不起老师,这个酒店的网络不太行
面试官:啊你断网啦,没事你继续,欸你是敲完了吗
我:老师我可以再检查一下吗,我可以调试吗
面试官:当然可以
我:ok

AC!!!!!!!!(并没有)

最后

面试官:时间也不早了,那你有什么问题想问我的吗?
我:就之前工作给我的感觉是老是敲业务代码,稍微好点的技术都用不上,对自己没什么提升,我想问头条的氛围如何,对个体能不能有好的帮助
面试官:首先所有的公司都是以业务为第一位的,你个人要在这些的基础上自己寻找提升,固然,不同的公司对人的影响是客观存在的,但是主要的还是你自己的自我意识的提升,比如你之前这个项目,你说效率低下,那你可以想好的解决办法啊,外在的只能是次要的,主要的还是看个人
(插一句:面试官的这个回答真的走心,虽然小怼我一下,但是句句在理,我受教了)
我:好的,谢谢您,您的这些话对我很有用!那我还想问第二个问题,就是咱们部门主要业务是什么?
面试官:咱们大部门主要负责头条的整个广告管理,包括啊短视频和其他,大部门下面还有小部门,大方向就是这样balabalabala
我:那咱们对技术栈有什么要求吗
面试官:完全没有的,好多新人来了之后都是现学一些东西
我:好的我没啥问题了,谢谢您的耐心
面试官:好的,那今天就这样了,后续结果不久之后告诉你,再见
我:谢谢您,再见

复盘

  • 首先,我按照准备实习面试的思路来准备这次面试了,这真的是走入了误区,复习了一大堆计网操作系统的东西都没问到
  • 其次,自己熟练的语言,一定要好好看看知识点,这个硬性的东西,背一背记一记,就可以应付面试,我真的,哭了
  • 第三,线程池这种用得比较多的东西,平时自己懒得研究,到了这个时候啥都回答不上来,还是不要犯懒啊啊啊啊啊啊

后话

我的面试表现应该是去不了下一轮了,但是我不会气馁!其实我很庆幸,这次经历也算是指明了方向,为下一次准备!
还有就是,一个好的面试官真的会让面试者受益匪浅,这种影响是无形的,
现在看来,他的每个问题都有点引导的意思,就比如hashmap那个问题,他先问我为什么链表和红黑树转换,在问两个插入和查询的复杂度。这样即使面试者记错了,或者之前理解不透彻,都会在这里恍然大悟。我提的第二个问题,他也很走心的站在过来人的角度,有意的纠正我的心态,真的很感谢!
江湖再见!我去准备别的面试了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值