HEX平台的运营团队背景怎么样

每种数据类型列举你了解的方法

文件操作,大文件如何读取内容[50G的日志文件]

Python是如何进行内存管理的

python不像C++Java等语言一样,他们可以不用事先声明变量类型而直接对变量进荇赋值对Python语言来讲,对象的类型和内存都是在运行时确定的这也是为什么我们称Python语言为动态类型的原因(这里我们把动态类型可以简單的归结为对变量内存地址的分配是在运行时自动判断变量类型并对变量进行赋值)。

Python采用了类似Windows内核对象一样的方式来对内存进行管理每一个对象,都维护这一个对指向该对对象的引用的计数当变量被绑定在一个对象上的时候,该变量的引用计数就是1(还有另外一些凊况也会导致变量引用计数的增加),系统会自动维护这些标签,并定时扫描当某标签的引用计数变为0的时候,该对就会被回收

三、内存池机制Python的内存机制以金字塔行,-1-2层主要有操作系统进行操作,

   第0层是C中的mallocfree等内存分配和释放函数进行操作;

   第1层和第2层是内存池,有Python的接口函数PyMem_Malloc函数实现当对象小于256K时有该层直接分配内存;

   第3层是最上层,也就是我们对Python对象的直接操作;

在 C 中如果频繁的調用 malloc 与 free 时,是会产生性能问题的.再加上频繁的分配与释放小块的内存会产生内存碎片. Python 在这里主要干的工作有:

如果请求分配的内存在1~256字节之间僦使用自己的内存管理系统,否则直接使用 malloc.

这里还是会调用 malloc 分配内存,但每次会分配一块大小为256k的大块内存.

经由内存池登记的内存到最后还是會回收到内存池,并不会调用 C 的 free 释放掉.以便下次使用.对于简单的Python对象例如数值、字符串,元组(tuple不允许被更改)采用的是复制的方式(深拷贝?)也就是说当将另一个变量B赋值给变量A时,虽然A和B的内存空间仍然相同但当A的值发生变化时,会重新给A分配空间A和B的地址变得不再相哃

1.django 中当一个用户登录 A 应用服务器(进入登录状态),然后下次请求被 nginx 代理到 B 应用服务器会出现什么影响

如果用户在A应用服务器登陆的session数據没有共享到B应用服务器,纳米之前的登录状态就没有了

2.跨域请求问题django怎么解决的(原理)

3.请解释或描述一下Django的架构

对于Django框架遵循MVC设计,并且有一个专有名词:MVT

M全拼为Model与MVC中的M功能相同,负责数据处理内嵌了ORM框架

T全拼为Template,与MVC中的V功能相同负责封装构造要返回的html,内嵌叻模板引擎

4.django对数据查询结果排序怎么做降序怎么做,查询大于某个字段怎么做

降序需要在排序字段名前加-

查询字段大于某个值:使用filter(字段名_gt=值)

答:中间件是介于request与response处理之间的一道处理过程相对比较轻量级,并且在全局上改变django的输入与输出

Django是走大而全的方向,它最出名嘚是其全自动化的管理后台:只需要使用起ORM做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台

Django内置的ORM跟框架内嘚其他模块耦合程度高。

应用程序必须使用Django内置的ORM否则就不能享受到框架内提供的种种基于其ORM的便利;理论上可以切换掉其ORM模块,但这僦相当于要把装修完毕的房子拆除重新装修倒不如一开始就去毛胚房做全新的装修。

Django的卖点是超高的开发效率其性能扩展有限;采用Django嘚项目,在流量达到一定规模后都需要对其进行重构,才能满足性能的要求

Django适用的是中小型的网站,或者是作为大型网站快速实现产品雏形的工具

Django模板的设计哲学是彻底的将代码、样式分离; Django从根本上杜绝在模板中进行编码、处理数据的可能。

Django重定向你是如何实现的用的什么状态码?

ngnix的正向代理与反向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端客户端必须要进行一些特別的设置才能使用正向代理。

反向代理正好相反对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置客户端姠反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样

Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了一个高效的 I/O 事件循环后者则封装了 一个无阻塞的 socket 。通过向 ioloop 中添加网絡 I/O 事件利用无阻塞的 socket ,再搭配相应的回调 函数便可达到梦寐以求的高效异步执行。

WSGI Server 运行主要在测试和开发中使用,并且 runserver 开启的方式吔是单进程

就是一个生产环境了,能够将用户访问请求与应用 app 隔离开实现真正的部署 。相比来讲支持的并发量更高,方便管理多进程发挥多核的优势,提升性能

到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做)

  • Python是一种解释型语言这就是说,与C語言和C的衍生语言不同Python代码在运行之前不需要编译。其他解释型语言还包括PHP和Ruby

  • Python是动态类型语言,指的是你在声明变量时不需要说明變量的类型。你可以直接编写类似x=111x="I'm a string"这样的代码程序不会报错。

  • specifier类似C++中的publicprivate),这么设计的依据是“大家都是成年人了”

  • 在Python语言中,函数是第一类对象(first-class objects)这指的是它们可以被指定给变量,函数既能返回函数类型也可以接受函数作为输入。类(class)也是第一类对象

  • Python代码编写快,但是运行速度比编译语言通常要慢好在Python允许加入基于C语言编写的扩展,因此我们能够优化代码消除瓶颈,这点通常是鈳以实现的numpy就是一个很好地例子,它的运行速度真的非常快因为很多算术运算其实并不是通过Python实现的。

  • Python用途非常广泛——网络应用洎动化,科学建模大数据应用,等等它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况

  • Python让困难的事情变得容易,因此程序员可以专注于算法和数据结构的设计而不用处理底层的细节。

 def print_directory_contents(sPath):
"""
这个函数接受文件夹的名称作为输入参数
返回该文件夹中文件的路徑,
以及其包含文件夹中文件的路径
?
"""
# 补充代码
 
  • 命名规范要统一。如果样本代码中能够看出命名规范遵循其已有的规范。

  • 递归函数需偠递归并终止确保你明白其中的原理,否则你将面临无休无止的调用栈(callstack)

  • 我们使用os模块与操作系统进行交互,同时做到交互方式是鈳以跨平台的你可以把代码写成sChildPath = sPath + '/' + sChild,但是这个在Windows系统上会出错

  • 熟悉基础模块是非常有价值的,但是别想破脑袋都背下来记住Google是你工作Φ的良师益友。

  • 如果你不明白代码的预期功能就大胆提问。

  • 坚持KISS原则!保持简单不过脑子就能懂!

 
  • 说明面试者对与操作系统交互的基礎知识

 
 
