三月中旬一直忙到月底,项目总算告一段落,有点时间写点东西,总结下这段时间面试遇到的问题,以及看到的经典的面试题。

1. 分布式存储与传统的集中式存储优缺点

类型 特点 优点 缺点
集中式存储 存储设备集中在一起管理,由单一存储甚至是
几个大型存储设备,分配存储资源给众多服务器使用,资源隔离细粒度有限。
1. 产品丰富,买来即用。
2. 单一性能可以堆到很高,一荣俱荣。
3. 市场成熟,商业化产品互操性、兼容性佳。
1. 数据处理集中,全局影响,不适合多租户
2. 烟囱式扩展. 硬件捆绑. 成本昂贵
3. 架构复杂,故障排查难度大
4. 资源捆绑. 一损俱损
5. 建设周期长,无法快速供给
分布式存储 软件定义存储,利用X86服务器本地磁盘与高
速网络结合,形成一个大的存储资源池,基于
这个资源池可以衍生多种存储类型,如对象存储,
随着节点规模越大,性能线性水平增长,特别适合大规模数据中心,多租户场景
1. 架构简单、扩展性极强,易于管理,自动化程度高。
2. 数据分散在不同服务器上形成冗余级数据保护。
3. 采用本地IO路径,路径更短,延迟更低。
4. 标准X86服务器和磁盘组成,低成本,采购周期短。
1. 需要高速低延迟网络环境
2. 需要多个以上节点组成
3. 要有一定的运维能力和自动化程度的环境

2. 在高并发的情况下如何提高django的处理能力(增加并发量)

  • 采用nginx做负载


    image
  • 去掉自增主键
    原因很简单,因为自增主键的存在写库存在抢锁, 可以利用全局id生成器提前生成id直接写入数据库

  • 换成异步任务去写库
    如果数据只是存在mysql中做备份,建议使用异步的方式写入库,先把数据写到缓存下发给用户,之后在利用后台异步任务一点点的写入,例如聊天系统可以这样干

  • 换成更高效的框架或者语言
    可以试试tornado, 如果tornado依然无法满足,可以尝试使用golango,毕竟golang是以高并发著称, 而且是编译语言,而且基于它的web框架也很容易上手,性能很可观,例如Iris

3. Linux处理查询编辑XXXX文件的方式

  • find与locate进行查找
  • grep sed awk Linux文本操作三剑客
    grep命令用于查找文件里符合条件的字符串;
    awk是一种处理文本文件的语言,是一个强大的文本分析工具;awk是以列为划分计数的,$0表示所有列,$1表示第一列, $2表示第二列(着重点在于筛选分析重组然后显示)
    sed命令是利用script来处理文本文件(着重点在插入删除替换等编辑动作,通常也和awk常用)。


4.13更新
今天面试了一家公司,岗位是web开发,面试问题很基础但也很有质量,虽然问题都有见到过研究过,但是时间长了,有些忘却,答不到点上,多记录点


4. __init____new__区别

1.__init__用于初始化一个类实例(initializer),比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。第一个参数是self。
2.但是__init__其实不是实例化一个类的时候第一个被调用 的方法。当使用 Persion(name, age) 这样的表达式来实例化一个类时,最先被调用的方法 其实是__new__方法
3.__new__用于控制生成一个新实例的过程constructor)。它是类级别的方法。第一个参数是cls

依照Python官方文档的说法,new方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径。还有就是实现自定义的metaclass。

例子:
class PositiveInteger(int):
    def __new__(cls, value):
        return super(PositiveInteger, cls).__new__(cls, abs(value))

i = PositiveInteger(-3)
print(i)

著名的单例模式:
class BaseController(object):
    _singleton = None
    def __new__(cls, *a, **k):
        if not cls._singleton:
            cls._singleton = object.__new__(cls, *a, **k)
        return cls._singleton

5. 基础问题+之前总结的链接:

  • 老生常谈的迭代器生成器,我竟然遗漏了yield生成器用法,惨,文章里那一张图足矣。

  • 内存管理与垃圾回收,重点在于:变量与对象(对于全局与局部变量的拓展),内存地址(可能涉及到列表元组修改元素带来的内存地址改变以及深浅拷贝),引用计数(垃圾回收机制),del语法。

  • 简述Python的GIL锁,参考我之前写的文章

6. django model的继承方式有哪些

这道题我空白着。惨~ 我之前只知道个抽象继承,但是也不确定要答的是不是这个。
Django 中有三种继承关系:

  1. 通常你只是需要一个父类来保存子类所共有的字段而避免重复的在多个子类中定义,这个父类永远不打算单独使用,这种情况你可以选择 Abstract base classes。
  2. 如果你要继承一个已经存在的 model,并且每个 model 都有其独立的数据表,你可以选择 Multi-table inheritance(应避免使用多表继承,因其即增加了复杂度又提高了性能开销。可以用 OneToOneField 及 ForeignKeys 来代替)。
  3. 如果你只想改变一个 model Python-level 的行为而不修改其字段,你可以选择 Proxy Model。
  • Abstract base classes
# 典型的时间戳,给后面的model重用
# core/models.py
from django.db import models

class TimeStampedModel(models.Model):
    """
    An abstract base class model that provides self-
    updating ``created`` and ``modified`` fields.
    """
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

7. 一些web开发偏向理论的知识

还有一些面向对象的知识,实例方法,属性,多重继承。不展开。总结下来:基础概念要牢固,隔三差五要回顾,可能有新领悟,真正达到温故而知新

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,127评论 2 34
  • 最近这段时间忙忘记了总结自己的所得以及所获了,由于为年后工作座准备今天看了看多线程,那么下面为大家带来我的所感及所...
    fc4e54758f8d阅读 1,171评论 2 14
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,014评论 3 53
  • 最近被朋友问到的问题,总结了一下问题分享出来(鶸的分享通常都是一本正经地胡说八道😂),问题之间基本上没什么关联,也...
    Delpan阅读 1,957评论 16 33
  • 你有没有过特别恐惧的时候,突如其来,不知所措。 我有着一个一直存在的恐惧,我害怕黑暗,害怕夜晚的宁静,以至于对睡觉...
    紫沐語阅读 156评论 0 1