那些让你起飞的计算机基础知识 高畅,在谷歌工作,目前研究方向是计算机视觉和机器学习。 他为了准备校招,刷了几百道算法题、研究了半年的LeetCode,凭着自己的努力,成为了当年的Offer收割机,包括字节跳动,快手,Google,百度,腾讯,阿...
自学计算机的建议! 如果真的是0基础入行计算机的话,建议先对这一行增加点背景知识了解,这方面目前最好的读书是吴军老师的《浪潮之巅》,见解非常独到。如果是想要根据时间线来了解一下的话,可以看一下《硅谷百年史》,了解背景知识看这两本书差不多就够了。
万字 Java 知识地图手册! 我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了一段时间很容易迷失。所以我在寻思着能不能写一个学习的地图或者路线,让读者能知道下一步该学什么,自己离大厂的 offer还有多远的距离。 一个人最...
哪本入门级的学习数据库的书最值得推荐? 数据库的确是软件开发者需要掌握的一项“硬技能”,选书学习的时候最好避开那些通篇都在讲“发展史”的书籍,选择偏实践性的,否则花了半天时间看完书也不知道拿数据库怎么办。回想我自己学习数据库的时候,也是读了很多各式各样的书,但...
算法刷题笔记,Java版终于来了!!! 之前分享过一本谷歌大佬整理的leetcode刷题笔记 ,不过那本书里面的代码都是Go语言实现的,然后就有朋友留言说有没有用Java语言实现的leetcode题解答案。 我找了很久,这不,今天终于让找到了Java版l...
五大常用算法之:动态规划算法 一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。...
五大常用算法之:分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最...
程序员必须掌握哪些算法? 上大学的时候,老师一直跟我们强调:“算法才是编程的灵魂”,由此可见算法到底有多重要,那么程序员应该要掌握哪些算法呢? 下面我整理了一些个人觉得比较重要的且需要掌握的算法和数据结构,...
编程学习,这些官网和官方文档你一定要收藏! 毫无疑问,一项技术,最权威的文档一定是它的官方文档,所有的教程、书籍都是直接或者间接在官方相关文档的基础上完成。所以,编程学习,后面最好还是要看官网的。当然,官网大部分都是英文——其实配合一些翻译插件,没有想象中的那么难。
程序员常用的12个技术教程网站! 作为一个每天都泡在电脑面前的程序员来说,选对一些学习的地方、和大家交流的地方就显得尤为重要。 当我们有问题的时候我们想第一时间解决,当我们想学习一门新技术的时候我们可以立马get教程,当我们想要学习资料可以第一时间...
靠这几本算法书,成功拿下大厂offer! 在我还在上大学的时候,老师就跟我们反复强调算法的重要性,大多数的机构和顶尖大厂在面试的时候也会着重考察面试者的算法能力。 所以对于程序员来说,手撕算法能力一定要好好修炼。在这里我整理了一份由易到难的...
《我想进大厂》之分布式事务篇 对于分布式事务,相信所有人都应该很了解,为什么会有分布式事务?无论是数据量导致的分库,还是现在微服务盛行的场景都是他出现的原因。 这一篇内容还是避免不了俗套,主要的范围无非是XA、2PC、3PC、TCC,再最后到S...
Java垃圾回收的知识点都在这里了 Java的垃圾回收老生常谈了,了解Java的GC对我们优化代码,设置参数性能调优有很大的帮助。 特别是面试也经常会问到。 本篇文章一次性帮你总结Java的垃圾回收知识点,主要围绕以下问题展开:...
Java内存模型是个啥? Java内存模型(Java Memory Model,JMM)是Java虚拟机规范定义的,用来屏蔽掉Java程序在各种不同的硬件和操作系统对内存的访问的差异。 常常和Java内存区...