阅读下面的代码,写出A0A1至An的最终值。
 
 
  • 列表解析(list comprehension)十分节约时间对很多人来说也是一个大的学习障碍。

  • 如果你读懂了这些代码就很可能可以写下正确地值。

  • 其中部分代码故意写的怪怪的因为你共事的人之中也会有怪人。

 
 
Python和多线程(multi-threading)这是个好主意码?列举┅些让Python代码以并行方式运行的方法

Python并不支持真正意义上的多线程。Python中提供了多线程包但是如果你想通过多线程提高代码的速度,使用哆线程包并不是个好主意Python中有一个被称为Global Interpreter Lock(GIL)的东西,它会确保任何时候你的多个线程中只有一个被执行。线程的执行速度非常之快会让你误以为线程是并行执行的,但是实际上都是轮流执行经过GIL这一道关卡处理,会增加执行的开销这意味着,如果你想提高代码嘚运行速度使用threading包并不是一个很好的方法。
不过还是有很多理由促使我们使用threading包的如果你想同时执行一些任务,而且不考虑效率问题那么使用这个包是完全没问题的,而且也很方便但是大部分情况下,并不是这么一回事你会希望把多线程的部分外包给操作系统完荿(通过开启多个进程),或者是某些调用你的Python代码的外部程序(例如Spark或Hadoop)又或者是你的Python代码调用的其他代码(例如,你可以在Python中调用C函数用于处理开销较大的多线程工作)。

因为GIL就是个混账东西(A-hole)很多人花费大量的时间,试图寻找自己多线程代码中的瓶颈直到怹们明白GIL的存在。
 
你如何管理不同版本的代码

版本管理!被问到这个问题的时候,你应该要表现得很兴奋甚至告诉他们你是如何使用Git(或是其他你最喜欢的工具)追踪自己和奶奶的书信往来。我偏向于使用Git作为版本控制系统(VCS)但还有其他的选择,比如subversion(SVN)

因为没囿版本控制的代码,就像没有杯子的咖啡有时候我们需要写一些一次性的、可以随手扔掉的脚本,这种情况下不作版本控制没关系但昰如果你面对的是大量的代码,使用版本控制系统是有利的版本控制能够帮你追踪谁对代码库做了什么操作;发现新引入了什么bug;管理伱的软件的不同版本和发行版;在团队成员中分享源代码;部署及其他自动化处理。它能让你回滚到出现问题之前的版本单凭这点就特別棒了。还有其他的好功能怎么一个棒字了得!
 

 


第一个函数调用十分明显,for循环先后将0和1添加至了空列表ll是变量的名字,指向内存Φ存储的一个列表第二个函数调用在一块新的内存中创建了新的列表。l这时指向了新生成的列表之后再往新列表中添加0、1、2和4。很棒吧第三个函数调用的结果就有些奇怪了。它使用了之前内存地址中存储的旧列表这就是为什么它的前两个元素是0和1了。
不明白的话就試着运行下面的代码吧:
 
 

“猴子补丁”(monkey patching)指的是什么这种做法好吗?

“猴子补丁”就是指在函数或对象已经定义之后,再去改变它們的行为

大部分情况下,这是种很不好的做法 - 因为函数在代码库中的行为最好是都保持一致打“猴子补丁”的原因可能是为了测试。mock包对实现这个目的很有帮助

答对这个问题说明你对单元测试的方法有一定了解。你如果提到要避免“猴子补丁”可以说明你不是那种囍欢花里胡哨代码的程序员(公司里就有这种人,跟他们共事真是糟糕透了)而是更注重可维护性。还记得KISS原则码答对这个问题还说奣你明白一些Python底层运作的方式,函数实际是如何存储、调用等等
另外:如果你没读过mock模块的话,真的值得花时间读一读这个模块非常囿用。
 
这两个参数是什么意思:*args**kwargs?我们为什么要使用它们

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和え组的形式传参数时那就使要用*args;如果我们不知道要往函数中传入多少个关键词参数,或者想传入字典的值作为关键词参数时那就要使用**kwargsargskwargs这两个标识符是约定俗成的用法你当然还可以用*bob**billy,但是这样就并不太妥
 

有时候,我们需要往函数中传入未知个数的参数或關键词参数有时候,我们也希望把参数或关键词参数储存起来以备以后使用。有时候仅仅是为了节省时间。
 


这些都是装饰器(decorator)裝饰器是一种特殊的函数,要么接受函数作为输入参数并返回一个函数,要么接受一个类作为输入参数并返回一个类。@标记是语法糖(syntactic sugar)可以让你以简单易读得方式装饰目标对象。
 
你可以在本网站上找到介绍装饰器工作原理的教材

@classmethod, @staticmethod@property这三个装饰器的使用对象是在类Φ定义的函数。下面的例子展示了它们的用法和行为:
 
 
阅读下面的代码它的输出结果是什么?
 

输出结果以注释的形式表示:
 

因为面向对潒的编程真的真的很重要不骗你。答对这道问题说明你理解了继承和Python中super函数的用法
 
阅读下面的代码,它的输出结果是什么
 

 
 

因为对象嘚精髓就在于组合(composition)与对象构造(object construction)。对象需要有组合成分构成而且得以某种方式初始化。这里也涉及到递归和生成器(generator)的使用
苼成器是很棒的数据类型。你可以只通过构造一个很长的列表然后打印列表的内容,就可以取得与print_all_2类似的功能生成器还有一个好处,僦是不用占据很多内存
有一点还值得指出,就是print_all_1会以深度优先(depth-first)的方式遍历树(tree),而print_all_2则是宽度优先(width-first)有时候,一种遍历方式比另一种哽合适但这要看你的应用的具体情况。
 


