今日头条后端面经总结(2018.12月)(转自牛客网)

面经(后端):

  1. 操作系统中的进程和线程还有虚拟存储。
  2. 计算机网络TCP和UDP仔细看一下,也不要放过滑动窗口; 还有计算机网络体系结构各层都要熟悉。
  3. lambda表达式
  4. spring
  5. 智力题,比如两炷香还有两瓶水的那种(不知道为什么问我这种,哈哈)。
  6. Java中你使用过的容器(比如说hashmap),了解其底层原理吗。
  7. 看过哪些源码
  8. 算法题:算法中的threesum问题
  9. 找出两个数组中的重复元素
  10. 最近在看什么书
  11. 你的项目,第一个面试官问了,第二个没问
  12. 你觉得你最熟悉或者最擅长的方面,我说我擅长算法,然后他就给我加了考一道算法题
  13. 告诉你等待HR通知
    作者:VintageLi
    链接:https://www.nowcoder.com/discuss/142004
    来源:牛客网

并发和并行区别

并发处理机制

HTTP 和HTTPs区别

TCP三次挥手 四次握手√

线程 进程 区别

多线程与多进程区别

代码 两个str 最大公共子序列和子串

Http有哪些方法 put get post之类的 其中的区别

一面:基础知识+两道编程题

  1. 给n个数,求这n个数组成的集合的所有子集
  2. 平面上有n个点,求最多有多少个点在同一条直线上

二面:两道编程题+场景题+基础知识

  1. 给n个数,求最大的区间和

  2. 给n个非降序的数和一个数k,求出k在n个数中第一次出现的位置

  3. 有两个TB级大文件,一个文件每行为id : name,另一个文件每行为id : age,要求合并成一个文件id : name, age (说思路不用写代码)

三面:基础知识+一道编程题

  1. 给一个01矩阵,求出全为1的最大矩形位置和面积

一面静态连接库和动态链接库的区别,cpp内存模型,OSI七层模型,TCP和UDP的区别,TCP如何保证可靠性,xss和json劫持,redis容灾。

二面输入一个url之后会发生什么,cookie和session的区别,get和post的区别,问了些状态码,redis的持久化rdb和aof的区别,zset底层怎么实现的,跳表原理复杂度,mysql聚簇索引和非聚簇索引。三面问的比较奇怪记不得了

  1. 说到了HashMap,讲到了扩容机制。然后扯到了一个情况让分析下这个的时间复杂度。就是每次扩容2倍的空间,那么依次put进n个数据,整体的时间复杂度是多少。

  2. 二叉树从根到叶子的路径总和是否存在指定的值,很简单的问题。

  3. 提取两个海量url数据中的相同值,不准用Hash分治。

  4. 给了一段Java业务代码,说其中存在的问题。

  5. 微博刷新选取所有关注人的最新n条记录如何取。

  6. 堆排序实现。

  7. 给一个出栈序列长度为n,有多少种入栈的可能。

  8. 股票买入时机,限制最多两次。

  9. 一个数组,每个位置的值对应下标。重新排列,要求对应位置上不能有同下标相同的值,即原先a[0]=0,重排后a[0]不可以等于0。输出总共有多少种重新排列的方法。

第一轮

  1. Integer和int的区别,各自的存储方式,回收方法
  2. HashMap、HashMap如何保证线程安全、ConcurrentHashMap
  3. JVM中堆和栈的区别
  4. 手撕代码:按层次遍历二叉树
  5. 手撕代码:按层次遍历二叉树(不完全二叉树)节点为null的需要输出null
  6. 项目

第二轮

  1. 自我介绍&项目
  2. Elastic Search 索引建立
  3. Elastic Search 查询的过程
  4. Elastic Search集群管理、Master选举,节点特性
  5. 手撕代码:求二叉树的两个节点的最近共同父节点
  6. 手撕代码:问题同上,空间复杂度O(1)
  7. 手撕代码:常规二叉树树节点求最近共同父节点

第三轮

  1. 手写五种单例
  2. 手写代码:给你一个文件,判断文件中的注释是否符合要求,如果符合要求,删除注释

作者:lyhvoyage 链接:https://www.nowcoder.com/discuss/127959 来源:牛客网

视频面,约的下午三点,时间到了准时开始面试。一面结束后想着已经挂了,没想到状态变成了等待二面,二面完没多久通知面试结束,不通过。
头条通知的倒是挺快。 一面

1、 自我介绍

2、 给一个数组,定义X为某个区间的最小值乘上这个区间内所有元素的和,求最大的X。如数组为3 1 6 4
5,则最大的X=4*(6+4+5)=60

3、 三次握手,TCP连接的本质

4、 同步IO和异步IO

5、 进程和线程的区别,创建线程和进程的开销指什么

6、 死锁及如何避免

7、 什么是面向对象

8、 C++多态和实现方法

9、 设计题:设计一个购物车,给出应该有哪些数据表,每个表包含哪些字段

10、求数组的中位数。数组由一个升序数组翻转形成,如1 2 3 4 5 6 7可以从5处翻转,形成5 6 7 1 2 3 4,求5 6 7
1 2 3 4的中位数。要求时间复杂度低于O(n)。

二面

1、 自我介绍

2、 项目介绍

3、 InnoDB的索引类型

4、 B树和B+树的区别

5、 事务的四个隔离级别

6、 拥塞控制及对应方法的使用场景 7、session和cookie的区别 8、
设计题:设计一个任务定时器,给定时间和任务,到时间了自动执行对应的任务。

9、 堆里面如何控制并发安全

10、 一个单链表,奇数位置升序,偶数位置降序,将这个链表调整为整体升序,写出代码。

作者:Hello~~ 链接:https://www.nowcoder.com/discuss/105371 来源:牛客网

字节跳动 服务端研发

一面

1、 虚拟内存是什么干什么用的。

2、 HTTP协议包括哪几种请求,如何保证幂等性。

3、 输入一个网址到浏览器渲染出页面的过程中有哪些报文,分别涉及哪些协议,协议的主要内容是啥,分别用来做什么的。

4、 如果让你设计一个下载器中的断点续传功能,你打算怎么设计,会有哪些问题。

5、
有一个袋子里面装了黑白两种颜色的球若干个,现在每次从袋子里面摸两个球,如果摸到的是相同颜色的球那么将两个球丢弃并且重新放一个黑球进去,如果摸到的是不同颜色的球则将黑球白球放回,问最后袋子里面存在哪些情况并且详细说明过程,推导方法。

如果将问题修改成摸到相同颜色的球直接丢弃不放回的话,这个时候整个过程会有哪些变化。

6、 有一台服务器,含有若干的CPU和内存资源,现在有一系列规格不等的虚拟机,设计算法最大化的利用服务器的资源并分析求解的复杂度。

