头条三面凉经

由于实习拿了offer没去,直接三面,面试官在家里面试的我,面试时间50分钟,然后凉了。其实觉得问的都挺简单,下面给出了我的一些答案,可能答案有问题不自知,希望有大佬指点一下。

快速排序和归并排序描述一下,优缺点(描述)

快速排序:先选定一个基准元素,按照这个基准元素将数组划分,再在被划分的数组上重复上过程,最后可以得到排序结果。

归并排序:将数组不断细分成最小的单位,然后每个单位分别排序,排序完以后合并,重复这个过程就得到了排序结果

优缺点:归并排序稳定且最高最低时间复杂度都是nlogn,但是占用额外空间;不稳定,最高时间复杂度n2,最低时间复杂度nlgn,不占用额外空间

加问快速排序很多重复数字如何优化

返回基准元素位置时返回基准元素的最左和最有索引,减少排序次数。

希尔排序知道吗?为什么这么操作

改良的插入排序。插入排序在数组基本有序的时候可大大降低时间复杂度,希尔排序通过将数组分块后对每块数组进行插入排序,每次排序完成,块数减少一倍,数组也相对变得有序,知道最后对整个数组进行插入排序,则排序完成。

Hashmap描述。多线程会发生什么问题

jdk1.7时由数组和链表组成;jdk1.8时将链表改良为链表+红黑树

多线程put操作可能发生死循环或者元素丢失

加问死循环发生原因:

多个线程执行put操作时同时触发了rehash方法,可能会生成环形链

加问环形链形成过程(视频面不能画图,表示不好讲,面试官还是要求讲,就随便讲了一下,这里肯定说的很不清楚)

红黑树描述

  1. 节点是红色或者黑色的
  2. 红色节点的子节点必须是黑色的
  3. 根节点为黑色
  4. 叶子节点(Nil节点)为黑色的
  5. 根节点到叶子节点的路径上的黑色节点一样多

加问为什么要使用不同颜色的点

红黑树是平衡二叉树的变形,由于平衡二叉树插入删除操作复杂特别是如果插入有序的数字时,二红黑树只要满足节点的颜色要求,在插入删除过程中满足红黑树定义要求,就能满足二叉树的相对平衡。

Springmvc的流程、handler如何找到要处理的类(流程简单讲了一下,问知道前端处理器的那个servlet叫什么吗?答:是dispatcherServlet吗,看面试官反应以为自己错了,后来查了一下好像没错。handler没答出来)

一些简单的项目问题

Post和get的区别

  1. Post用来给服务器传送数据,get用来从服务端获取数据
  2. Get提交直接将请求信息放在url地址上会存在安全问题
  3. Get 的长度一般限制在2kb左右

逻辑题:一个岛上的居民会戴红白帽子两种帽子,每个人只能看到别人带什么帽子,不能知道自己戴什么帽子,并且互相之间不能交流。如果某人知道自己戴红帽子,当晚必须离开岛。有一天岛外来了一个人,说:你们之中至少有一个人戴了红帽子,请问之后的几天会发生什么事情?(说出了答案且给出分析过程。让我证明这个结论,不知道是个什么意思)

如果由n个人戴了红帽子,那么就在第n天的时候这些人都离开了

算法题:给出一个数字矩阵,寻找一条最长上升路径,每个位置只能向上下左右四个位置移动。 (没太过脑子直接写的代码实现,复杂度太高,面试官要求优化,我说了一下思路,然后就结束了)

一分钟以后hr告诉我面试结果不满意,能马上告知结果这点还是很佩服的。