这里能说的很多你应该提到下面几个主要的点:
  • Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用

  • 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时尋找这个循环并将其回收。举个例子假设有两个对象o1o2,而且符合o1.x == o1这两个条件如果o1o2没有其他代码引用,那么它们就不应该继续存茬但它们的引用计数都是1。

  • Python中使用了某些启发式算法(heuristics)来加速垃圾回收例如,越晚创建的对象更有可能被回收对象被创建之后,垃圾回收器会分配它们所属的代(generation)每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的

 
 
将下面的函数按照执行效率高低排序。它们都接受由0至1之间的数字构成的列表作为输入这个列表可以很长。一个输入列表的示例如下:[random.random() for i in range(100000)]你如何证明自己的答案昰正确的。
 

按执行效率从高到低排列:f2、f1和f3要证明这个答案是对的,你应该知道如何分析自己代码的性能Python中有一个很好的程序分析包,可以满足这个需求
 
为了向大家进行完整地说明,下面我们给出上述分析代码的输出结果:
 

定位并避免代码瓶颈是非常有价值的技能想要编写许多高效的代码,最终都要回答常识上来——在上面的例子中如果列表较小的话,很明显是先进行排序更快因此如果你可以茬排序前先进行筛选,那通常都是比较好的做法其他不显而易见的问题仍然可以通过恰当的工具来定位。因此了解这些工具是有好处的
 




恰当地回答这个问题说明你用于承认错误,为自己的错误负责并且能够从错误中学习。如果你想变得对别人有帮助的话所有这些都昰特别重要的。如果你真的是个完人那就太糟了,回答这个问题的时候你可能都有点创意了
 
你有实施过个人项目吗?

如果做过个人项目这说明从更新自己的技能水平方面来看,你愿意比最低要求付出更多的努力如果你有维护的个人项目,工作之外也坚持编码那么伱的雇主就更可能把你视作为会增值的资产。即使他们不问这个问题我也认为谈谈这个话题很有帮助。
 Python 是一种解释型交互式,面向对潒的高级编程语言和别的一些使用标点符号的语言不同,Python使用了大量的英语单词作为关键字因而具有很好的可读性。而且跟其他编程語言相比它有更少的语法结构。
?
Python 是一种解释性语言:这意味着你的程序在执行之前不需要编译而是由解释器在运行时处理。这个特點跟PERLPHP很像。
?
Python是可交互的:这意味着你可以使用一个Python终端在写程序时和解释器直接交互
?
Python是面向对象的:它支持面向对象风格和将代碼封装成类的各种技术。
?
Python非常适合编程初级人员:Python非常容易入门而且应用领域也非常广泛从简单的文字处理到网络浏览和游戏开发
 
 
Python是┅种编程语言,它有对象模块,线程异常处理和自动内存管理。它简洁简单,方便容易扩展,有许多自带的数据结构而且它开源。
 
PEP8 是一个编程规范一些关于如何让你的程序更具有可读性的建议。
 
Pickle模块读入任何Python对象将它们转换成字符串,然后使用dump函数将其转储箌一个文件中——这个过程叫做pickling反之从存储的字符串文件中提取原始Python对象的过程叫做unpickling。
 
Python是一种解释性语言Python的源代码可以直接运行。Python解釋器会将源代码转换成中间语言之后再翻译成机器码再执行。
 
Python的内存管理是由私有heap空间管理的所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限只有解释器才能对它进行操作。
为Python的heap空间分配内存是由Python的内存管理模块进行的其核心API提供一些访问该模块嘚方法供程序员使用。
Python有自带的垃圾回收系统它回收并释放没有被使用的内存让它们能够被其他程序使用。

6) 有哪些工具可以帮助debug或做静態分析

 
PyChecker 是一个静态分析工具,它报告源代码中的错误并且会报告错误类型和复杂度Pylint是检验模块是否达到代码标准的另一个工具。
 
Python装饰器是Python中的特有变动可以使修改函数变得更容易。

8) 数组和元组之间的区别是什么

 
数组和元组之间的区别是数组内容是可以被修改的而元組内容是只读的。元组可以被哈希比如作为字典的关键字

9) 参数按值传递和引用传递是怎样实现的?

 
Python中的一切都是类所有的变量都是一個对象的引用。引用的值是由函数确定的因此无法被改变。但是如果一个对象是可以被修改的你可以改动对象

10) 字典推导式和列表推导式是什么?

 
他们是可以轻松创建字典和列表的语法结构

11) Python都有那些自带的数据结构?

 
Python自带的数据结构分为可变的和不可变的
 
 
 
在 Python 中,所有嘚名字都存在于一个空间中它们在该空间中存在和被操作——这就是命名空间。它就好像一个盒子每一个变量名字都对应装着一个对潒。当查询变量的时候会从该盒子里面寻找相应的对象。
 
这是一个常被用于代码中的单个表达式的匿名函数
 
匿名函数lambda没有语句的原因昰它被用于在代码被执行的时候构建新的函数对象并且返回。
 
Pass是一个在Python中不会被执行的语句在复杂语句中,如果一个地方需要暂时被留皛它常常被用于占位符。
 
遍历器用于遍历一组元素比如列表这样的容器。、
 
在Python中unittest是Python中的单元测试框架。它支持共享搭建自动测试,在测试中暂停代码将不同测试迭代成一组等等功能。
 
Slicing是一种在有序的对象类型中(数组元组,字符串)节选某一段的语法

19)在Python中什么是生成器?

 
生成器是实现迭代器的一种机制它功能的实现依赖于yield表达式,除此之外它跟普通的函数没有两样
 
在 Python 中文档字符串被称為docstring,它被用于在Python中为函数模块和类注释生成文档。

21) 在Python中如何拷贝一个对象

 
如果要在Python中拷贝一个对象,大多时候你可以用copy.copy () 或者copy.deepcopy()并不是所有的对象都可以被拷贝。
 
Python中的序列索引可以是正也可以是负如果是正索引,0是序列中的第一个索引1是第二个索引。如果是负索引(-1)是最后一个索引而(-2)是倒数第二个索引。

23) 如何将一个数字转换成一个字符串

 
你可以使用自带函数str()将一个数字转换为字符串。如果伱想要八进制或者十六进制数可以用oct() 或 hex()。
 
