![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
找工作
姜茶
一个向往美好未来的程序员,有问题可以发我邮箱:mcoder2014@sina.com
展开
-
C++ 实现一个简易的阻塞队列
阻塞队列是多线程中常用的数据结构,对于实现多线程之间的数据交换、同步等有很大作用。 阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。简而言之,阻塞队列是生产者用来存放元素、消费者获取元素的容器。 考虑下,这样一个多线程模型,程序有一个主线程 master 和一些 worker 线程,master 线程负责接收到数据,给 worker 线程分配数据,worker 线程取得一个任务后便可以开始工作,如果没有任务便阻塞住,节约 cpu 资源。 master 线程原创 2020-10-03 15:23:38 · 2164 阅读 · 0 评论 -
后台面试-微服务架构常见问题
微服务架构 背景 传统的WEB应用核心分为业务逻辑、适配器以及API或通过UI访问的WEB界面。业务逻辑定义业务流程、业务规则以及领域实体。适配器包括数据库访问组件、消息组件以及访问接口等。 通常我们把所有的模块写在同一个程序中单体打包,部署在服务器,比如对于 java 应用来说,可以打包成 jar 或者 war ,部署在 Tomcat 容器中。 这种传统方式适合于小型业务,开发快、代码集中、易于...原创 2020-03-22 17:15:00 · 1543 阅读 · 0 评论 -
搞定技术面试 双机热备份
双机热备份 前文我们讲了负载均衡,通过在多个后端服务器前加设一个负载均衡服务器(Load Balancing),对接入的请求分发给后端服务器。可以实现水平扩容,提升总体服务性能的功能;还可以将少量大的宕机后端服务器剔除队列,实现冗余服务器,提高服务稳定性的作用。 这时机智的小伙伴便会提出疑问:万一负载均衡服务器宕机了怎么办? emmm,我们可以在负载均衡服务器前再加一层负载均衡服务器,这样就不用担...原创 2020-03-08 17:04:36 · 724 阅读 · 0 评论 -
搞定技术面试 - 常见架构设计
软件架构模式 Layered Architecture 多层架构 在软件工程中,多层架构是一种客户端/服务器端架构。在该架构中,表现功能、应用处理和数据管理功能物理分离。最常使用的多层架构是三层架构。 多层架构提供了一种模型,使得开发者可以建立方便扩展和复用的应用。通过将应用分成多层,开发者拥有修改或增加一个特定层的选择,而不是重写整个应用。一个三层架构通常由表现层,业务逻辑层和数据存储层组成。 ...原创 2020-03-08 15:55:13 · 1774 阅读 · 0 评论 -
解决技术面试-负载均衡 LoadBalancing
负载均衡 Load balancing 负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地...原创 2020-03-08 15:47:35 · 1135 阅读 · 0 评论 -
搞定技术面试-图算法相关问题(上)
图 图的基本表示 表示一个图有两种标准方法:图邻接表和图的邻接矩阵; 邻接矩阵就是用数组(二维)表示图。具体可以看下面例子。当然,这种情况很容易造成空间浪费,所以很多人进行空间优化,甚至是邻接表的方式。 邻接表咋是数组嵌套链表,这样会比邻接矩阵省不少空间,但对无向图来说,依旧会浪费一半的空间。 在本文中,使用 G=(V,E) 表示一个图,V表示顶点,E表示边。 图的常见概念 顶点=结点; 边...原创 2020-01-05 20:01:03 · 1730 阅读 · 0 评论 -
结合 LeetCode 谈谈哈希表在算法问题上的应用
结合 LeetCode 谈谈哈希表在算法问题上的应用 从 LeetCode 前一百道题中总结了些哈希表(unordered_map)应用于算法问题的场景,在恰当的时候使用哈希表可以大幅提升算法效率,比如:统计字符串中每个字符或单词出现的次数、从一维数组中选择出两个数使之与某数相等。 在开始之前,首先简要的介绍一下哈希表(又称散列表),心急的同学可以跳转到LeetCode部分。 哈希表介绍 哈希...原创 2019-11-17 14:06:44 · 375 阅读 · 0 评论 -
搞定技术面试:那些你可能不知道的 vector 和 array 的区别
搞定技术面试:那些你可能不知道的 vector 和 array 的区别 最近几年,计算机工作越发难找,你必须比其他人了解的更多,才能有更多的机会找到一个更好的工作。 C++ 标准库(STL)是很多C++面试中都会问到的问题,很多很多问题会关于 Vector 的空间分配、动态增长之类的问题,那么你了解 STL 中那些顺序容器的区别与联系吗? 你知道在什么情况选用什么容器吗? 先说结论,一般情况选择 ...原创 2019-11-17 14:01:43 · 503 阅读 · 0 评论