7、 手撕代码,给一个数组,将数组看做二叉树,输出二叉树的右半边部分,每一层要求逆序输出,开始使用层序遍历,面试官后来问了有没有更好的解法。

二面(感觉不是做JAVA的)

1、 什么是堆,画了个二叉树问是否符合最小堆的结构,然后根据图叙述堆排序的详细过程。

2、 TCP与UDP的区别,还有哪些其他的传输层协议,用来做什么的。

3、 进程与线程的区别,你是怎么理解这两个概念的(快被问烂了的问题……)

4、 Volatile关键字干什么用的和底层原理,CAS干什么用的以及原理。

5、 原子类的功能,实现原理。

7、手撕代码:Leetcode原题. 最长公共子串。

8、最后补了个redis的数据结构,跳表怎么实现的,有什么用,哪些指令相关。

三面

1、 四次挥手,会出现哪些问题,如果过程中服务器宕机会出现什么问题,怎么去解决。

2、设计一个HashMap类,键值类型都是整形,唯一的要求就是尽可能高的提高内存的利用率,存放尽可能多的键值对,问了Java中的hashmap,会有哪些问题。

6、 操作系统当中的进程调度算法。每种算法的优缺点。

7、 设计一个拥有热加载功能的IOC容器。

8、 Java当中的类加载过程,都干了啥,内存划分,存的是啥。

9、 Java堆栈当中存了哪些内容。

10、 了解哪些设计模式,不同的动物有不同的叫声,使用什么设计模式比较好,优缺点。

11、 Spring AOP实现的原理。

12、 Java中的Condition类是用来干什么的,如何实现的。

13、 如果让你设计一个线程池,你会怎么去设计,如何实现超时等待、阻塞、分配任务、线程管理等等等,抠细节,差不多涵盖了线程池所有的内容…

作者:构造函数 链接:https://www.nowcoder.com/discuss/98746 来源:牛客网

刚面完头条的后端研发岗,献上凉经QAQ
1.自我介绍&项目
2.除了java还有没有其他熟悉的语言? 这个问题让我觉得头条后端开发应该不是用java,而且头条也没有java岗位。所以我只能投一下后端研发岗
3.单例模式有几种?
4.java中的四种引用以及区别?分别在什么时候使用?
5.手撕代码判断链表有环
6.手撕代码判断有环链表的环的入口(明明知道是剑指offer原题,但是没想起来TAT)
7.手撕代码反转链表
8.讲一下并行计算课程学了什么(一年半之前学的,现在已经快忘完了=_=||)
9.大量数字如何排序(数字量远大于内存)
10.用户态和内核态

ps:我是远程面试,本以为一面就挂掉了,结果又有二三面,不过二三面都不是很好,最后还是要凉 下面献上二三面面经

二面:
1.自我介绍&项目
2.100万整数输出top100
3.mysql的索引
4.说说b树和b+树
5.手撕代码:大整数求和
6.微博上,大V发微博点赞迅速上升,该如何统计点赞数量?说出详细的系统设计

三面:
1.自我介绍&项目
2.手撕代码:二叉树求最长路径(其实是把二叉树看成图,求图中最长的路径)
3.手撕代码:阻塞队列,队列长度有限,队列为空时消费者阻塞,队列满时生产者阻塞。要求线程安全

字节跳动:
1.Java为什么需要反射,和动态链接库有什么区别
2.如何保证消息按序消费
3.hbase和mysql内部使用的数据结构有什么区别

作者:BNU_15_张雨 链接:https://www.nowcoder.com/discuss/82916 来源:牛客网

一面:

自我介绍;

上过的专业课;

两个大矩阵乘法,代码怎么写能够跑得尽可能快。

这里我先确认了是否为稀疏阵,因为稀疏阵有一个优化算法。告知按稠密阵计算。

面试官的本意是分块计算,做到尽可能的cache友好。但是我没get到这个意思,给面试官讲了一个Strassen
Algorithm,可以把矩阵乘法复杂度降到nlog7。

有大约5w个ip地址的列表,输入一个ip,判断这个ip是否在列表中。要求占用内存尽可能少;速度尽可能快。

想了一个排序+二分,似乎还不是最优解,面试官反复提示只有5w个在列表中,意味着99%以上的ip不在列表中。但是最后还是没有想出来,就跳过了。

Linux怎么查看内存限制;(这个我不知道,但是我说网上搜一搜就出来了,面试官二话不说让我搜,两分钟没到给出了答案)

系统调用Systemcall有听说过吗;

还问了一些我没听过的名词,但是都不会,就如实答了不会。

此时感觉自己已经凉凉了,就干脆放下心来抱着学习的心态和面试官聊了聊面试相关的东西,都准备走人了,结果被HR小姐姐按住说一面通过了等二面。

二面:

自我介绍;

算法题:平面上有n个点,输出最多有多少个点共线。

一开始没什么思路,就先口胡了一个O(n3)的暴力算法。后来试探性的得到了正解O(n2)的提示,开始想n2的思路,最后想出来了。然后手写了一下代码实现了。

C++多态;

线程和进程;

TCP三次握手;

TCP是什么层的协议;

迭代器失效了解吗;

大概二面是这些。面试官的评价:能够胜任工作,但是作为科班出身还是需要拓宽知识面。于是二面通过了。

三面:

自我介绍;

算法题:给定字符串s,输出第一个满足:在s中恰好出现3次的字母。保证存在这样的字母且字符串都是小写字母组成。

比较简单,扫一遍开个数组统计,再开个vector存一下就行了。手写代码。

SQL:给一个id,科目;成绩的表,搜索不及格科目大于两门课的学生id。

数据库的事务是什么;

如何实现事务的隔离性;

你觉得后端包括那些东西;

听过web编程吗;

Cookie是什么;

你在登录一个网站时,输入完账号密码点击确定的时候发生了什么;

面试官评价:知识面有些狭隘,局限在课本上,需要拓宽和深入钻研。

插曲:三面面完以后,HR让我等了大约20分钟,然后送我出大楼之前带我到一个小会议室聊了一会儿,大致意思是:面试官反馈不错,希望采集一些相关信息来提升招聘精准度。大概问了一些学校、年级人数、深造/就业比例,身边有多少同学在实习、自己对实习有什么期待/需求。虽然声明了放轻松,这不是HR面,但是感觉还是有一点HR面的意思。

最后告诉我1~2周会有结果。终面的面试官给的评价感觉不太好,感觉自己大概率是要凉了,结果周三接到电话说面试通过了,是否发offer需要评估。周五送上去审批,周一等到了offer。

一些Tips:

  1. 基础比较重要,相对看中的专业课有:操作系统、计算机网络、C++。可以看出,这么多场面试,有几个点:“C++多态”、“TCP三次握手”、“进程和线程”是被多次提到的。作为科班学生需要在课堂上打好基础;如果像我一样基础不那么扎实,在准备面试期间有必要回过头去review一下教材和ppt。

