V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
luo1215
V2EX  ›  程序员

[求助] 面试后发现,自己基础很差,应该怎么去补一下基础?

  •  
  •   luo1215 · 2019-08-10 21:34:12 +08:00 · 7134 次点击
    这是一个创建于 1966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    19 届二本计算机专业,目前,在老家国企做 java 开发,一个人写小项目,开发任务也不重,正常上下班。有意换个工作,出去面试了一下,发现自己很多东西只是会用,在原理、底层上一知半解,没有深度,算法和数据结构更是一塌糊涂。 现在,想补一下基础,看一下数据结构、算法、设计模式,打算每天 LeetCode 做一道题,后面再看一下源码。 就想问一下大家,有没有推荐的书或者一些其他的建议、其他的学习方向。 谢谢

    31 条回复    2019-08-12 14:28:29 +08:00
    luo1215
        1
    luo1215  
    OP
       2019-08-10 23:19:16 +08:00
    dalao 们,不要光收藏啊,给点建议吧!
    秋梨膏!_(:зゝ∠)_
    akira
        2
    akira  
       2019-08-10 23:41:08 +08:00   ❤️ 1
    据我所知,一般的小公司都是只要求能干活,
    数据结构、算法、设计模式这些好像都不怎么看重的吧
    code2019
        3
    code2019  
       2019-08-10 23:51:23 +08:00   ❤️ 1
    windyland
        4
    windyland  
       2019-08-10 23:53:07 +08:00 via Android   ❤️ 1
    大学本科的书拿出来翻一翻(逃)
    leishi1313
        5
    leishi1313  
       2019-08-11 00:27:00 +08:00 via Android   ❤️ 3
    你需要的不是补基础,只是针对面试学习罢了,出去面个试都这样,问一堆底层源码之类的,好像做的东西真的有多技术一样。
    Seayon
        6
    Seayon  
       2019-08-11 01:57:16 +08:00   ❤️ 1
    同问,最近在看 《 Java 编程思想》,感觉进度缓慢,不过也的确学到了一些东西
    richangfan
        7
    richangfan  
       2019-08-11 03:22:45 +08:00 via Android   ❤️ 2
    面试造火箭
    shanlan
        8
    shanlan  
       2019-08-11 06:00:46 +08:00 via Android   ❤️ 1
    面试火箭而已。针对性的看看题目,不说掌握所有面试题,但求做到大部分都知道。
    fhsan
        9
    fhsan  
       2019-08-11 06:30:44 +08:00   ❤️ 1
    多看面试题,面试题从基础到高级,能手动实施的自己验证下。
    ww2000e
        10
    ww2000e  
       2019-08-11 07:48:39 +08:00 via Android   ❤️ 1
    面试和工作关系不大。。。单独准备
    anonymousUser123
        11
    anonymousUser123  
       2019-08-11 07:48:55 +08:00   ❤️ 1
    事实上,现在就是面向面经学习。。。。多去牛客看看面经整理
    https://www.bilibili.com/video/av49096951
    jay0726
        12
    jay0726  
       2019-08-11 09:37:39 +08:00   ❤️ 2
    这门课比较适合你
    计算机基础——更适合程序员的编程必备基础知识 https://coding.imooc.com/class/355.html
    Takamine
        13
    Takamine  
       2019-08-11 10:11:14 +08:00 via Android   ❤️ 1
    建议可以看看设计模式。
    自己平时敲代码的时候把用到的东西多点进去看看源码,追一下它的实现。
    至于说算法和 leetcode,emmmm ……告辞。
    luozic
        14
    luozic  
       2019-08-11 10:34:37 +08:00 via iPhone   ❤️ 1
    面试造火箭,工作拧螺丝。 单独准备 工作里面要的一般和面试里面差得老远。
    switch100
        15
    switch100  
       2019-08-11 10:37:58 +08:00   ❤️ 1
    大部分公司的 Java,其实也就 CRUD,没什么高级的
    taogen
        16
    taogen  
       2019-08-11 10:47:07 +08:00 via Android   ❤️ 1
    楼上没人推荐书单吗?我推荐一下这个计算机基础书单,几乎包含所有经典书籍 https://github.com/tagnja/resources-of-learning/blob/master/%23cs-foundations.md
    fbqk2008
        17
    fbqk2008  
       2019-08-11 10:57:07 +08:00   ❤️ 1
    作为过来人,我认为如果你面试上了的,那么你就不要去补基础了,加班加点做好自己手头的工作,比学习什么九年义务教育都强。另外,我需要提醒你,面试你遇到的问题都比较泛,年轻人不要因为这点挫折而想东想西。
    SmartKeyerror
        18
    SmartKeyerror  
       2019-08-11 11:50:08 +08:00   ❤️ 1
    这要分情况吧,如果想打代码打到老,那么补基础确实是一件划得来的事情。但是如果只是想混口饭吃,养家糊口,那我认为还不如把时间花在上层的应用技术上。毕竟 CURD 写算法的机会真的很少,数据结构其它的系统已经完全封装好了,拿过来用就行。数据结构方面推荐 Java 的《算法》第四版,操作系统推荐《现代操作系统》,这两本儿书真的能应付绝大多数的面试场景了。
    linzhehuang
        19
    linzhehuang  
       2019-08-11 11:52:05 +08:00 via Android   ❤️ 2
    编程最难的是什么?
    面试_§:з)))」∠)_
    code2019
        20
    code2019  
       2019-08-11 12:05:12 +08:00 via iPhone   ❤️ 1
    @luo1215 我觉得特别是后台这块,技术栈实在太多了。面试的话就把所有的常见技术栈有一个广度的认识,然后根据自己项目经验,挖掘技术深度。尽量跟着项目牵着面试官走,显示自己的亮点,这才是一个面试之道吧。(仅个人一些见解,希望有帮助)
    luo1215
        21
    luo1215  
    OP
       2019-08-11 12:11:47 +08:00
    @akira #2
    @switch100 #15 的确是个小公司,也搞不懂为什么问算法,但人家问了,我连个思路都想不出来,就想提高一下自己,反正现在工作不忙,也不用加班,就打算多学点东西吧
    luo1215
        22
    luo1215  
    OP
       2019-08-11 12:13:37 +08:00
    @code2019 #3
    @anonymousUser123 #11
    @jay0726 #12
    @taogen #16 感谢分享
    switch100
        23
    switch100  
       2019-08-11 12:29:11 +08:00   ❤️ 1
    @luo1215 看看是什么算法吧,冒泡这些感觉还行,如果非要那么高要求,我会先看看钱有没有到位。

    很多公司想 4k-8k 招个“算法+前端+后端+运维”,我的内心都觉得这公司没救了
    switch100
        24
    switch100  
       2019-08-11 12:30:10 +08:00   ❤️ 1
    @luo1215 考算法还不如考 SQL 语句的运用,真实工作中,哪有这么多算法要搞?小公司的业务没什么大不了的,都是增删查改
    abmin521
        25
    abmin521  
       2019-08-11 13:34:16 +08:00 via Android   ❤️ 1
    怎么这么多说造火箭的??
    有些基础还是很重要的,我推荐看书
    tcp ip http 找个关键字京东搜一下


    日经问题...
    zhji2610
        26
    zhji2610  
       2019-08-11 13:42:18 +08:00   ❤️ 1
    @linzhehuang 哈哈哈,太真实了。
    Mmiracle110
        27
    Mmiracle110  
       2019-08-11 14:09:39 +08:00   ❤️ 1
    虽然总是说,面试造航母,工作拧螺丝。但是这样也能看出一个人的潜力以及学习能力。所以平时多看看书学习,肯定没错。
    linzhehuang
        28
    linzhehuang  
       2019-08-11 16:56:26 +08:00 via Android   ❤️ 5
    1.刷算法题是必要,算法题考究的是一个人解决问题的思维和能力,也曾对此不屑吃了大亏。
    2.知识广度能决定你的深度,计算机的知识都是相互联系的,很多时候没法深入的知识就是因为广度不够。不要以为 JVM 和微机接口就没关系了?
    3.再说知识深度问题,人的时间是有限的,技术又不断更迭。深入理解低层实现就能一通百通,技术再怎么变还是万变不离其宗的。
    4.多看书总是没错的,书虽然没法让人变富(现实问题),但肯定是有用的。
    ------分割线-------
    既然楼主也是 Java 技术栈,分享下自己学习基础的路线,其实这东西很多面经都大同小异:
    Java 部分
    1.Java NIO 编程
    2.Java 并发编程
    3.Java 容器类的实现
    4.Java 异常、反射与注解、泛型
    5.Java 网络编程
    6.Java 虚拟机

    数据库部分
    1.《 MySQL 必知必会》
    2.《 Redis 设计与实现》

    第一次在 v 站认真答贴,祝愿自己秋招顺利
    mmdsun
        29
    mmdsun  
       2019-08-11 17:40:24 +08:00 via Android
    面试造火箭,工作拧螺丝?

    算法推荐《算法 4 》,看源码
    commonsstring
        30
    commonsstring  
       2019-08-11 22:20:31 +08:00
    数据结构和算法,建议刷题。
    基础的话,看书系统学习。
    之后,再看面试题, 琢磨琢磨该怎么回答。
    最后,看招聘 jd。
    razertory
        31
    razertory  
       2019-08-12 14:28:29 +08:00
    最近也在看机会,面了几家,总体感受是从 CPU 底层到大型分布式都会问。算法,编程更是动不动就笔试,白板编程。现在这个行业水涨船高,已经不是听当年前辈说的会几个框架能干活儿的就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2740 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.