后端工程师不会手写 sql,可以接受不? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回技术问题时复制粘贴 AI 生成的内容
chaleaochexist
V2EX    程序员

后端工程师不会手写 sql,可以接受不?

  •  
  •   chaleaochexist 2018-05-28 16:31:15 +08:00 16707 次点击
    这是一个创建于 2695 天前的主题,其中的信息可能已经有所发展或是发生改变。
    select 肯定会写.
    但是建表什么的,insert into 也不会...

    如果没毛病我就不学了,有问题我就补补.想听听大家的看法.
    第 1 条附言    2018-05-29 08:55:15 +08:00
    不是不学,是学过不用就忘了。

    其实 python js java 敲多了,有时候 if else 怎么写都得找找前面的代码。
    也许是我记性差不适合干这行。

    为什么能接受 api 现查不能接受 sql 现查呢?

    BTree hash 索引我知道
    范式设计我也知道,我还知道反范式设计呢。。。
    第 2 条附言    2018-05-31 14:13:36 +08:00
    我现在觉得,还是有必要学一下的

    因为 mybatis 用到的 SQL 文,真的真的很普遍.

    其实我并不排斥学习 SQL -- 无论是半小时还是半天甚至半个月.
    因为学完不用就忘了,所以一直很抵触二次学习.

    由于将来会用到 mybatis,经常使用应该就不会忘了.所以决定学习.
    125 条回复    2018-05-31 12:24:31 +08:00
    1  2  
    xxxy
        1
    xxxy  
       2018-05-28 16:37:01 +08:00   1
    讲道理,有发帖的时间花半个小时大概就能过一遍了
    Linxing
        2
    Linxing  
       2018-05-28 16:51:47 +08:00 via iPhone
    讲真的 就算你不知道怎么写 你也要看得懂吧 也要了解原理 索引啊这些都是基本的
    current
        3
    current  
       2018-05-28 16:54:24 +08:00
    最基本的 crud 总的会吧。。。。
    chaleaochexist
        4
    chaleaochexist  
    OP
       2018-05-28 16:55:51 +08:00
    @Linxing
    能看懂,你可以这么理解,每次我写的时候都要百度一下...
    @xxxy
    能过一遍,过完就忘.
    不常用吧...
    就像算法,每次不都是快找工作了,开始补补.
    平时有几个人能略写快排呢.
    chaleaochexist
        5
    chaleaochexist  
    OP
       2018-05-28 16:56:26 +08:00
    @current 只会 r...
    KgM4gLtF0shViDH3
        6
    KgM4gLtF0shViDH3  
       2018-05-28 16:58:22 +08:00 via iPhone
    肯定不能接受啊,这个写的时候有没有提示
    noli
        7
    noli  
       2018-05-28 16:58:45 +08:00
    讲真,MsSQL, MySQL, PostgreSQL 这么多种 SQL 方言我也不是全懂。
    但是我有工具可以 gen SQL。

    至于微调什么的还是交给专职 DBA 比较好。
    RorschachZZZ
        8
    RorschachZZZ  
       2018-05-28 16:59:16 +08:00
    这就和 1+1=2 一样,有不会的吗。。。。
    phpcxy
        9
    phpcxy  
       2018-05-28 17:16:58 +08:00
    大学老师教的 SQL 语句够我用了~
    tumi9527
        10
    tumi9527  
       2018-05-28 17:24:25 +08:00
    后端这些都是基本的吧
    CoderGeek
        11
    CoderGeek  
       2018-05-28 17:26:32 +08:00
    no。。。
    qq976739120
        12
    qq976739120  
       2018-05-28 17:28:24 +08:00
    现在找工作这么容易了?为啥我面试都问到优化细节...
    zhaishunqi
        13
    zhaishunqi  
       2018-05-28 17:29:58 +08:00
    还是自己会比较好吧.
    因为作为后台的话,你可能会接触到提数脚本的编写.烂点没关系,至少你得自己写出来啊,不用每个都去查吧.
    可能有些比较偏的函数记不住就算了,用的时候知道有去查下就好.
    0044200420
        14
    0044200420  
       2018-05-28 17:31:10 +08:00
    极端情况没网络就完了
    leven87
        15
    leven87  
       2018-05-28 17:31:32 +08:00 via Android
    基本功。
    xxxy
        16
    xxxy  
       2018-05-28 17:36:25 +08:00
    @chaleaochexist 面试前到 leetcode 刷刷就行了
    newtype0092
        17
    newtype0092  
       2018-05-28 17:40:17 +08:00
    @RorschachZZZ 1+1 不应该是 select 'Hello World'; 么?
    cxbig
        18
    cxbig  
       2018-05-28 17:42:49 +08:00
    后端也是分很细的,一般不要求普通 dev 手写 SQL。
    为了便于管理,大多数情况,我们会要求程序员使用 ORM 来处理所有的 CRUD。
    akstrom
        19
    akstrom  
       2018-05-28 17:42:57 +08:00
    这些心态不适合做后端,不管是业务后端还是服务器后端,劝你改行
    iyaozhen
        20
    iyaozhen  
       2018-05-28 17:43:08 +08:00 via Android
    一般建表用工具吧,手写很容易出错吧
    2bbing
        21
    2bbing  
       2018-05-28 17:44:44 +08:00
    我一直以为会 sql 以及相关简单优化和理解是后端开发的必备点。。。
    tjsdtc
        22
    tjsdtc  
       2018-05-28 17:47:44 +08:00
    讲真,好多前端工程工程师都会写
    NSAtools
        23
    NSAtools  
       2018-05-28 17:49:45 +08:00
    讲真,这是基础
    EmdeBoas
        24
    EmdeBoas  
       2018-05-28 17:52:09 +08:00
    ...我们的产品都会...
    maemual
        25
    maemual  
       2018-05-28 17:53:28 +08:00
    大概了解,具体语法细节用的时候再搜就好了。
    UIXX
        26
    UIXX  
       2018-05-28 17:56:57 +08:00
    你可以忘记具体语法,但是你一定要用过,得会用,一些数据库基本引擎原理要懂。
    PS. 如果你要应聘,一定要过一遍。保证能手写。
    2379920898
        27
    2379920898  
       2018-05-28 17:58:42 +08:00
    经常用链式操作。。 原声 SQL 早忘光光了
    yuanfans
        28
    yuanfans  
       2018-05-28 18:04:39 +08:00
    讲道理,有发帖看回帖这个时间,都过完一遍了
    1313213
        29
    1313213  
       2018-05-28 18:13:19 +08:00
    最基本的应该会写吧
    onepunch
        30
    onepunch  
       2018-05-28 18:17:02 +08:00   1
    有句老话叫 “勿在浮沙筑高台” ,一知半解总有你哭的一天
    leotso
        31
    leotso  
       2018-05-28 18:18:57 +08:00 via iPhone
    这应该属于基本功吧……顺便做个调查 有多少人知道递归查询
    mumbler
        32
    mumbler  
       2018-05-28 18:19:45 +08:00   1
    给你个 google 能不能写,能就没事
    karllynn
        33
    karllynn  
       2018-05-28 18:26:32 +08:00
    这不是基本功么。。这么菜鸡当什么后端
    lijsh
        34
    lijsh  
       2018-05-28 18:29:21 +08:00
    我们的测试都是手写 SQL 暴力改数据库创造测试情景的
    SingeeKing
        35
    SingeeKing  
    PRO
       2018-05-28 18:32:28 +08:00
    会写是必须的,到底要不要写是另一码事。

    不要过度依赖 ORM,要是用了小众数据库或者一些特别复杂的操作还是要依托 pureSQL
    laravel     36
    laravel  
       2018-05-28 18:33:59 +08:00
    经常登录 mysql 命令行玩玩就会了,多看看文档
    initialdp
        37
    initialdp  
       2018-05-28 18:36:53 +08:00
    不可接受。
    sunchen
        38
    sunchen  
       2018-05-28 18:47:56 +08:00
    我们运营,测试,产品经理都会
    Raymon111111
        39
    Raymon111111  
       2018-05-28 18:49:43 +08:00
    这个真的是两小时就能学会的东西...
    felinx
        40
    felinx  
       2018-05-28 19:03:30 +08:00
    不收
    nekolr
        41
    nekolr  
       2018-05-28 19:17:24 +08:00 via Android
    基本的 CRUD 要会,这个学习花不了多少时间。剩下复杂的一般也用不到,用到了能借助搜索引擎解决也行,这个慢慢积累。一般的后端这个程度就可以了
    boris1993
        42
    boris1993  
       2018-05-28 19:32:19 +08:00 via Android   2
    我觉得吧,只要用的到,就要学就得至少会用
    我大学学的 C#,出来实习第一份工作干的是 IBM 主机,z/OS 系统,COBOL 语言。编程是公司给教,后面我要兼任管理员,咋办,爬 18 摸文档库啃,现在用户管理权限管理这俩必会的已经熟练了
    然后业务变动改做 Java,但是同样,Java 没怎么写过,框架也是头一次听说,MySQL,Redis,都没见过,咋办?爬教程一点点学,搭框架,写个小玩具,一边写一边学
    然后某银行 DevOps 投标 POC,仗着 Linux 玩得转,铁着头去了,然后发现 Jenkins 之类的,见过没用过更没配过,咋办?还 TM 不是爬教程去学,最后 POC 的要求达到了
    逼逼了这么多,我想说的就是,你既然要搞技术,那就不是说这玩意我能不能不会,而是这玩意有用那我就学一个。技多不压身,谁知道你这技能啥时候就派上用场了,更何况增删改查都是基本操作
    yeepZhang
        43
    yeepZhang  
       2018-05-28 19:50:29 +08:00
    ...这都要纠结发个帖子问...
    nl101531
        44
    nl101531  
       2018-05-28 19:58:07 +08:00 via Android
    作为后端,快排还是需要手撕的啊。。。
    mocurius
        45
    mocurius  
       2018-05-28 19:58:39 +08:00
    @boris1993 #42 说的好,手动点赞。
    mhycy
        46
    mhycy  
       2018-05-28 20:00:11 +08:00
    说白了还是懒
    qiyuey
        47
    qiyuey  
       2018-05-28 20:01:35 +08:00
    反正我是记不住,都是生成的
    ZeoKarl
        48
    ZeoKarl  
       2018-05-28 20:02:48 +08:00 via iPhone
    写两次就会了
    rb6221
        49
    rb6221  
       2018-05-28 20:55:53 +08:00 via Android
    如果工作接触数据库 crud 必须会
    驱动 纯算法 操作系统这类可以不用会吧
    371657110
        50
    371657110  
       2018-05-28 21:05:08 +08:00
    我一个前端都会手写了.
    F281M6Dh8DXpD1g2
        51
    F281M6Dh8DXpD1g2  
       2018-05-28 22:00:13 +08:00   1
    没事,知道自己不会就行了
    反正大部分工程师都不会,但都以为自己会
    pandago
        52
    pandago  
       2018-05-28 22:02:47 +08:00 via iPhone
    要会的
    0x11901
        53
    0x11901  
       2018-05-28 22:11:58 +08:00
    现在工作这么好找了么……
    CFO
        54
    CFO  
       2018-05-28 22:37:53 +08:00 via Android
    我也就只会简单的 crud 加个简单的 join 有的同事写的复杂 sql 我看都看不懂…
    ilylx2008
        55
    ilylx2008  
       2018-05-28 22:50:57 +08:00 via Android
    不可接受
    写代码不考虑 sql 性能的,就像小孩一样永远长不大
    xpresslink
        56
    xpresslink  
       2018-05-28 23:05:01 +08:00
    我不会写代码想找个程序员工作,楼主觉得可接受么?
    dobelee
        57
    dobelee  
       2018-05-28 23:25:46 +08:00 via Android
    sql 句都不,到候你好意思跟人到 sql 化、移、mysql 定位、mysql 高可用、mysql 集群?更提特性繁多的 SQLServer 和 Oracle 等。

    insert into 不用了,就建表的句,是 DDL 最最最基的技能,我大之前就已手打至少 1000 次建表句,我只能,要么你不用它,要么你不用心。

    另外,些篇技能都欠缺,我完全可以定你也不其他基理,如第三式、b 索引、存引擎等相知。

    所以你得好?
    zhangbohun
        58
    zhangbohun  
       2018-05-29 00:48:28 +08:00 via Android
    select 最难
        59
    jiangzhuo  
       2018-05-29 01:09:31 +08:00
    手写红黑树都能接受,别说手写个 select 了。当然是选择原谅他了
    opengps
        60
    opengps  
       2018-05-29 08:17:38 +08:00
    想要写出来高性能的代码,这些都是基础,不然一个数据库故障你用上一周去解决,你说你老大会不会开除你
    FrailLove
        61
    FrailLove  
       2018-05-29 08:29:49 +08:00
    很多 Java 程序几百行才能解决的问题 一个 select 就能搞定 你怕不怕
    chaleaochexist
        62
    chaleaochexist  
    OP
       2018-05-29 08:48:07 +08:00
    @boris1993 不知道老司机开了多少年车,想问一下
    > C#, IBM 主机,z/OS 系统,COBOL 语言。
    还剩下多少?

    ---
    其实我不是没学过,是学过不用就忘了,在学还是忘。。。也许我记性不好?
    为什么 select 会,因为 select 经常用。。。
    2pen
        63
    2pen  
       2018-05-29 08:53:33 +08:00
    drop
    6diyipi
        64
    6diyipi  
       2018-05-29 09:07:06 +08:00
    忘了就网上查一查啊, 你是不是来卖萌的。增删改查那么简单的。
    boris1993
        65
    boris1993  
       2018-05-29 09:07:45 +08:00 via Android
    @chaleaochexist C 井和 COBOL 很久不写,略微手生。z/OS 目前时不时的要处理权限和资源释放问题,目前可以不看屏幕用消息指导同事操作。
    emmm,最早看你的帖子,理解成了根本不会写,而不是时间长不用忘了。我也会忘东西啊,所以手边常备 Google,时不时也会写点东西温习一下
    nbstoner
        66
    nbstoner  
       2018-05-29 09:09:14 +08:00
    有啥不能接受的,你觉得你这样可以,然后让面试官觉得你这样可以。之后的工作中你也用你觉得可以的方法去做好工作。这不就得了
    keikeizhang
        67
    keikeizhang  
       2018-05-29 09:12:34 +08:00
    也许未来工具集越来越多,可能不会 SQL 也没有什么,如果有杠精,想想编程语言的底层是什么。
    chaleaochexist
        68
    chaleaochexist  
    OP
       2018-05-29 09:12:45 +08:00
    @6diyipi 不是卖萌。
    不过我有一个坏习惯就是做决定之前想听听别人的看法。V2 装逼的少,就上来问问。
    tedzhou1221
        69
    tedzhou1221  
       2018-05-29 09:13:06 +08:00
    我觉得起码简单的要会写
    leeyom
        70
    leeyom  
       2018-05-29 09:15:26 +08:00
    不接受
    jptx
        71
    jptx  
       2018-05-29 09:17:08 +08:00
    建表这类的低频率、复杂而且很重要的 SQL 不记得也没关系,直接用工具来建表最安全省事,至于 INSERT INTO 之类的常用 SQL,平时操作数据库时多写几遍就记住了,结构很简单
    hanxiV2EX
        72
    hanxiV2EX  
       2018-05-29 09:17:48 +08:00 via Android
    不用百度,准备一份手册,写的时候看看就行。又不是比速度,临时写也就 5 分钟的事情
    6diyipi
        73
    6diyipi  
       2018-05-29 09:18:02 +08:00
    @chaleaochexist 常用语句用印象笔记记着。最多半小时全部整理的妥妥的。
    niubee1
        74
    niubee1  
       2018-05-29 09:20:52 +08:00
    如果这个学不会我觉得是能力有问题, 接受不能.
    xjr7670
        75
    xjr7670  
       2018-05-29 09:23:49 +08:00
    这都能做后端??为啥我找个工作那么难,问得那么多
    AdamMing
        76
    AdamMing  
       2018-05-29 09:26:16 +08:00
    面试的时候不会问几种引擎的区别嘛。。
    KimJongun
        77
    KimJongun  
       2018-05-29 09:45:55 +08:00
    不推荐 ORM,还是写原声 SQL 吧
    nullen
        78
    nullen  
       2018-05-29 10:02:35 +08:00
    不能接受。
    akinoneko
        79
    akinoneko  
       2018-05-29 10:03:20 +08:00
    我们的测试都会.
    zhaogaz
        80
    zhaogaz  
       2018-05-29 10:06:36 +08:00
    其实我也忘,我跟楼主差不多,哈哈哈哈哈。

    经常写,还是忘。

    上面有人问,sql 递归,递归我也写过,具体到细节现在也忘了,大题思路还是有印象的。哈哈哈哈

    我觉得上面大部分人理解都是有问题的,记住了 /会了 就不会忘。怎么可能,又不是机器人,何况机器人也会坏呢。。。
    arthas2234
        81
    arthas2234  
       2018-05-29 10:07:07 +08:00
    。。不会写 SQL 一些问题你要怎么排查,数据库要怎么优化。要碰到没有 DBA 的公司,数据库都要你设计怎么办。我们运维和产品 SQL 都写的贼 6,别说是后端了
    xsliang
        82
    xsliang  
       2018-05-29 10:18:33 +08:00
    w3school 有一个 SQL 的快速参考
    http://www.w3school.com.cn/sql/sql_quickref.asp
    那里忘了看哪里 当然不包括一些细节
    silentstorm
        83
    silentstorm  
       2018-05-29 10:18:51 +08:00
    嗯,没啥大问题。只要 update,delete 时候 where 语句别忘了写就行
    Lanke0
        84
    Lanke0  
       2018-05-29 10:28:32 +08:00
    我经常忘,需要复习
    salamanderMH
        85
    salamanderMH  
       2018-05-29 10:28:50 +08:00
    不可能吧
    YouXia
        86
    YouXia  
       2018-05-29 10:29:28 +08:00
    工作前 3 年,没写过 SQL。后来做数据库内核开发时候,开始学了点。
    lazydog
        87
    lazydog  
       2018-05-29 10:31:26 +08:00 via Android
    如果没特殊要求的话,黑猫白猫抓到老鼠就是好猫!
    southsala
        88
    southsala  
       2018-05-29 10:52:13 +08:00
    对自己要求不高啊
    hjw45611
        89
    hjw45611  
       2018-05-29 11:00:02 +08:00
    增删查改、嵌套、联表等常用操作都写个例子,放在工作文档里,用到就看一下,怎么也能记住了。
    ytll21
        90
    ytll21  
       2018-05-29 11:01:16 +08:00
    对自己没要求的话,可以不会。
    enhancer
        91
    enhancer  
       2018-05-29 11:04:02 +08:00   1
    如果是做企业级应用开发的话,后端不会写 SQL 几乎无法干活。互联网应用情况可能稍微好一点。比如很普通的财务总账 SQL:

    SELECT AB.subject_code code, AB.subject_name name
    , IFNULL(AB.debit_amount_init, 0) debit_amount_init
    , IFNULL(AB.credit_amount_init, 0) credit_amount_init
    , IFNULL(AB.debit_amount_curr, 0) debit_amount_curr
    , IFNULL(AB.credit_amount_curr, 0) credit_amount_curr
    , IFNULL(C.debit_amount_end, 0) debit_amount_end
    , IFNULL(C.credit_amount_end, 0) credit_amount_end
    , IFNULL(D.debit_amount_total, 0) debit_amount_total
    , IFNULL(D.credit_amount_total, 0) credit_amount_total
    FROM
    (SELECT B.subject_code, B.subject_name
    , A.debit_amount_init, A.credit_amount_init
    , B.debit_amount_curr, B.credit_amount_curr
    FROM
    (SELECT subject_code
    , subject_name
    , SUM(debit_amount) debit_amount_init
    , SUM(credit_amount) credit_amount_init
    FROM accounting_document_item adi, accounting_document ad
    WHERE adi.doc_id = ad.id
    AND date_format(accounting_date, '%Y%m') < CONCAT(@12-YEAR@, @12-MONTH@)
    GROUP BY subject_code, subject_name) A
    RIGHT JOIN
    (SELECT subject_code
    , subject_name
    , SUM(debit_amount) debit_amount_curr
    , SUM(credit_amount) credit_amount_curr
    FROM accounting_document_item adi, accounting_document ad
    WHERE adi.doc_id = ad.id
    AND date_format(accounting_date, '%Y%m') = CONCAT(@12-YEAR@, @12-MONTH@)
    GROUP BY subject_code, subject_name) B
    ON A.subject_code = B.subject_code) AB
    LEFT JOIN
    (SELECT subject_code
    , subject_name
    , SUM(debit_amount) debit_amount_end
    , SUM(credit_amount) credit_amount_end
    FROM accounting_document_item adi, accounting_document ad
    WHERE adi.doc_id = ad.id
    AND date_format(accounting_date, '%Y%m') <= CONCAT(@12-YEAR@, @12-MONTH@)
    GROUP BY subject_code, subject_name) C
    ON AB.subject_code = C.subject_code
    LEFT JOIN
    (SELECT subject_code
    , subject_name
    , SUM(debit_amount) debit_amount_total
    , SUM(credit_amount) credit_amount_total
    FROM accounting_document_item adi, accounting_document ad
    WHERE adi.doc_id = ad.id
    AND date_format(accounting_date, '%Y') = @12-YEAR@
    GROUP BY subject_code, subject_name) D
    ON AB.subject_code = D.subject_code
    guoyuchuan
        92
    guoyuchuan  
       2018-05-29 11:06:35 +08:00
    至少基本的增删查改要会写,是会写,不是记得;
    younfor
        93
    younfor  
       2018-05-29 11:08:34 +08:00
    @FrailLove 怕不怕 。当然怕。从工程的角度来看,都是必须的。我还喜欢写胖代码,胖接口。成吨成吨的写。太可怕了。当然 SQL 你当然也要会。什么索引啊。视图啊,存储过程啊都要会写吧。之前我为了把 echarts 和自己业务 BI 展示合在一起,还专门封装了一遍。就是在写 SQL。太可怕了。
    younfor
        94
    younfor  
       2018-05-29 11:11:29 +08:00
    @enhancer 对。我想说的就是这个。企业应用类工程项目。必须是要会写的。有一次我 left join 10 张表。太可怕了。就为了查库存。
    HaoC12
        95
    HaoC12  
       2018-05-29 11:17:13 +08:00
    熟悉行转列,列转行,仍然找不到好工作。
    cuzfinal
        96
    cuzfinal  
       2018-05-29 11:21:09 +08:00
    测试运维都会手写 SQL。
    Tokin
        97
    Tokin  
       2018-05-29 11:53:10 +08:00
    我一直以为这些简单的 sql 语句学过编程的人都会,工作之后发现并不是这样,很多人都不会写。
    不知道为什么,难道他们学编程的时候,都没涉及到数据库吗?
    大学一些作业不都是什么图书管理系统、学生信息管理系统吗?
    难道数据都写 txt 里了吗。。。。
    ChiangDi
        98
    ChiangDi  
       2018-05-29 11:53:46 +08:00
    不会就百度呀。。。
    fuchaofather
        99
    fuchaofather  
       2018-05-29 12:17:34 +08:00 via Android
    @xxxy 没毛病
    bomb77
        100
    bomb77  
       2018-05-29 12:19:29 +08:00   2
    我记忆现在已经和金鱼差不多了,也动不动就怀疑自己是不是不适合做这行啊。。。
    算了,反正都是面向 Stack Overflow 编程。。。
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1047 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 18:29 PVG 02:29 LAX 11:29 JFK 14:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86