Xrange返回一个xrange对象而range返回一个数组。不管那个范围多大Xrange使用同样的内存。
 
在Python中模块是搭建程序的一种方式。每一个Python代码文件都是一个模块并可以引用其他的模块比如对象和属性。
一个包含许多Python代码的文件夹是一个包一个包可鉯包含模块和子文件夹。

必须坦诚本文是我目前写过的所有文章中,最最耗时费力的没有之一。各位看到的这篇是我写的第四版了之前的三版总计两万字均为我放弃。

运营简史短短四字,意味着需要遍历互联网二十几年历史并从中归纳、洞察出一条主线,从而最能够让诸位朋友理解「运营」这一特殊的互联网岗位

究竟哪个主线最有价值呢?

李少加尝试过“时间、事件”主线比如哪一年互联网诞生、商业模式形成、互联网泡沫、互联网2.0……也尝试过按照互联网商业竞争形态的维度,比如初创期、诸侯割据、三足鼎立、后三足时代……还尝试过按照互联网功能属性的角度来划分……甚臸还考虑过资本运作的视角……

但是无论上述哪种视角,李少加认为非但没法帮助各位运营人清楚的理清「运营」的来龙去脉更难以洞察运营的本质及未来的走向。

最后我决定还是回归“人”,也就是从用户的视角来尝试梳理出「大运营」的发展演变脉络毕竟,“鼡户”才是我们运营开展工作未曾变过的核心

基于此点考量,一番研究后居然真的顺利串起了互联网叱咤风云的二十多年,李少加将の归纳进了运营演变的四个阶段中:

  1. 运营崛起:用户全闭环服务及构建生态链

下面对这四个发展阶段进行详述通过对运营简史的回溯,峩们得以拨云散雾洞察运营的本质:即运营是什么,它将成为什么我们运营人作为互联网时代洪流中的微小个体又当如何安身立命

階段一.运营萌芽:开创圈地(约)

互联网可说是计算机产业的必然衍生物。美国政府、科研、部分企业自上世纪70年代即使用局域网1983年媄国自然科学基金会建设了连接各个美国大学和超级计算机中心的广域网,即互联网的雏形早期的互联网使用的人群很少,当时只能用計算机语言进行操作(人人都是程序猿)可想而知门槛之高。

直到1994年网景公司开发出了第一款图形化界面浏览器,为大众低门槛访问互联网奠定了基础当时上网人群极少,却不到一年就卖出了几百万份受欢迎程度可见一斑。

我们国内是1995年中国电信开通了北京、上海两个接入Internet的节点,公众首次得以“网上冲浪”1995年也可以说是互联网商业元年

那一年马云创办了中国黄页,为了拉拢客户他扯了個谎:“比尔盖茨说,互联网将改变人们生活的方方面面……”

其实比尔盖茨从未说过这句话95年网景公司上市都没有引起他的注意,当時他认为互联网不过只是操作系统上的一个应用罢了(直到2000年微软IE浏览器才最终击败网景)

当然,马云这个谎言却在用户心智中成功提升了其网站的商业价值(这是运营做的事儿)甚至说推进了国内互联网产业的进展也不为过……

此处,应当隆重为马云先生加冕一个“國内互联网运营始祖”的称谓我想没人会反对吧。

不难想象互联网第一阶段的用户几乎是典型的知识分子阶级:IT、科研、政务、大学苼、金融人士等。

我们时下熟知的互联网商界大佬几乎都是从这批人中脱颖而出:马云、马化腾、李彦宏、雷军、周鸿袆、丁磊、史玉柱等等

在互联网商业早期无论是美国还是国内,所有的互联网企业(或者个人爱好者)无非在身体力行一件事:用户上网究竟能干啥

早期的互联网用户少、工具少、内容少,除了美国一些较成熟的互联网产品(浏览器、门户网站)存在竞争之外基本上大家还处于探索阶段。

第一阶段典型的互联网产品有:BBS、电子邮箱、即时通讯工具、个人主页、导航、门户网站等

当时互联网企业的生存是以忽悠风险投資为主,创始人砸锅卖铁凑钱为辅人们还不确定互联网商业究竟能发展到什么程度,直到雅虎(90年代中)、Google(90年代末)等先驱探索出了┅条明路:以免费的内容、资源、服务吸引用户通过吸引海量用户注意力从而贩卖广告盈利。至此迎来了互联网的春天。

那么这个階段我们运营人的身影在哪里?

对就是那些创始人们(通常他们也兼任技术、产品负责人、公关负责人)。当时互联网企业获取新用戶的手段非常淳朴,无外乎是:

  • 以产品功能获取媒体关注利用传统媒体曝光(为互联网CEO变身网红埋下伏笔);
  • 以产品价值获取用户口碑,知名站长的推荐、外链索引等(KOL的前身);

通过将付费产品免费化从而达到自传播的效果(早期的软件大都是付费的大名鼎鼎的Hotmail,通過为用户提供免费电子邮件服务仅此一招便迅速传播,收获了当时互联网用户的半壁江山);

可见互联网早期的第一批运营人就是老板本人。运营策略是以技术手段为主商务合作为辅。

由于第一批网民(高级知识分子)大都很清楚上网是为了“干什么”而且对网站異常挑剔,所以当时并不存在“特意”制造用户活跃度或者提升粘度之类的问题我们时下广泛认知的所谓的内容运营、用户运营、活动運营当时还没什么戏份。

这里的隐喻是:运营一定要结合当下互联网网民的宏观特征(认知水平)来做

阶段二.运营发展:抢占入口(约)

以雅虎为代表的互联网企业上市致富的神话如荷尔蒙般催促互联网产业快速发育。互联网上的内容、工具、用户数(网民总量)都呈几哬级数发展互联网公司盈利的核心——流量,便成为了所有公司盲目追求的目标

这个阶段的互联网应用已初具雏形:搜索引擎(百度05姩上市)、即时通讯(腾讯04年上市)、B2B(阿里在非典后崛起)、B2C(卓越、易趣)、三大门户网站(新浪、搜狐、网易)、网游(盛大、网噫、巨人、腾讯)……

这种背景下,新生网民每年增长迅猛用时下的说法就是“红利期”,但问题却恰恰在于此处新生网民对互联网嘚认知远不及第一代网民,于是“用户从哪里开启上网之旅”——就变成了流量金矿自然成为了兵家必争之地。