2.自我介绍。这是每场面试的开头。虽然技术岗位可能自我介绍的作用不是那么大,但是某种程度上你在自我介绍、简历里面提到的东西会很大程度上决定面试官的提问方向和整个面试的走向。个人觉得技术岗位,大致讲一讲简历上的内容带过是可以接受的,但是能有一些简历上没有的东西,并且让人眼前一亮的话可以算作加分项。

3.要适当去主导面试。面试不是简单的一个面试官提问,面试者回答的环节。作为面试者,我觉得要主动去掌控整个面试的节奏和方向。通俗的讲,我需要主动去告诉面试官我会什么,我擅长什么,引导面试官从我掌握的内容里去提问,而不是等着面试官抛问题。没有工程经验的我在前几场面试(腾讯提前批、网易)都非常吃亏,就是因为没有意识到这一点,而面试官就只能按照他自己擅长的方向来提问了。

4.这是和超nice的头条一面面试官最后聊天阶段了解到的。在进入leader面之前,面试官的提问可能会更倾向于自己部门工作相关的东西。所以一般来说很少能把所有的问题都答上来(大佬直接忽略这一条),被问住了或者碰上完全没听过的东西也没关系,大方承认就好。在前期(一面、二面等)的回答中能有一两个impressing的闪光点就有机会通过了。

作者:si9mayy 链接:https://www.nowcoder.com/discuss/78727 来源:牛客网

一面上来,先写了两个算法题,一个是数组相关的,一个是二叉树的前序遍历的变体应用,然后问了数据结构,数组和链表相关操作的时间复杂度,接着是计算机网络5层协议,让你说说自己的理解,接着就是数据库,比如数据库底层实现,还有写一些sql,然后就是操作系统进程,线程。最后是linux文件权限,用户权限

二面也差不多都有算法,数据结构,操作系统,计算机网络,数据库,linux,算法是微信红包随机算法实现,算法题里面一定要考虑什么边界处理,错误处理的情况,感觉自己就是挂在这,最后和面试官交流了一下,他主要考察基本功,也就是你写代码的时候必须考虑周全。还问了java虚拟机相关的问题。接着就是数据库,自己数据库不太会,他让说mysql四个事务隔离级别,还考了一些数据库的啥左链接,右链接之类的。最后就是linux,10000行日志查看1000-2000行,我说了使用head
和tail,他让我具体写出来,但我参数忘了。总结下来,我觉得就是,算法题的时候一定要考虑周全,还有数据库好好看一看。我最后问面试官,他们看中啥,他说不看项目经历,只考察你的基础知识,和学习能力
补充三面,算法:两个栈实现队列。
0. 项目
1.Redis 数据类型,使用场景
2. Mysql 索引原理,sql优化
3. Myisam和InnoDB区别

  • 十一

作者:Maggie0226 链接:https://www.nowcoder.com/discuss/139734 来源:牛客网

刚刚结束了最后一轮,一开始behavior questions。比如有没有pending
offer。没有基础知识。算法是给一个很大的数字,怎么返回固定长度的substring,so that
他的数值最大,很简单的dp。(而且不要求写题,只要讲思路)第二题是智力题(吧?)虫子在正负无限的任意点开始爬,速度是固定的,但你不知道速度和方向。你可以每秒check一个点,怎么找到虫子。一开始没思路,后来说如果从原点出发呢?就比较简单。手写了数学公式,
结束。
最后让我问他问题,我问了头条打算怎么培养实习生。他说会有mentor,project都不是mock的(我很喜欢这一点)然后他告诉我,头条招人很diversity,聪明的或者有经验的都是要的,所以转专业的同学不要害怕~
感觉头条面试学到很多,而且面试官人也很好,总体体验a+啦,不管过不过都是很好的经历。 最后祝大家offer多多哦~

下面是之前的: 马上要头条第三轮了,好害怕,发前两轮的面经攒攒人品。
几周前心血来潮投了python后端实习,结果没想到收到了面试。不知道为啥没有笔试。

网上看了下面经,感觉啥都答不上来,以为第一轮就要被刷了,没想到挺过了两轮。。我觉得我的面试比大多数人都水好多啊。

两轮都是在牛客网面的。第一轮写可以做加法的两个string,忘记写怎么处理负号了。然后基础问题都很简单,因为简历有deep learning
research和学校os project。主要问了pca是什么,怎么用。然后thread process share什么。python
的dict怎么实现。最后两道智力题。小哥哥人很好,一直在引导我,但我的表现很一般,以为铁定跪了,没想到收到了第二轮。

第二轮就难很多。问了innodb怎么实现,(我乱猜了hashtable,后来看了网上是lru。。难为小哥听我这个错到离谱的答案了)我之前没有实习,实在是答不上来。一堆network,然而我本科没有选这方面的课,一点也答不上来。然后dict怎么实现,我说了hash
key,然后每个key后面有linked list,然后问我如果key
collision太多怎么办,回答扩容,怎么扩,我说copy到新的地方,然后copy的时候mutex_lock。感觉答错了。。但面试官也没接着说。(妈耶我真的好菜)

然后算法。一个single link
list,奇数升续,偶数降序,转化到一个完全升序的list。我完全没思路,都是靠面试官一点点指导的。。最后手写了怎么reverse一个single
linked list。。leetcode easy题。 第二题是特别简单的dynamic
programming。[1,4,33,67,34]
#数字不记得了,乱写的。然后相邻两个数只能选一个,求能返回最大数。我觉得leetcode easy都比这个难。。

基于我失败的第一个算法和答不上来的network和innodb,我以为铁定跪了,没想到收到hr小姐姐的三轮面试邮件。。就是美国今天晚上。

像我这种水货。。能到第三轮都是老天保佑了,听说第三轮面试官是大佬,不知道会被怎么血虐。。只能球球他给我留点面子。

真的不觉得我的水平能过,这次也当是长见识了,头条的面试官真的人都好好,很温柔,比美国的臭脸面试官好多了。不得不吐槽印度人。。挂起中国人真的不留情面。

  • 十二

作者:喝杯java冷静一下 链接:https://www.nowcoder.com/discuss/140074 来源:牛客网

