C++、Java编程学习指南、就业经验

目录

大学选课那些事

就业方向问题(前端or后端)

为什么不建议学python去找工作

如何快速的从GitHub上clone开源代码

C语言和C++的学习路线

一、语言学习

二、基础四大件,比语言重要的多!!!

三、应用与编程实践

C++书籍推荐

Win?Mac?Linux?哪个系统适合编程开发

自学编程开发的误区


  • 大学选课那些事

    • 语言程序设计,好好学,主要自学
    • 数据结构,必学,十分重要
    • 计算机网络,必学尤其是tcpip协议栈,是互联网的基石。
    • 数据库,好好掌握mysql,超级重要
    • 其它,可以选的,python数据分析,PaaS原理,
  • 就业方向问题(前端or后端)

    • 前端入门容易精通难,后端入门难,难学深,需要业务量来训练
    • 后端注重功能性和稳定性
    • 工资待遇
      • 前端后端差不多,岗位需求也差不多,15-30k
      • 发展也差不多,慢慢趋同
    • 兴趣第一,Java或者spring学的多的话,可以搞后端
  • 为什么不建议学python去找工作

    • 写小工具,脚本比较方便
    • python找工作很难,但是在人工智能,机器学习,数据分析,爬虫,web开发,自动化测试,运维的应用挺多
    • 很少用python做后端的大规模项目
    • Java是后端的主要生产力
  • 如何快速的从GitHub上clone开源代码

    • 国内有个类似的代码社区叫码云
    • 1,转接
      • 右上角+号,从GitHub导入仓库,导入GitHub上给出的下载地址,导入成功之后,然后在码云上下载,很快
    • 2,把开源项目重新关联到GitHub上去
      • 看项目路径,找到目录中的隐藏目录.git,打开,打开config文件,用vs打开,url中,把@后的gitee换成github即可
  • C语言和C++的学习路线

    • 什么都能做,是哪种造轮子的语言,后台开发比较多
    • 一、语言学习

      • C语言主要检验能力:指针和内存管理学的怎么样
        • 推荐书籍:《C Primer Plus》,《C和指针》,《C专家编程》
      • C++
        • 可看作是C语言的扩充和延伸,面向对象,封装,继承,多态。泛型,模板,STL库
        • 语言学习尽快,高强度压下来,一鼓作气效果好
    • 二、基础四大件,比语言重要的多!!!

      • 数据结构和算法(决定面试成败):
        • 刷题特别重要!!!!!
        • 弄好之后,记得高强度去刷LeetCode的题目,一定要多刷题目!!!!!!!!!
        • 几大算法:查找,排序,动态规划
        • 字符串,链表,二叉树,堆,栈,队列,哈希。
        • 推荐书籍:《大话数据结构》,如果是Java的话,就去看《算法》,第四版,红色的。找工作必看的《剑指offer》
        • 看完这些书,建议全部的精力去刷题。LeetCode的习题特别重要!!!!!!!!
      • 计算机网络
        • 狭义理解:TCP/IP协议栈,一定要了如指掌,
        • 主要是原理,要记得原理,以及里面的一些具体的协议,比如ARP协议,IP协议,ICMP协议,包括TCP,UDP协议,还有DNS协议,还有HTTP协议和HTTPS协议,
        • 推荐书籍:《TCP/IP详解》,
      • 操作系统
        • 面试时问的频次比较高的问题:进程和线程,还有以此引出的关于并发和多线程的东西,比如原子性,并发,锁等东西,
        • 第二个比较重要的东西:内存,内存的分布,调度,
        • 推荐书籍:《深入理解计算机系统》
      • 设计模式
        • 23种,不需要都熟悉,常见的几个有:单例,工厂,代理,策略模式,包括模板方法,用的多,熟练就行
        • 推荐书籍:《大话设计模式》
    • 三、应用与编程实践

      • 工具,编程环境
        • 建议操作系统:Linux,要学会使用,常见的Linux操作系统指令,要掌握。基本的shell编程要熟悉。
        • 因为shell编程是生产工具,有一些批处理,还有自动化的脚本,还用shell写
        • 推荐书籍:《鸟哥的Linux私房菜》(略厚,略多),可以看《Linux就该这么学》(通俗易懂,)
      • 编译相关的编译工具
        • 最重要的Linux上的编译器GCC,要熟悉
        • 企业级项目开发中,编译的动作叫make,编译的动作都是写在一个叫makefile的文件中,这个文件要自己会写。即整个过程要自己设计自己写。makefile建议一定要学
        • 调试:Linux上,用GDB调试工具,会借助于它进行代码调试。英语好的,可以直接去看GNU官方的关于GCC和GDB的文档,中文版的可以去看第1版的《debugging with gdb》中文版,陈皓的《跟我一起写makefile》
      • Linux的环境编程
        • Linux系统编程
          • 一定要去学Linux系统的一些API的使用,
        • 多线程编程
          • 线程,资源,信号,同步,互斥,锁
        • 网络编程
          • 具体的Linux操作系统上的一些网络编程的API,还包括一些IO函数的一些具体的代码编程,
        • 推荐书籍:《Unix环境高级编程》(必看),《Linux高性能服务器编程》(非常不错),关于多线程的《POSIX多线程程序设计》
  • C++书籍推荐

    • https://www.bilibili.com/video/BV1ob411m76i
    • 《Essential C++》侯捷,讲的基础,非常适合C到C++的过渡。很有收获。值得反复阅读。
    • 《C++primer》中文版,讲的很全,也较基础,值得反复阅读。
      • 建议装个VC环境编译编译
    • 《Effective C++》基础一些,《More Effective C++》侯捷。更难些,主题更高级。
    • 《C++标准程序库》,容器的概念,STL模板库,(因为STL本身就是一个很知名的开源项目),算法,迭代器,配接器,
    • 《深度探索C++对象模型》主要是C++的底层的原理,虚函数表,主要是为了校招,细节的问题都有讲到。
  • Win?Mac?Linux?哪个系统适合编程开发

    • 做文档,Visio画图,是在Windows上做的
    • 写代码,做开发,是在Mac上做的。
    • Linux里面的图形界面不怎么用。用Linux都是通过ssh终端远程连接上去用。
    • 公司的线上环境,生产环境都是用Linux居多。
    • Linux安全,稳定,开源,可定制。
    • 使用方式:在Windows上装了个VMware虚拟机,在虚拟机上装了个Linux,通过XShell或者SecureCRT用ssh的方式远程连接到Linux上。Ubuntu
    • 配置:
      • 8G内存,系统盘固态,是否有显卡对编程影响不大
    • 不推荐装系统,推荐在虚拟机中装Linux。
    • 不推荐黑苹果,·
  • 自学编程开发的误区

    • 不顾基础,盲目追赶时髦技术。
      • 一定要打好基础,搞懂基础概念。看VC++是学不了C++的
    • 语言不分好坏。主要看使用环境。
    • 封闭式的学习,不去交流。
      • 多去找别人帮忙。找人指点。敢于分享,走出去交流。发现自己的不足和问题。
    • 代码总记不住。
      • 反复的练习,不停地思考。代码并不需要记。
      • 需要记得是设计代码的套路,模式。
    • 注意学习编程方式,方法和套路
    • 到处搜集学习资料,但是从来都不看。
      • 资源在精,而不在多。越精越适合学习。
    • 容易忘
      • 找需求驱动。考记录,思考,总结,回顾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值