#面经##秋招##字节跳动##机器学习##算法工程师#
全部评论
HashMap并发下链表成环,可以写个画个图解释一下吗?弱鸡到现在都没想通
点赞 回复 分享
发布于 2018-08-14 16:15
老哥,明天视频4面,能不能交流下?
点赞 回复 分享
发布于 2018-08-14 15:56
这个红白帽是什么思路啊
点赞 回复 分享
发布于 2018-08-14 11:20
感觉你都答上了呀
点赞 回复 分享
发布于 2018-08-13 19:25
哈哈哈哈,这个面试官感觉我被面过,红帽子白帽子那题就很崩溃,当时面的实习
点赞 回复 分享
发布于 2018-08-13 16:38
jdk1.8中HashMap多线程下不会导致死循环了。面试官是故意这么问你的。大佬
点赞 回复 分享
发布于 2018-08-13 16:32
楼主到底面的什么岗,怎么还有spring的。。
点赞 回复 分享
发布于 2018-08-13 16:08
你这是投的什么岗
点赞 回复 分享
发布于 2018-08-13 16:06
感觉lz已经答的不错了,那个智力题如果之前看过就容易答上来了,膜拜一下大佬
点赞 回复 分享
发布于 2018-08-13 16:05
头条面试太难,中间有一个问题答不好,面试官对你的评价就会降低很多,感觉要的是对答如流的大佬。
点赞 回复 分享
发布于 2018-08-13 15:54

相关推荐

Cherrycola01:0实习 0项目 约等于啥也没有啊 哥们儿这简历认真的吗
点赞 评论 收藏
分享
咦哟,从去年八月份开始长跑,两处实习转正都失败了,风雨飘摇,终于拿到offer了更新一下面试记录:秋招:多部门反复面试然后挂掉然后复活,具体问了啥已经忘了,只是被反复煎炸,直至焦香😋春招:base北京抖音hr打来电话说再次复活,准备面试,gogogo北京抖音一面:六道笔试题:1.promise顺序2.定义域问题3.flat展开4.并发请求5.岛屿数量算法(力扣)深度,广度都写6.忘记了,好像也是算法,难度中等其他问题多是框架底层设计,实习项目重难点~~~秒过😇北京抖音二面:三道笔试题:(为什么只有三道是因为第三道没做出来,卡住了)1.中等难度算法(忘记啥题了,应该是个数组的)2.认识js的继承本质(手写继承模式,深入js的面相对象开发)3.手写vue的响应式(卡在了watch,导致挂掉)---后知后觉是我的注册副作用函数写得有问题,有点紧张了其他题目多是项目拷打,项目亮点,对实习项目的贡献~~~第二天,挂,but立马复活转战深圳客服当天约面深圳客服一面:六道笔试题,由于面过太多次字节,面试官叫我直接写,不用讲,快些写完😋,具体都是些继承,深拷贝(注意对数组对象分开处理,深层次对象,循环引用),加中等难度算法题~~~秒过深圳客服二面:口诉八股大战:大概囊括网络,浏览器渲染原理,动画优化,时间循环,任务队列等等(你能想到的简单八股通通拉出来鞭尸😋)算法题:笔试题6道:1:找出数组内重复的数,arr[0]-arr[n]内的数大小为[1-n],例如[1,2,2,3,3]返回[2,3],要求o(n),且不使用任何额外空间(做到了o(n),空间方面欠佳,给面试官说进入下一题,做不来了)2:原滋原味的继承(所以继承真滴很重要)3:力扣股票购买时机难度中等其他滴也忘记了,因为拿到offer后鼠鼠一下子就落地了,脑子自动过滤掉可能会攻击鼠鼠的记忆😷~~~秒过深圳客服三面:项目大战参与战斗的人员有:成员1:表单封装及其底层原理,使用成本的优化,声明式表单成员2:公司内部库生命周期管理成员3:第三方库和内部库冲突如何源码断点调试并打补丁解决成员4:埋点的艺术成员5:线上项目捷报频传如何查出内鬼成员6:大文件分片的风流趣事成员7:设计模式对对碰成员8:我构建hooks应对经理的新增的小需求的故事可能项目回答的比较流利,笔试题3道,都很简单,相信大家应该都可以手拿把掐😇~~~过过过无hr面后续煎熬等待几天直接hr打电话发offer了,希望大家也可以拿到自己心仪的offer
法力无边年:牛哇,你真是准备得充分,我对你没有嫉妒,都是实打实付出
查看19道真题和解析
点赞 评论 收藏
分享
评论
点赞
139
分享

创作者周榜

更多
牛客网
牛客企业服务