头条面经online… 3号下午面完一面,今天下午二面三面,现回馈牛客网,愿能通过… 本人某985本科非科班
#一面# Handler原理 TCP, UDP区别,TCP三握四挥 深拷贝,浅拷贝 ListView, RecylerView区别,改进 ArrayList, LinkedList区别,ArrayList扩容 算法题 不记得了…
#二面# 一上来就怼Glide实现原理,用了什么设计模式 图片加载问题 Handler原理,Handler与MessageQueue怎么关联的 activity中直接new 一个handler有什么问题,怎么解决
http请求方法有哪些,字段 四种引用区别 TCP三握四挥(抠细节,服务端发送ACK确认帧时立即发送SYN吗,挥手时客户端服务端各种状态)
RecylerView改进,ListView, RecylerView各自实现原理
List,Set,Map区别,HashMap原理,扩容机制 手写快排 两道算法题。。 其它的不记得了。。
#三面# webView上输入url整个请求过程,怎么优化 遇到的有挑战性的技术问题 JVM类加载 双亲委派 JVM内存模型 类文件,类变量,实例变量存在哪里 算法题:一千万条数据找最大的前100个数据(每个数据都是0-100的浮点数),最差时间复杂度,优化
不记得了。。。
##总结 基础问得比较多,面经纯粹查漏补缺,完善技术栈,供参考。重要的还是要努力学习,祝牛油们好运!

  • 十三

作者:upupup201808051901625 链接:https://www.nowcoder.com/discuss/144043
来源:牛客网

以下是面试题目: 1、讲讲ping命令,用到了那些协议; 2、讲讲http协议; 3、讲讲网络通信的多路复用; 4、讲讲tcp协议;
5、mysql相关,索引,建立一张数据库表时要考虑哪些因素,索引的底层实现,是否了解过b+tree以外的索引结构; 编程题:
编程实现LRU算法。

  • 十四

作者:奥迷介 链接:https://www.nowcoder.com/discuss/144550 来源:牛客网

内推一面(西瓜视频,视频面):

自我介绍 介绍一下项目用到的技术 对http有哪些了解(0.9到2.0各版本区别,C/S模型,TCP)
https是怎么做到会话加密的(SSL握手确立会话密钥)
讲讲你知道的非对称加密算法(基于离散对数难题的DH算法和基于质因数分解难题的RSA算法) Cookies和Session有什么区别
如果用户禁用了Cookies,如何获取用户的状态 讲讲http状态码(2正常,3重定向,4客户端错误,5服务器端错误)
301和302分别是什么情况 TCP和UDP的区别 TCP是怎么做拥塞控制的(滑动窗口,慢启动算法)
详细讲讲TCP三次握手和四次挥手的过程,中间涉及哪些状态位的变化 为什么分别要三次和四次 四次挥手时为什么需要等待2倍最长报文发送时间
迅雷为什么用UDP传输文件(P2P环境中的NAT穿孔问题) 进程和线程的区别 创立和销毁进程的开销具体指什么 对比多进程和多线程的优劣
进程间有哪些通信方式,分别的使用场合 解释一下僵尸进程和孤儿进程 讲讲Linux的内存管理方式 讲讲你知道的进程调度算法
你会怎么实现JVM(这个问题直接把我卡死了)
那你介绍一下现有的JVM内存模型(先讲5大区域,再补充说明JDK7方法区和永久代的分离,JDK8的元空间)
讲讲你了解的垃圾回收算法(G1,CMS) 回收过程中的哪个阶段需要stop the world 为什么CMS回收器不常用
你觉得现有的垃圾回收器有哪些地方需要优化,让你来优化你会怎么做(G1需要较多额外空间开销(Remember Set, Collection
Set),回收进行中也对剩余空间有要求,CMS的重新标记阶段停顿时间较长且时间不可控) 讲讲Java类加载器的双亲委派机制 手撕算法:

输入一个二维数组,从(0,0)开始顺时针由外向内旋转打印出每个元素。 分析你的算法复杂度。 二面(视频面):

自我介绍 在学校学了哪些计算机课程 关系型数据库和并发分布式,你挑一个熟悉的,我来问(挑了并发分布式)
Paxos协议和Raft协议了解吗(Raft的半数选举,定时心跳保活/重选举,基于日志保证一致性,小于半数的分区容错性)
P2P环境下的分布式缓存问题(一致性Hash) 有没有JVM调优的经验,看过dump没(gg)
讲讲对Redis的了解,有哪些基本类型和各自底层实现方法 什么是死锁(四个必要条件) 死锁的预防和避免方法(银行家算法,打破必要条件)
因为简历上提到自学过FPGA,也被问了几个问题:

FPGA编程用到了什么语言(verilog)
FPGA和普通单片机有什么区别(前者通过对数字电路逻辑单元的组合实现基于硬件的并行运算,无需共享内存,但烧写程序的时间很长,后者基于传统的冯诺伊曼架构)
软中断和硬中断的区别 手撕算法:

输入两个有序数组,求两个数组中所有数字的中位数,要求时间复杂度为O(log(m加n)),m和n为两个数组的长度。
总结:一面可能是碰到了压力面试或面试官心情不好,会打断人说话,且眼睛盯着另一块屏幕。二面面试官态度有好转。面试总体更注重操作系统和计算机网络基础知识,以及算法和工业实战经验。面试采用牛客面试平台,个人体验不佳,画面和声音延迟问题较严重,两轮面试总共掉线4次,对心态有较大影响

  • 十五

经过三轮堪比ACM的头条笔试,勉强进了面试。

10.13三轮技术面,本人主修JAVA,头条后台偏Go/python,面试过程如履薄冰

一面:

  1. 计算机为什么要用补码?
  2. 计算机内部的存储结构?虚拟内存和物理内存的区别?
  3. TCP流量控制和拥塞控制?
  4. Time_wait有什么用(面试官补充了一个教科书上没有提到的作用,关于网络异常、数据失序的辨识)
  5. nagle算法了解么?
  6. 各种排序算法及其效率
  7. 多进程和多线程的区别
  8. 算法题:如何利用rand(1,8)实现随机生成1-5
  9. 手撕堆排

二面:

  1. 如何改进UDP的不可靠传输,保证数据有序性?
  2. TCP三次握手和四次挥手的描述
  3. 一致性哈希了解么?
  4. 进程间的通信,文件通信了解过么?线程间共享的有哪些东西?
  5. 算法题:一个链表,奇数位升序,偶数位降序,如何整体排成升序?
  6. 算法题:千万级别的数据量,实现队列FIFO,如何设计数据结构节省内存空间(数据+链表)

三面:

  1. 问论文发了什么?具体讲内容
  2. 问哪个项目最有收获,具体讲内容
  3. Oracle高可用集群的共享存储怎么实现?
  4. Redis和数据库一致性怎么实现?
  5. 手撕数据库连接池(质疑我没有考虑高并发时的同步和效率问题)
  • 十六(实习)

作者:皮蛋瘦肉粥。 链接:https://www.nowcoder.com/discuss/99725 来源:牛客网

8.28下午两点,我没看好时间,提前了大概20分钟,一共进行了一轮笔试,三轮技术面 笔试 9个选择题,六个填空题 1四个平面最多可以把四维空间分成几部分 15 2简单逻辑题 3深拷贝 4二叉树100个节点子节点两个 100个一个 没子节点的个数
5正则表达式

1两个有序链表合并最多比较几次 2多源最短路径 3二叉树根据前序中序确定后序 6牛吃草 24头6天吃完 21头9天 ,18头多久
其他记不清了

