V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drunkdog
V2EX  ›  .NET

如何恶补.net 基础知识?

  •  
  •   drunkdog · 272 天前 · 2170 次点击
    这是一个创建于 272 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主非科班生,工作四五年了只注重于代码实现,没有很深入学习过一些基础概念,面试的时候框架,业务说的不错,但是一提基础知识就死,请各位不吝赐教,怎么在短时间内恶补.net 基础知识,应付面试

    ps:感觉面试好几次每家的侧重点都不一样,感觉基础知识像茫茫大海,每次都被几个知识点问住。这种情况是需要大量刷题吗

    第 1 条附言  ·  272 天前
    补充一下问题:
    问题 1.存储过程有啥缺点?话说我平常用的时候就直接用了,从来没想过有啥缺点,一下子把我问懵了
    问题 2.什么时候用静态?我又懵了,让我临时总结一下我感觉还是蛮难的
    13 条回复    2021-03-17 13:36:48 +08:00
    tikazyq
        1
    tikazyq   272 天前
    跟恶补啥语言没关系,做多了啥语言都一样的套路:数据结构、算法、并发、架构、数据库等等

    要说专门补 .Net 的话,可以多研究一下 DI 、EF 的东西,这些是.Net 的精华,而且.Net 的生态还有.Net Framework 、.Net Core 、.Net Standard

    C# 相比于 Java 真的是香,不信自己试试
    Itoktsnhc
        2
    Itoktsnhc   272 天前
    刷题主要刷算法+数据结构,其他的看 CLR via c#、c# in depth
    但是最新 core 这两本都没有涉及。
    语言相关文档参照 https://docs.microsoft.com/en-us/dotnet/csharp/ 对应的目录 自己查漏补缺了
    另外就是更细节的方向比如 ef 、asp.net core
    drunkdog
        3
    drunkdog   272 天前
    @tikazyq
    @Itoktsnhc 感谢,我意思是有的面试官会问一些我附言里的内容,这种我完全不知道怎么回答。而且感觉基础知识浩如烟海,前面看后面忘。。。感觉很痛苦
    hjahgdthab750
        4
    hjahgdthab750   271 天前
    1,存储过程和 c#无关
    2,不需要保存状态的时候用静态方法不错,或者用静态属性保存只读值
    across
        5
    across   271 天前
    我感觉 CLR via c# 这本书对入门到提高帮助更大。
    wmsljsgd
        6
    wmsljsgd   271 天前
    老.net 来瞎扯几句 基础知识光看书其实提高并不大 更多的需要在实际使用中 使用完了去研究一下原理 然后遇到困惑的再去搜索查找相关书籍 再吸收归纳总结 比如用的一些框架 ABP NOP 之类的 可以去看看他的源码 平时用到的一些库 比如 DI Aop ORM 相关的 都可以看看核心原理 慢慢积累
    forgottencoast
        7
    forgottencoast   271 天前
    你存储过程用过吗?
    你平时都在存储过程里面写什么?
    比如说,你在跟踪一个 Bug,跟到数据库操作部分的代码,发现它调用的时存储过程。
    这不就中断了吗,只能转到数据库那边去看了吗?
    还有很多问题的,如果存储过程里面包含了业务,会造成了业务逻辑处理分散在多个地方,不利于维护。
    有些公司有专职的 DBA,存储过程还自己改不了。

    这些都不是恶补的问题,而是你平时工作的时候没有多思考。
    如果想提高的话,每写一行代码,每做一件事情,都要想想为什么要这样做,有没有更好的办法。
    混日子就随意了。
    你的问题是思考的太少,思考太少看书帮助也不大,平时多思考,带着很多疑惑看书效果最佳。
    drunkdog
        8
    drunkdog   271 天前
    @forgottencoast 说的对,你一说我就想起用存储过程的时候脑子里闪过业务都写存储过程里了,后面咋调试啊,但是后面代码完成了也确实没继续想,导致面试的时候就懵了
    ddup
        9
    ddup   271 天前   ❤️ 1
    CLR via c# 这本书不错。
    faceRollingKB
        10
    faceRollingKB   271 天前   ❤️ 1
    用存储过程最常见的场景就是你需要用到大量的基础数据做计算,拉到内存里又明显的耗时又浪费资源,这时候就要用存储过程

    静态、非静态本质上要看数据的生命周期,例如伴随整个程序生命周期不怎么需要改动的就用静态,如果要实时更新的数据就去库里面取,如果要更新但又不是很频繁的,就用缓存,管理好同步问题就行
    faceRollingKB
        11
    faceRollingKB   271 天前
    缓存这块我描述的有问题,场景有很多
    faceRollingKB
        12
    faceRollingKB   271 天前
    早上脑子有点混乱,要不要用静态看的是数据结构,如果这条数据跟某个实体有关,那就是实体的一部分,反之如果所有实体共享某个数据,就用静态;至于缓存、实时这些概念就按生命周期这个思路去思考一下吧,感觉很主观,说多了也没啥意义
    downstairs
        13
    downstairs   259 天前
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3826 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:46 · PVG 14:46 · LAX 22:46 · JFK 01:46
    ♥ Do have faith in what you're doing.