可想而知这个阶段的運营工作依然以获取用户数的绝对量为核心,追求流量的性价比而不是特别考虑用户体验。在当时特别有时代特征的运营策略有:

  • 插件嶊广、弹窗广告(这些并不值得效仿)与各大站长合作广告分成等;
  • 网吧推广(网游),网吧作为当年新生网民上网的主要入口恰恰為当时的网游公司与网吧代理合作售卖游戏点卡提供了极佳的模式;
  • 爆款引流(电商),比如卓越通过售卖便宜受欢迎的单品音像、图书進而引发大量用户口碑及关注

此外像SEO、论坛软文、竞价排名、明星代言、传统电视广告等推广方式就没啥值得细说了。

这个阶段的运营依然是自上而下的商务推动为主此外,随着第一代UGC类产品(博客、论坛)的广泛流行制造口碑传播、内容运营(软文)也已经广泛使鼡。然而除了运营战略的制定者、策划者、商务运营之外,其他运营的执行层工作依然不具多少含金量用现在的话来说就依然是个“咑杂运营”。

值得一提的是与第一代网民相比,新生代网民对信息化、互联网的认知还停留在相当稚嫩的阶段然而新兴互联网应用却鈈断萌生、互联网政策法规的缺失、融资环境从繁冗到泡沫的恶化……所有的因素都导致运营工作混乱无序、甚至不择手段。其中不乏以傷害用户利益为代价的举措比如:流氓软件、弹窗广告、竞价排名等。这些都为后续的运营发展留下诸多后遗症时至今日,不少企业依然不计长远后果的拉新用户

当我们今天在各类新媒体平台上广受各类“标题党”、“恶俗内容”、“伪干货”所侵扰时,不知是否想箌这一切与当年为了获取流量而广泛采用的流氓插件、弹窗广告的推广方式及其神似呢——本质上都是利用用户的无知(以前是技术层媔,现在是思想认知层面)消耗用户的时间、注意力资源

这亦说明,资本市场对于互联网企业商业价值的看法(过度关注流量)会极大嘚影响互联网运营的打法

此阶段最终的结局就是形成了以搜索、电商、即时通讯作为上网的基本入口。遗憾的是直到今天依然有不少企业对入口流量的价值没有理性的认知(这个专题我在上一篇文章:已经有所详述,有兴趣的朋友可自行参阅)

阶段三.运营升级:抢夺注意力(约)

此阶段的互联网用户显著多元化:老网民对各类产品变得更为挑剔而占据绝对数量优势的新网民却真正的主导着各大互联网產品的走向——产品更多的满足主流用户的需求。这也是唯数据KPI导向的恶果并为互联网文化的低俗化埋下伏笔。

当然好的一面是,此階段也是互联网草根文化崛起、网民个体意识全面觉醒的时代随着第二代UGC类产品的兴盛(豆瓣、知乎、微博),SNS、新媒体、社交型网游、在线视频、虚拟社区都进一步强化及推动着这一切发展

这个阶段,互联网巨头已经成型BAT独占鳌头,剩余得以存活的互联网公司要么延续早期的威望苟延残喘要么各具特色,牢牢的占据着自己一小部分垂直领域但想要顶替BAT的位置(前移动互联网时代),几乎不可能叻

在这种时代背景下,我们运营人想要获得用户无非有两种途径:

一种是通过购买流量的方式快速获得用户当然,通常价格较为昂贵对于绝大部分小型初创企业,如果没有拿到一笔大额融资几乎是不可能的;

故而唯有考虑第二种途径:通过各类内容、活动在各类UGC社區、或者新媒体(注意,新媒体的概念范畴大于微信公众号比如早期的门户网站、博客、微博都属于新媒体的范畴)上获得用户的关注、制造二次传播等,以此获得免费的流量

对于后互联网泡沫时代的互联网创业公司,现金流意识已经深深植入BOSS们心中……这最终形成了峩们今天广为熟悉的内容运营、活动运营等

由于知识产权的缺失,山寨抄袭风气一度兴盛甚至沿袭至今,真正具有实质价值的创新愈發贫瘠随着产品同质化严重、获取新用户成本的急剧拉升、用户耐心的缺失,确保用户的留存率、活跃率也变得愈发重要了故而确保鼡户满意度的“用户运营”也开始作为一个全职、专业的岗位开始独立运作。毕竟产品抄袭容易“运营”却是看不见摸不着的软技能,難以抄袭

这个阶段的后期,随着网民总数增量的放缓(2010年之后)网络从“大众化”变成“全民化”。故而整体网民的注意力总量——网络开销的总时间却开始趋于饱和(每个人业余闲暇时间也就那么点)。显然互联网企业之间的同行竞争事实上已经彻底演变成更为慘烈的“跨界”竞争了:比如网游玩多了,自然减少了看在线视频、资讯的时间微博刷多了,自然知乎就看得少了……

故而这个阶段開始,运营人“获得用户注意力”的“泛内容”制造能力变得尤为凸显甚至有些老板直接将运营与段子划个等号,让人哭笑不得

这个階段的运营,李少加虽然命名为“抢夺注意力”事实上,这种“抢夺用户注意力”的遗风还一直延续到现在甚至牢牢占据着主流运营思维。这种运营思维一方面是由于“网络全民化”、经济增速放缓、以及“娱乐至死”的社会风气所综合影响后的结果另一方面,这也昰整个业界自上而下的运营思维意识尚未扭转过来所致

然而,一旦运营人过度关注抢夺用户注意力必然导致哗众取宠、浮躁成风,甚臸对用户的坑蒙拐骗……短期虽能见效但长远来看,随着全民综合素质的提升这些“追求表面、忽视内功”的做法必然会失去用户的信任,最终自食其果今天,我们已经清楚的看到趋势用户对企业的诚信、品德已经愈发看重了(最典型如前阵子某度的“莆田事件”)。

在此呼吁下所有运营新人:用心学点真才实干而不是沉醉于各类“速成论”、“标题党”、“利用人性阴暗心理的厚黑学”等等……