一面 操作系统 缓存lru实现方式 用linkedhashmap,原理,put操作具体实现 hashmap冲突解决 gc算法 tcp三次握手
四次挥手 timeout是哪方状态 一定是四次挥手么 算法 数组内打印三个数,加起来等于m 数据库语句 工人打工工资日结 一周一根金条
金条只可以被切分两次,怎么做 锁 sychronus和lock区别 lock的实现原理 看过源码么

二面 集合类 hashmap和hashtable区别 treemap treeset一般用来干嘛 thread callable
runable 区别 写一个单例模式 用过哪些设计模式 数据库四种隔离级别 事务回滚 索引的实现方式 最左匹配原则

三面 数据库三范式 Jvm底层 挺多底层的 基本就是面试官抛出问题。我想,想不对,他教我,想在上课一样 真的超级有耐心了 跳台阶 寻路
广度优先算法 喜欢玩游戏么 可以实习多久。考研保研之类的

昨晚跟室友出去嗨了,好多问题记不清了,想起来再补充

PS.笔试加三面一共3个半小时,回来后HR联系约了二轮面试,emmm,加油!

二轮面试,本来以为是轻轻松松的HR面,没想到上来先做了四个算法题,第一个题就GG了,输出9点锁屏的所有密码方式,第二题斐波那契,第三题天平找100个小球里面比较轻的一个,第四题小明有七颗药,有效药10克,无效药9克,毒药8克,最少称量方式,第四题GG

HR面 平时喜欢做什么之类的,学习计划啥啥的
最后说要多个面试官综合意见,一周内给结果,凉了会发拒信…已经感觉自己要收拒信了…I am fine,真的fine…

  • 十七

作者:Aperture_Science 链接:https://www.nowcoder.com/discuss/115824 来源:牛客网

给两个数组(长度可能不等),要求循环输出,如 A=1,2,3 B=A,B,C,D, 就要输出1A2B3C1D2A3B…

这个很简单的,维护两个下标变量ai,bi,自增时取模就行了,如 ai = (ai+1)%A.length

要求输出重复时循环跳出 一开始想到最小公倍数去了,面试官提示从下标考虑,当ai与bi相等且为0的时候跳出就行了

如果数组自己内部有重复,求出重复的部分 如A=1,2,3,1,2,3,1,2,3 就求出1,2,3 凉了呀………………

第二题 求二叉树是否存在和为N的路径

直接递归就行了,后来又要求路径不一定要到叶结点,稍微改一改也就行了……

复杂度 一开始直接就说log(N),当场去世…… 面试官让我再考虑一下,发现是O(N),因为最糟的情况下每个结点都要访问一次

其它 针对每个连接维护一个线程,开销很大,如何优化(其实我也不懂,就瞎扯了NIO……)
RESTful简介与优点(优点记不得了呀,就随便说了一下……) java中Set的种类

总结 有了offer立马颓丧了,之前会的,看过的都忘了…… 不过,心态出奇的好,无论什么问题没答上来,都不会慌张……

二面 第一题 求二叉树的最长路径,路径指任意结点到结点之间的最短距离 写成了求深度,凉了呀……

第二题 通过内存的计数器 实现一个限流器 限制请求在每秒1000次以下

维护一个计数器就行了,注意一下同步的问题。当计数器小于一千的时候自增并返回true,否则返回false。
然后用一个线程来每隔1秒就执行一次清零*作。

第三题 有一个单链表,奇数位是升序的,偶数位是降序的,要求进行给它进行排序 1->200->10->120->30->8->88->4
1->4->8->10->30->88->120->200

我用一个栈来装入偶数位,然后遍历奇数位与这个栈进行,循环比较链表结点与栈顶的大小,并进行合并就行了……

三面 三面的难度巨大……

算法题 名人定义:所有人都认识TA,但是TA不认识任何其他人 a [i] [j] = 1, i 认识 j a [i] [j] = 0, i
不认识 j a [i] [i] 置空 给定n*n的二维数组,有多少个名人?具体都是谁?

我的思路就是大力出奇迹,遍历美滋滋,结果当场去世…… 实际上有技巧的,i 认识 j,则i不是名人,i 不认识
j,则j不是名人,以此可以进行推理

情景题 显示热门评论,按赞数倒序排序,写SQL(当场去世) select 字段名与select 的区别(索引失效)
索引为什么用B+树而不是二叉树(当场去世) linux shell中按下ctrl+c会怎么样,为什么?(发送信号使进程退出)
内核态与用户态区别(记不清了,于是balabala…提到了通过系统调用与中断来进入内核态…)
软中断与硬中断(硬中断记得是外设硬件产生,软中断记不得了……)
如何防止密码被hash碰撞攻击(加盐,但是我只记得个名字了,内容与
**作忘了……) 为什么扫二维码可以实现登录(妈呀这啥)

凉了呀……

  • 十八

作者:奔跑的蛋蛋 链接:https://www.nowcoder.com/discuss/105917 来源:牛客网

头条(后台开发):

一面(2018/9/8 下午三点):

1:  算法  12322121343434   123*22*121*34*343*4  必须插入五个星号,每个数字必须在0-600之间,有几种插入方法

2:  一个进程,有10个子进程,那么一个子进程fork一个子进程,那么这个子进程有多少个进程。

3:  物理地址和虚地址

4:  http传入的Request和返回的Response

5:  503和500区别。301和302区别

6:  http close-wait状态

7:  滑动窗口和TCP流量控制

8:  如果滑动窗口为0,则怎么办

9:  buffer和cacahe区别

10: Redis集群搭建

11:添加一个节点如何分配槽(说详细具体过程)

12:迁移slot的过程中,我get或者set怎么办?

13:Redis 10W的QPS瓶颈点在哪里

14:一个上T的文本文件,里面很多字符串并且用空格分隔,找到不同的字符串数量
  • 十九

作者:牛客ID:1285657 链接:https://www.nowcoder.com/discuss/93516 来源:牛客网

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

快速排序和归并排序描述一下,优缺点(描述)
快速排序:先选定一个基准元素,按照这个基准元素将数组划分,再在被划分的数组上重复上过程,最后可以得到排序结果。

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

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

加问快速排序很多重复数字如何优化 返回基准元素位置时返回基准元素的最左和最有索引,减少排序次数。

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

Hashmap描述。多线程会发生什么问题 jdk1.7时由数组和链表组成;jdk1.8时将链表改良为链表+红黑树

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

加问死循环发生原因: 多个线程执行put操作时同时触发了rehash方法,可能会生成环形链

加问环形链形成过程(视频面不能画图,表示不好讲,面试官还是要求讲,就随便讲了一下,这里肯定说的很不清楚) 红黑树描述 节点是红色或者黑色的
红色节点的子节点必须是黑色的 根节点为黑色 叶子节点(Nil节点)为黑色的 根节点到叶子节点的路径上的黑色节点一样多
加问为什么要使用不同颜色的点
红黑树是平衡二叉树的变形,由于平衡二叉树插入删除操作复杂特别是如果插入有序的数字时,二红黑树只要满足节点的颜色要求,在插入删除过程中满足红黑树定义要求,就能满足二叉树的相对平衡。

Springmvc的流程、handler如何找到要处理的类(流程简单讲了一下,问知道前端处理器的那个servlet叫什么吗?答:是dispatcherServlet吗,看面试官反应以为自己错了,后来查了一下好像没错。handler没答出来)
一些简单的项目问题 Post和get的区别 Post用来给服务器传送数据,get用来从服务端获取数据
Get提交直接将请求信息放在url地址上会存在安全问题 Get 的长度一般限制在2kb左右
逻辑题:一个岛上的居民会戴红白帽子两种帽子,每个人只能看到别人带什么帽子,不能知道自己戴什么帽子,并且互相之间不能交流。如果某人知道自己戴红帽子,当晚必须离开岛。有一天岛外来了一个人,说:“你们之中至少有一个人戴了红帽子”,请问之后的几天会发生什么事情?(说出了答案且给出分析过程。让我证明这个结论,不知道是个什么意思)
如果由n个人戴了红帽子,那么就在第n天的时候这些人都离开了

算法题:给出一个数字矩阵,寻找一条最长上升路径,每个位置只能向上下左右四个位置移动。
(没太过脑子直接写的代码实现,复杂度太高,面试官要求优化,我说了一下思路,然后就结束了)
一分钟以后hr告诉我面试结果不满意,能马上告知结果这点还是很佩服的。

  • 二十

作者:最狂的风、最静的海 链接:https://www.nowcoder.com/discuss/96060 来源:牛客网

一面:

  1. 给你一个数组, 保证递增, 首先找到一个数字k, 然后找到最靠近这个数字k的m个数, m可能很大(几百万) 比如 1 3 5 7 8 10, 首先找到数字5, 最靠近它的两个数是3和7
  2. 你有很多关键词, 但是内存能存下这么多关键词. 现在发表一条评论, 要求判断有没有包含关键词
  3. 手写一个LRU, 各个细节讲清楚

二面:

  1. 给你一个数组, 数组中第i个数值是num[i], 表示从当前位置i最多能跳num[i]步, 判断是否能到达最后一个数字并且求出最小跳数

三面:

  1. 给出n个数, 数值是1~n, 然后给你m个关系 a-b, 表示a和b有关系, 你现在需要选出k个数, 判断是否能选出. 对于有关系的数a-b, 要么全选要么全不选. 比如有关系 a-b, b-c, 很显然 a b c三个数要么全选要么全不选

三面五个算法题, 全手写

  • 二十一

作者:公众号:程序员江湖 链接:https://www.nowcoder.com/discuss/94233 来源:牛客网

今日头条 后端研发工程师 找牛客大佬要到了白金码,跳过死亡笔试,直接视频面,面试从3点开始,断断续续到晚上8点结束。
每个面试官给我的感觉都是怎么这么高冷啊。

一面:

1 写一个题,找一个无序数组的中位数 2
写了个快排,然后让我找到无序数组第k大的一个数,我说先排序再找,实际上可以用快排的partition函数。 3
快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少,nlgn。 4
操作系统了解么,Linux和windows
5 说说Linux的磁盘管理,一脸懵逼 6 Linux有哪些进程通信方式,五大件 7 Linux的共享内存如何实现,大概说了一下。 8
共享内存实现的具体步骤,我说没用过 9 socket网络编程,说一下TCP的三次握手和四次挥手,中间网络不好,面试官都没听清楚,很尴尬 10
跳过网络,问了项目的一些东西 11 问我如何把docker讲的很清楚,我从物理机,虚拟机到容器具体实现稍微说了下。 12
问我cgroup在linux的具体实现,不会。 13 多线程用过哪些,chm和countdownlatch在实习用过 14
不得不吐槽下今天牛客的视频网速,不知道啥原因卡的一比,明明下载网速很正常啊,牛客视频每秒才20k。。疯狂掉线搞得很蛋疼。

二面:

1 自我介绍 2 Java的集合类哪些是线程安全 3 分别说说这些集合类,hashmap怎么实现的,扯了很多 4
MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
5 MySQL的事务隔离级别,分别解决什么问题。 6
Redis了解么,如果Redis有1亿个key,使用keys命令是否会影响线上服务,我说会,因为是单线程模型,可以部署多个节点。 7
问我知不知道有一条命令可以实现上面这个功能。不知道 8
Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么,不清楚。 9
Redis的list是怎么实现的,我说用ziplist+quicklist实现的,ziplist压缩空间,quicklist实现链表。 10
sortedset怎么实现的,使用dict+skiplist实现的,问我skiplist的数据结构,大概说了下是个实现简单的快速查询结构。
11 了解什么消息队列,rmq和kafka,没细问 12 写题时间到。第一题:写一个层序遍历。 13
第二题:写一个插入树节点到一颗排序树的插入方法,使用递归方式找到插入位置即可。 14
第三题:一个有向图用邻接矩阵表示,并且是有权图,现在问怎么判断图中有没有环。 15
我说直接dfs走到原点即为有环,刚开始写的时候我又问了一嘴是不是只要找到一个就行,面试官说是的,然后我说这样应该用bfs,有一次访问到原节点就是有环了。
16面试官问我不用递归能不能做这个题,其实我都还没开始写。然后我就说没有思路,他提示我拓扑图。我没明白拓扑图能带来什么好处。现在一想,好像当访问过程中找不到下一个节点时就说明有环。做一个访问标记应该就可以。
17 第四题:一个二叉树,找到二叉树中最长的一条路径。 我先用求树高的方式求出了根节点的左右子树高度,加起来便是。 18
然后面试官提示需要考虑某个子树深度特别大的情况,于是我用遍历的方式刷新最大值,用上面那个方法遍历完整个树即可。 19
面试官说复杂度比较高,但是由于时间问题就说结束了。

三面:

三面的面试官真的高冷啊,不苟言笑就算了,我问他问他他都不爱搭理的,搞得我内心慌得一比,感觉凉凉。