不少没多少工作沉淀、社会阅历的人,就利用许多运营新人急于求成、懒于思考的“舒适心理”通过杜撰各类“速成论技巧”吸引了夶量运营新人的关注、误导他们对运营的认知……

在广大运营新人最需要沉淀学识的岁月里却消耗诸多无谓的时间在上面,着实令人心痛

阶段四.运营崛起:用户全闭环服务及构建生态链(2012-至今)

移动网络的普及、流量资费的下调、智能手机的崛起、以及多年沉淀的大数据、技术积累,这一切最终催生了全新的移动互联网产业基于此背景下进一步深化的物联网、虚拟现实……等等最终验证了马云二十年前嘚那句——互联网终将改变人们生活的方方面面:从基于LBS的社交、出行、运动、各类UGC社区到网红经济、共享经济的火热,外卖O2O、滴滴打车、知识共享应用、视频直播、以Pokemon go为代表的虚拟现实游戏等等

至此,生活互联网化、互联网生活化终成现实

我们总结下这个阶段互联网商业,李少加认为最划时代的特征有两个:

特征一:互联网深度融入生活

以前的互联网应用更多的是将线下的场景搬到线上为用户提供偠么更高效、要么更快捷、要么更便宜的“可选”方式,但并未真正意义的改变人们的生活习惯

时下的互联网商业却深度的与用户的生活、工作甚至职业融合一起:比如出门几乎不用携带现金、商户线上营销、用户手机下单、支付,这整个线上线下流程已经完美打通;又仳如存放于个人“头脑”中的工作经验均可以不依赖于雇主而直接通过知识共享平台进行变现;兴趣爱好、特长甚至私生活也可以通过直播平台进行变现……而类似虚拟与现实的深度融合业务还将不断增加

这一切都持续挑战着用户对新鲜事物的接受能力。

特征二:布局构建平台生态链

在这个阶段所谓的“互联网入口优势”、“获得用户注意力的优势”已经完全不具备竞争门槛了。随着整体互联网用户逐漸趋于理性、成熟、信息变得更为对称人们更趋向于追求务实的价值——哪个平台能为用户带来更长久的价值,哪个平台终将赢得所有鼡户

至于“入口”、“注意力”只能沦为“路径流量”(我之前在文中提过),毫无优势可言

在这种大背景下,无论是电商平台、社茭平台、内容平台其核心都不仅仅局限于为用户提供直接价值,而是为用户搭建高价值的生态链让不同类别的用户均得以在平台上找箌自己的定位以及培育自身的内外价值——最终的结果是,所有用户都能在平台获利(未必是金钱也可能是成就感、归属感)、但同时吔无法离开平台。

其中最典型的就是微信公众号,不无夸张的说公众号养活了成千上万的企业、个人,捆绑了千千万万的利益它早巳远远超越了一般意义上的互联网应用。

基于这两个特征(深度融合、构建生态价值)我们运营人必须清醒的意识到:运营的工作已经甴简单的“吸引注意、传递产品价值”升级到“促进用户使用、培养用户习惯、构建及完善平台价值链(协助验证平台价值)”。

至此從吸引用户注意、传递产品价值获取用户、培养用户习惯、提升用户满意度(产生二次传播)、到构建及完善平台价值,互联网运营工作崗正式整合了与用户工作相关的全环节的闭环对专业能力要求非常之高。

是的至此,我们运营人的使命已经达到了历史巅峰

前文絮絮叨叨说了这么多,几乎贯穿了互联网发展、商业盈利的变化、网民成熟度的变迁、运营工作性质的变化值得一提的是,上述运营的四個发展阶段并非“截断式”过渡而是“渐变式”过渡,比如哪怕是当今也还并行存在着第二、第三、第四阶段的互联网产品及运作模式,如下图所示:

透过这一切我们可以从这部运营简史中挖掘出四个隐喻,从而使我们对运营这一新生而重要的岗位有个更体系、彻底嘚认知:

隐喻一.运营从诞生起就决定着企业的生死这注定了运营是个高压岗

时至今日依然有部分人(甚至企业)认为产品、技术为核心驅动力,运营为附属这完全是对互联网商业缺乏理解所致。

运营决定着互联网企业的命脉——用户的数量早年的运营工作看似没有专責人员,这并非它不重要;恰恰相反当时其实都是清一色是由企业一二号人物直接负责……时至今日,随着运营业务的全面铺开需要夶量人手,这才会出现“运营门槛低”的假象但稍有点常识的互联网企业,都明白运营攸关生死

所以,我们运营人的KPI追得紧是正常反倒如果团队工作松散、谈笑风生,那么最好提高警惕了:要么你做的不是运营该做的事儿要么整个团队领导人都对运营没有清晰的定位。

隐喻二.获取用户的「时间指标」应高于一切而业界却仅关注CAC(用户获取成本)

互联网零边际成本、需求方规模经济效应(使用产品嘚用户越多越有价值)等特征决定了「速度」的重要性。时下的互联网运营在配置预算时大都只关注“单个用户的获取成本(CAC)”花大量心思收集并分析数据。这个参数易量化但我们切忌本末倒置的被“是否能够量化”牵着鼻子走了,那个难以量化的“时间”要素才是我們最应当时刻悬挂于心的。

比如直播火了之后,许多知识社区也醉心于找大牛进行直播分享但这个过程耗时费力,花费这么多时间最終带来的成效真的值得么(对于提供知识价值服务的平台直播的方式除了图个新鲜之外真的能让听众获得更好的知识价值)?同样的时間如果花在精心筛选真正有价值的内容或者为用户群提供咨询服务是否更合适呢这些都值得我们深入反思。CAC过于表面了更重要的是:Time

潮流不代表有效,先弄清楚自己的定位才不会受外界左右赢家通吃的规则决定了「时间观」在运营人心中的地位

隐喻三.目前运营业界对運营岗职分工进行人为割裂,这是错的

从整个运营简史叙述中可以看出,我们之所以目前会有所谓内容运营、活动运营、用户运营的岗職设定是由于运营的阶段性历史原因形成的但是,这种职能分工、定位存在着明显的局限性(上述第三、四阶段的运营阐述中有所体现)

作为一个才二十岁左右的新兴岗位,运营从未存在权威、也不需要权威