1 介绍一下项目 2 你谈到的并发技术,chm和countdownlatch怎么使用的 3
为什么要这么处理,使用线程池是不是也可以。我说也可以 4
操作系统的进程通信方式,僵尸进程和孤儿进程是什么,如何避免僵尸进程,我说让父进程显示通知,那父进程怎么知道子进程结束了,答不会。 5
计算机网络TCP和UDP有什么区别,为什么迅雷下载是基于UDP的,我说FTP是基于TCP,而迅雷是p2p不需要TCP那么可靠的传输保证。 6
他说不对,我说是不是因为要建立连接,开销比较大,他说不对 7 我说p2p的发送节点很多,所以不是那么需要各种传输保证,他说不对。 8
我说TCP会自动分包而TCP可以自己定义数据长度。。他还是说不对。 最后他说算了。我们问下一个吧。 9
操作系统的死锁必要条件,如何避免死锁。 10 写一个LRU的缓存,需要完成超时淘汰和LRU淘汰。
我说用lhm行不行,他说用linkedlist和hashmap可以。 于是我就写了put和get函数,进行了队头队尾操作。
他说get复杂度会不会太高,我瞎掰了半天没找到办法,他说那就这样吧,今天面试到这。 11
妈蛋,过期淘汰的处理我还没写呢,你就说结束了,感觉凉了啊,我说我要不要把剩下逻辑下完,他说不用,心凉了一大截~ 12
然后HR小姐姐让我等结果了。溜了溜了

面经(数据分析)

作者:十一月littlecute 链接:https://www.nowcoder.com/discuss/105828 来源:牛客网

笔试简单聊一下吧~我记得好像是4部分,第一部分是简答题,一共3题,都是业务分析,第一题是数学计算,好像是一款app,给了第一天日活,目标是30天后日活达到D30,第x天的留存率是Rx,要推出这30天内日均新增人数表达式;
第二题业务场景题,分析app广告点击率低,怎么量化分析,提建议,怎么解决。 第三题好像设计区分作弊用户模型,描述算法。

第二部分 第三部分 第四部分都是数据题了,推理,逻辑,图形这些。

以下是面试: 楼主8.26参加头条/字节跳动数据分析师岗远程面试,头条效率很高,一天之内面试全部搞定,每轮面试通知间隔不超过半小时
总结一下:头条数据分析面试重业务,楼主准备面试是简历过一遍,确保每一处细节都能答出来;刷一遍”人人都是产品经理“里和数据分析有关的所有帖子!!!【非常有用!!!!】我说了,头条数据分析偏业务,所以和产经思路很像

一面: 感觉楼主比较幸运,遇到的面试官都挺好的,一面的面试官真的很nice。
一开始自我介绍,楼主暑假正好在某互联网金融公司做过数据分析师的实习,然后面试官就让我介绍了下这段经历,然后问我如果让我选3个最重要的分析指标去衡量我做的东西,我会选什么。思考了一下,然后答了一下。简历大概就问到这里。
下一个问题是估算题,北京有多少家理发店。不在乎结果,说出思路就行。
最后一个问题是让写个SQL,和DAU有关,楼主对自己sql能力还是很有自信的,但是这道sql我没写出来,我噼里啪啦写了一堆,面试官说不对,然后告诉我正确的逻辑是什么,该怎么写,还安慰我说没事,说我的sql在校招的水平里算挺好的了,还说这道题是他们比较喜欢在校招里问的比较难的一道。
最后给了feedback,评价了一下我的一面。持续时间30分钟左右。

二面: 大概十几分钟吧,收到二面通知。
二面是个小姐姐,问了我简历,我介绍了实习经历,项目经历。没问项目,问了实习经历,因为我写了我实习中做了个漏斗数据监控,然后问了我这个是什么,怎么回事,怎么实现,我还写了超额完成kpi什么的,问我怎么协助达成什么的;简历问答持续了二十多分钟吧。
最后问了我个业务问题,问我用抖音不,我说用过,然后问我说,抖音的用户来源有很多,怎么去分析抖音用户来源渠道。我思考了一下,然后balabala聊了一下。

三面: 过了大概二十多分钟吧,收到三面通知。
好像这次是部门大佬面的,全是业务场景问题。第一个问题问我平时都用什么app,我说网易云,微博,抖音(楼主回答这个问题很小心,因为不敢回答自己不熟的app,楼主之前都做过这些app的功课,所以答了这几个),然后面试官让我分析一下抖音和微博的区别,我balabala聊了一下。
然后问了我一个和辛普森悖论有关的问题,大致好像是国家出台政策,统计发现各个省人均收入均增高,但是全国人均收入下降,问我这有没有可能发生。
然后还问了一个什么问题,我忘了。
最后一个问题是偏统计学吧我觉得,聊了挺久的,说假设家乐福决定对世界范围内1000家门店实行个措施,然后先在100家试水,结果不错,但是应用到1000家之后发现不行,怎么回事,然后分析。然后我说样本问题,balabala,然后又接着追问我关于样本设置什么的一系列问题,后面答得不太好。
最后说,看我有过数据分析的实习经历,问我做过之后,认为数据分析师符合自己对这个职位本身的期望么,我说符合。 结束。

HR说2个礼拜之内出结果
因为楼主面完第二天就不在国内了,回学校了,留的还是国内电话,所以接不到电话,邮件现在也还没有接到通知,让别人查了下,说最后面试过了,但是能不能拿offer不知道,可能还有HR面??等待吧~
祝自己好运~祝大家好运!!!!!

作者:即将下线 链接:https://www.nowcoder.com/discuss/144255 来源:牛客网

【一面】 1、自我介绍 2、实习经历(AB测试相关,包括P值的统计学意义?如何通过P值判断实验结果?等…)
3、了解头条的产品吗?评价一下有哪些需要改进的地方? 4、如果头条做一个类似的短视频APP,你认为值得关注的有哪些指标?
5、西瓜视频推出初期,希望通过push来引导更多的用户参与答题。现在如果需要你确定哪个时间段进行push推送能更好地引流,你怎么做?(给出思路)
6、抖音界面的搜索位置如果做一个产品功能迭代,将搜索按钮更改为搜索框,请你预测一下搜索量和视频播放量这两个指标的影响?为什么?
7、还有什么问题想问的

【二面】 1、自我介绍
2、实习经历(①详细介绍自己实习做过哪些事情;②选取了AB测试的经历进行提问;③产品迭代过程中基于数据发现了哪些问题?)
3、产品相关问题(手机上最常用的APP有哪些?你觉得这些APP有哪些可以优化的点?) 4、未来的职业规划 5、还有什么问题想问的

ps: 1、头条整体面试感觉还是很棒的,一面结束差不多三分钟就给反馈结果,只是二面答得不是很好,估计凉凉~~~
2、突然就想写个面经…

作者:我做和尚那些年 链接:https://www.nowcoder.com/discuss/143595 来源:牛客网

宇宙条的效率挺快的,上周投,这周二通知周三一面(视频面) 面试内容如下:
1.自我介绍
2.数据库相关
3.场景题,摩拜单车问题,给了一个表: table( uid, bikeid,biketime, location) 然后, a.找热门区域并写出sql语句 b.找出坏车并写出sql语句
4.有了摩拜数据,你拿来能做什么事情

一面面试10分钟左右就完了,然后隔了3分钟,hr打电话通知面试通过,周五二面