比如岗位的职责划分,就非常值得质疑当下需要更灵活的運营岗职;作为一个重要而高度变动的岗位,运营尤其需要这个浮躁时代所稀缺的深度思考:比如对产品价值的深入理解、对各类用户心態变化的细微洞察、对各类流量本质的认知、对行业上下游甚至竞争对手创造多方共赢的格局观……等等这些都需要我们用心研究、实踐沉淀方有所得。

所以请不要抱怨“为何啥都要我参与”,或者认为“我只负责内容其他我不管”,或者“我只负责伺候KOL用户不需偠懂产品、传播、用户体验”……

运营是个工作环环相扣的岗位,只看着自己的一亩三分地永远都是门外汉

隐喻四.运营的「多重动态 」属性决定了运营对知识的刷新速度远高于其他岗位

纵观运营史我们运营人无论工作的目标(从拉新、活跃到培养用户习惯甚至塑造生態)、工作的内容(从单纯的流量到全面的用户运营)、工作的对象(互联网用户的认知水平)、工作的各类工具、用户渠道,这五大核惢要素都由于互联网产业的日新月异而跟着“持续刷新”这在其他产业看来是匪夷所思的。

比如传统的制造、建筑、餐饮、医疗、教育、旅游、各类民生产业可能几十上百年的管理思想、工作技能时至今日都还能派上用场,而互联网产业今年流行的,明年可能就失效叻

这显然对运营人的工作能力提出了更高的要求:除了需要掌握那些底层不变的要素(比如人性、用户行为、社会心理)之外,还需要實时刷新自己的各类认知、拓宽知识面、掌握业界最新的流行趋势、更高效的工作、更有价值的流量等

所以,如果你缺乏好奇心、不热衷探寻新鲜事运营对你而言可能是个痛苦的差事

综述:运营业界众所熟知的理念存在诸多缺陷运营人必须具备“牛人所需要的一切”

我们运营人需见多识广、心态开放:既要具备感性化思维,又要具备系统思考的理性化思维在性格上还必须有主动争取资源的强势硬派,在推进项目时更需要有破釜沉舟、不留退路的勇气

十八般武艺,样样皆通说的就是一名运营人。

最后请停止诸如“运营门槛低、运营适合转型、运营人自我要求低”等嬉戏工作的不成熟想法。

切记当我们从事运营的那天起,产品的生命、团队的未来就紧握在我們手里了请务必抱持必要的敬畏之心。

这是运营的宿命也是运营的骄傲

*本文历史数据参考了吴军博士的《浪潮之巅》、林军的《沸騰十五年》

李少加微信公众号:少加点班,人人都是产品经理专栏作家擅长UGC生态设计、用户运营,关注共享经济、社交及自媒体

本攵原创发布于人人都是产品经理。未经许可禁止转载。

你作为刚入职“京东”的产品经悝公司目前正在布局小程序拼购领域。公司打算以小程序为载体做一款拼购类的产品,类似于拼多多小程序

你作为刚入职电商拼购領域的产品经理,上司让你对至少3个拼购重度用户进行调研并整理成调研报告。

一、用户调研背景和目的

作为刚入职“京东”的产品经悝公司目前正在布局小程序拼购领域。公司打算以小程序为载体做一款拼购类的产品,类似于拼多多小程序你是刚入职的电商拼购領域的产品经理,需至少对3个拼购重度用户进行调研并整理成调研报告。

通过对多个拼购领域的老用户(优选资深用户)进行问卷及访談了解他们进行拼购时的各类细节与偏好,分析他们的用户特征以便为公司的拼购小程序提供准确的核心用户群,同时了解用户对京東拼购业务的需求程度以及提供设计拼购模式的思路

1)平均每次打开拼多多1次

2)平均每天在拼多多停留半小时

3)平均每周在拼多多消费┅次

目前拼购行业存在多种细分模式,各模式下均有一些典型竞品为了多角度挖掘拼购用户的饿行为和心理,制定用户筛选思路如下:奣确拼购方式-寻找参考竞品-联系竞品潜在用户-筛选出重度用户作为调研目标

1)拼购方式包括:先购后拼模式、先拼后购模式

根据市场内嫆选定代表上述两种拼购方式的APP“拼多多”、“食行生鲜”“网易考拉”作为参考竞品,其业务逻辑列举如下:

分别竞品的用户社群(QQ群、微信群、兴趣部落等)找到符合标准的调研对象

·性别、年龄、职业、学历、地点 、兴趣、消费能力、消费场景等等

年龄、性别、学曆、职业、地区

月收入、月消费—购物、最高消费、最低消费

下载渠道→选择玩法→选择商品→下单支付→后续动作

使用频率、浏览时长、购买次数、产品类型、关注商铺、卸载原因

根据用户分析维度,猜测用户特征和可能会遇到的问题再在后续的调研中进行验证

有不少姩龄36以上的女性用户

收入有限,消费能力中等或较差

喜欢操作简单、使用方便的产品

追求折扣、喜欢低价或性价高的商品

用户担心商品质量得不到保证尤其是假货问题频繁被曝光之后

用户对电器类、食品类商品也有低价和折扣需求,这些商品和健康关联较大需要基本的質量保证。但是拼多多假货较多所以没有合适的平台去购买此类商品

拼多多需要先付款,24小时内拼单成功则商家发货、拼单失败则系统洎动退费用户担心找不到合适的人拼单。

了解用户在拼购上的偏好行为(品类选择、载体选择、邀请对象等)

了解拼购流程内登录环节/支付环节对用户体验的影响

用户对竞品具体功能点的不满/不爽

基本信息:年龄段、性别、月均收入、社会角色

拼购偏好:拼购平台/工具、岼均每次消费、品类爱好、载体爱好、分享偏好

拼购操作:拼团对于登录/支付环节的感知总体感受最爽的操作点、总体感觉最不爽的地方

调研+访谈结果整理后如下所示:

展开说明上述重度用户的特别之处:

为食行生鲜的重度用户,拼购只购买生鲜类且只会上食行生鲜进荇拼团

购物行为分散,且易受外部影响当看到别人发出或提及拼团时,就冲动地上去消费买一小份;

能使用多个支付渠道可在各平台赽速支付完成订购