二面面试内容
1.自我介绍
2.项目介绍,面试官不太理解我项目的应用,和我在那里扯了好一会???,最后面试官好像也没弄懂,反正也把我搞晕了๑_๑
3.数据库join
4.数据库索引
5.摩拜场景加强版,又和面试官意见不统一,又扯皮了好一会? 然后面试官好像有突发事件,就潦草的结束了,然后让等通知

作者:十一月littlecute 链接:https://www.nowcoder.com/discuss/105828 来源:牛客网

以下是面试: 楼主8.26参加头条/字节跳动数据分析师岗远程面试,头条效率很高,一天之内面试全部搞定,每轮面试通知间隔不超过半小时
总结一下:头条数据分析面试重业务,楼主准备面试是简历过一遍,确保每一处细节都能答出来;刷一遍”人人都是产品经理“里和数据分析有关的所有帖子!!!【非常有用!!!!】我说了,头条数据分析偏业务,所以和产经思路很像

一面: 感觉楼主比较幸运,遇到的面试官都挺好的,一面的面试官真的很nice。
一开始自我介绍,楼主暑假正好在某互联网金融公司做过数据分析师的实习,然后面试官就让我介绍了下这段经历,然后问我如果让我选3个最重要的分析指标去衡量我做的东西,我会选什么。思考了一下,然后答了一下。简历大概就问到这里。
下一个问题是估算题,北京有多少家理发店。不在乎结果,说出思路就行。
最后一个问题是让写个SQL,和DAU有关,楼主对自己sql能力还是很有自信的,但是这道sql我没写出来,我噼里啪啦写了一堆,面试官说不对,然后告诉我正确的逻辑是什么,该怎么写,还安慰我说没事,说我的sql在校招的水平里算挺好的了,还说这道题是他们比较喜欢在校招里问的比较难的一道。
最后给了feedback,评价了一下我的一面。持续时间30分钟左右。

二面: 大概十几分钟吧,收到二面通知。
二面是个小姐姐,问了我简历,我介绍了实习经历,项目经历。没问项目,问了实习经历,因为我写了我实习中做了个漏斗数据监控,然后问了我这个是什么,怎么回事,怎么实现,我还写了超额完成kpi什么的,问我怎么协助达成什么的;简历问答持续了二十多分钟吧。
最后问了我个业务问题,问我用抖音不,我说用过,然后问我说,抖音的用户来源有很多,怎么去分析抖音用户来源渠道。我思考了一下,然后balabala聊了一下。

三面: 过了大概二十多分钟吧,收到三面通知。
好像这次是部门大佬面的,全是业务场景问题。第一个问题问我平时都用什么app,我说网易云,微博,抖音(楼主回答这个问题很小心,因为不敢回答自己不熟的app,楼主之前都做过这些app的功课,所以答了这几个),然后面试官让我分析一下抖音和微博的区别,我balabala聊了一下。
然后问了我一个和辛普森悖论有关的问题,大致好像是国家出台政策,统计发现各个省人均收入均增高,但是全国人均收入下降,问我这有没有可能发生。
然后还问了一个什么问题,我忘了。
最后一个问题是偏统计学吧我觉得,聊了挺久的,说假设家乐福决定对世界范围内1000家门店实行个措施,然后先在100家试水,结果不错,但是应用到1000家之后发现不行,怎么回事,然后分析。然后我说样本问题,balabala,然后又接着追问我关于样本设置什么的一系列问题,后面答得不太好。
最后说,看我有过数据分析的实习经历,问我做过之后,认为数据分析师符合自己对这个职位本身的期望么,我说符合。 结束。

周日的时候面试了头条的数据分析,头条问的问题比较业务。面完也是马上出结果的那种,面试体验还挺不错的。 一面

  1. 简单自我介绍
  2. 用过的头条系产品,说了抖音。然后又问一些别的常用的app。我其中提到了bilibili。问了抖音跟bilibili的区别,长视频跟短视频有什么区别。
  3. 一个果农种西瓜有100亩地。有一个卖肥料地推销他的肥料,说可以提高30%产量。 果农第一年在10亩地中试验,的确可以达到30%的提升。第二年全量使用,结果只有5%的提升,这是什么原因导致的?想出一个方法评估这一个肥料真实提高。
  4. 果农拉西瓜出去卖。拉100斤西瓜,然后每斤成本5元,卖10元一斤,卖完了所有的西瓜,赚了500元。请问果农怎么提高收入?(每天都只有100斤西瓜的供应量)
  5. 提高单价,会导致销量降低。假设,销量与单价之间满足销量y=a*单价x+b的函数。果农最大收益是多少?果农要用什么策略来提高价格? (我回答得比较数学,就是直接算最大值那样。面试官想要比较具体的果农能听懂的策略) 二面
  6. 简单自我介绍
  7. 说一下自己比较满意的项目,面试官兴趣不大。也就没问具体的了。
  8. 抖音要现在有两个新功能,直播跟私信。你怎么利用这两个功能的现状来评估,应该重点推广哪一个功能(面试官有提示,这两个功能类型不同之类的)你推广了这个功能之后,怎么评估推广的效果
  9. 对这两个功能做abtest(可能我自己挖坑说了abtest),怎么控制实验组,对照组的人数(目前假设抖音日活1.5亿人)
  10. 17年,12月抖音,IOS用户的平均停留时长翻倍。已经发现:1.机型越新的用户,涨幅越大;2.安卓用户没有发生这个情况;3.这期间没有运营活动。分析这一现象的原因。
    大概问题就是这些了~默默求问一下,数据分析岗的大家都是怎么准备各种业务问题的,答业务问题的时候,就感觉自己很没有数据分析的sense了,怀疑人生…Orz…

头条大数据工程师一面面经(只有一面) 1问项目内容和你的职责
2操作系统你了解多少,你最常用的系统是哪个,对shell命令熟悉吗,如何查看内存和cpu使用情况
3.进程和线程的区别
4.进程间有哪些通信方式,如果有两个进程,一个进程执行一半要求另一个进程终止,该如何操作
5.你了解查找树吗,手撕代码,如何判断一个树是否符合查找树的规则
6.TCP握手和挥手,UDP和TCP,如果要用udp发送一个比较大的文件该如何操作,如何确定文件是否发送完成,是否有丢失,如何对接收到的数据包进行组装,编号如何存放,用什么数据结构。
7.实验环境,你搭建hadoop集群的规模,进行过哪些操作
8.spark的架构,数据倾斜,rdd的宽依赖和窄依赖
9.你在学校的经历
10.英语成绩怎么样 今天面试非常紧张,也没有视频面的经验,发挥的可以说是非常差,视频面的时候信号不是很好(应该是我网络的问题,用的手机热点),总掉线(面试官说话没声音),所以大家尽量选择现场面
面试官人非常好,也很有耐心,就我今天的面试表现,面试官已经说是非常好了,很留情面了。

展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值