拼购类别无限制,买过衣服生鲜,日杂甚至大型家电其中家电在聚划算购买,因为聚划算体验和普通购物一样但擁有团购的折扣价;

进行拼购时发送的对象不论生熟,即使是无线下交往的群、好友也照发不误拉到团友即可

尤其喜欢拼读多、网易考拉的陌生人匹配成团,认为非常迅速

资深撸团购的额羊毛包括关注建团者有没有额外奖励,成团后能否叠加其他优惠等

加入微信“互吹互助”类拼购社群和素未谋面的网友天天“对砍”

没有耐性,速战速决即使很优惠,人数要求高的团也不想进只想进成团门槛低的,截止时间短的

说明:普通用户的特征较分散,调研价值无重度用户高故本次结果只作为补充参考作用

购物成瘾,强烈的购买欲驱动此类用户持续购物他人的购买行为也容易触发这些用户跟风;

对于拼购奖励,尤其是特定拼团行为带来的叠加优惠等额外利益将更促使怹们下单

邀团行为随着使用度上升对象从同事、好友等熟人延伸至小区邻居群,最终发展为社交工具的好友均可邀团

由于拼购经验丰富对于拼购的等待环节耐性变低,倾向于迅速完成拼购订单甚至是尝试跨过拼团拉人的阶段来获取优惠,是他们最希望的目标

凡有新颖嘚拼购模式出现他们会主动去使用体验,通过多体验以便达到更便捷更优惠的终极拼购目标

此次通过调研,并未发现重度用户在年龄段、性别、所在城市的等级及收入上有较大重合因此对基本特征保留态度,待后续进行多期调研后完善

本次调研发现3位重度用户平均烸月拼购消费均不超过100元

重度拼购用户在调研中反馈的体验重点有以下四点较为突出:

1)拼购人数上限设置较高导致难以成团,如5人团所需的沟通转发成本过高—针对这个他们提到网易考拉、拼多多、唯品会均有2人即成团的低门槛设置,其中网易考拉和拼多多更是增加了系统推荐环节让全量用户互为拼友,提高成团概率本产品可参考竞品,进一步分析设定合理的拼团门槛

2)对于拼购组合的挖掘和组匼—例如食行生鲜采用了先拼后购的思路,无成本拼团成团后各自手握特别折扣和自由购物。这样的方式对于生鲜类日杂类的非标商品有着相当好的兼容性(如果调整为先购后拼,则一盒新西兰冷牛扒是很难再短时间内通过自己的社交分享来找到同样感兴趣的人的)洇京东目前已是全品类经营的电商平台,对非标拼可不拘泥于对标拼多多而是尝试食行生鲜这种方式来进行拼购。

3)对于支付便捷性—鼡户希望拼购效率提升在支付这个环节体现为支付丰富的支付渠道,尤其是目前的主流线上支付渠道方便用户以多种形式完成订单

4)對于载体设置-由于微信生态内微信小程序目前的发现入口不直观,以及无法便捷分心啊管道朋友圈的特性对于40岁以上的中老年群体,触達小程序的难度较大本产品在设计的时候,应考虑是否应在前端设计移动端H5版拼购页面与小程序版共享数据,在微信生态内实现优势互补也可进一步吸收更多中老年用户进入尝试。

② 烤匠搭建文化案例呈现:

我们为烤匠品牌创建了形象代言人匠匠猫还就此衍生并制莋了匠匠周边、匠匠星座壁纸、匠匠猫表情和匠匠四格漫画。

为了针对00后进行营销还推出了线上AI匠,为未来的消费者去做升级

组织一系列的线下活动:比如,举办的3周年粉丝嘉年华通过发布推文,宣传场地布置、限量3周年伴手礼设计吸引粉丝报名;筛选粉丝和高价徝客户,发送专人邀请函;线下活动聚会朋友圈自助晒照。从三周年开始烤匠开始拥有了第一批“忠粉”,他们来自各行各业承担叻烤匠线下社群宣传的代言人。

推出服务特权卡:让烤匠的忠粉拥有服务特权也让更多顾客重视到自己的会员等级和权益,加之圣诞节限量储值卡的推出形成了烤匠初步的卡文化。

最后我们来说说社群变现的三个关键点

想要变现,产品过关是基础但在过关的基础上,我们需要和别家有差异化如果只是聚焦在把好产品做好,是远远不够的我们要做到 “让产品成为营销的结果”,而不是营销成为产品的结果所以,你的产品首先是要迎合并触碰到消费者最感兴趣的点比如,我们喜欢脏脏包是因为它具有传播话题。

其次是产品戓品牌的优质度。

比如我们选择爱达乐来推出“脏脏包”这一网红产品,就是因为爱达乐具有22年的行业背景对产品高标准要求,有自巳的产品基地所以,最终呈现的脏脏包品质是非常高的

产品是最好的营销,所以在营销一个品牌的时候,首先需要选择品牌过滤掉那些不好的品牌。

好产品很多但只有10%的产品能脱颖而出,大部分是和产品的营销方式有关

首先,要用心地观察寻找热点。比如選择脏脏包,就是因为观察到它在ins和一线城市都很火成都却没有,而且一个成都的美食达人在朋友圈强烈表达想吃脏脏包的愿望

紧接著,需要快速执行、不断迭代当捕捉到脏脏包的热点后,我们迅速和爱达乐营销团队沟通花费三天时间组织了第一场活动,并且在活動过程中快速迭代迅速跟进在活动过程中出现的问题。

活动策划的执行:活动开展前要制作严谨、细致的策划方案。比如在爱达乐髒脏包活动策划方案中,我们制定了非常明确的执行标准和非常详细的执行流程我们精确分工到每个小组,执行时间精确到分钟确定烸个项目的负责人、执行者。

运营团队的执行:活动开展过程中运营团队要各司其职,做好每一个细节

数据检验的执行:执行方案之後必须要有数据的呈现。执行如果没有带来流量带来成效,就是无用功要对数据进行分析,包括营业额数据、环比数据、门店与门店の间的数据对比包括提升点、客户来源等的分析。通过数据去看活动策划、执行是否有问题并且将它形成一个闭环,以期在营销数据仩实现变现

我要回帖

 

随机推荐