搜索引擎的实现,会用到哪些重要的数据结构 设计实现一个HTTP代理服务器 / web服务器 / FTP服务器/ 设计实现cache缓存web服务器的网页访问记录 把一个文件快速下发到100w个服务器 将微信用户分为两组,组内的微信用户互相不为好友:用并查集 朋友之间的点对点关系用图维护,怎么判断两人是否是朋友:求朋友圈的个数 XX市有多少钢琴调音师傅?(费米问题) 范围1到1000的数,原本有1000个,互不重复,现多出来1个重复的数,怎么找到它 1-100顺序排列,丢失了一个怎么找到(二分法)…
(1)TCP和UDP有什么区别? TCP是传输控制协议,提供的是面向连接的,可靠地字节流服务.使用三次握手建立连接,四次挥手释放连接.UDP是用户数据报协议,传输的是UDP数据报,是无连接的,而且没有超时重发机制. TCP保证数据按序到达,提供流量控制和拥塞控制,在网络拥堵的时候会减慢发送字节数,而UDP不管网络是否拥堵.  TCP是连接的,所以服务是一对一服务,而UDP可以1对1,也可以1对多(多播),也可以多对多. TCP可靠传输的保证: 停止等待协议:每发送完一个分组就停止发送,等待对方确…
指针和引用的区别 extern,const,static,volatile关键字 #define 和const的区别 关于typedef和#define; C++程序中内存使用情况分析(堆和栈的区别) new 与 malloc的异同处,new和delete是如何实现的. C和C++的区别 C++中的重载,重写,重定义(隐藏)的区别: 析构函数一般写成虚函数的原因. 构造函数为什么一般不定义为虚函数 构造函数或者析构函数中调用虚函数会怎样. 析构函数能抛出异常吗 纯虚函数和抽象类 多态的实现条件,…
数据库的索引类型 聚集索引和非聚集索引的区别(叶节点存储内容) 唯一性索引和主码索引的区别 索引的优缺点,什么时候使用索引,什么时候不能使用索引(重点) 索引最左前缀问题 数据库中事务的ACID 数据库隔离性设置不同会出现的问题(脏读.不可重复读.丢失修改.幻读) Mysql有四个隔离级别:未提交读,提交读,可重复读,可串行化. Mysql的优化(高频,索引优化,性能优化) 数据库引擎介绍,innodb和myisam的特点与区别 数据库连接池的作用 讲讲你用过的所有锁,除了互斥锁与读写锁比如自旋…
静态链接库和动态链接库的区别 一个进程可以通过调用waitpid函数来等待它的子进程终止或者停止 Debug和Release的区别 临界区互斥量信号量事件进程互斥与同步 进程有哪几种状态,状态转换图,及导致转换的事件 进程由运行态进入就绪态和阻塞态的原因 进程切换 进程调度算法 死锁 哲学家就餐问题 linux运行时内存映像 通过虚拟地址访问内存的优势 缓存是数据交换的缓冲区(称为Cache) 线程访问某数据 无名管道  FIFO(命名管道)消息队列信号量信号共享内存 1.    静态链接库和动…
链表倒转  leetcode-206 连续子数组最大和问题(和最大的连续子序列的和)   leetcode-53 输出字符串中最长的回文子串长度?  leetcode-5 一个字符串,求最长无重复子串的长度?  leetcode-3 最长递增子序列  leetcode-300 反转一个字符串......(手写代码) leetcode-344 数组中存在一个大于n/2次的数,如何以最优方法查找它?LeetCode 169 \ 229 一个字符串中{}  [ ]  ()匹配问题     LeetCo…
文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 文章是由自己笔试面试腾讯的笔记整理而来,整理的时候又回顾了一遍,中间工作忙断断续续整理了半个月,才完成现在的样子.主要是针对面试的C++后台开发岗位,涵盖了大部分C++相关的可能会被问到的技术点,作为面试技术的参考回头查阅. 文末提供了本文知识点学习资源获取方式,需要的同学自取. 这篇笔记是基础C++知识点总结,没有过多的阐述后台开发的系统架构和分布式后台服务设计相关…
个人从事安全后台开发,当然是linux环境下的了.举几个常见的问题.1. 数据结构基础.比如实现一个最简单的哈希表.2. 操作系统基础.linux进程模型,堆/栈的区别,大概的位置,各往哪个方向生长,各类变量存储在哪些区域:更深一点可能会问动态库与静态库的区别,因为这个在生产环境中常见,动态库映射在进程模型的哪里.其他常见如僵尸进程.线程共享等问题.3. tcp/ip基础.比如常问三次握手,四次挥手,为什么要四次:time_wait状态相关问题:mtu分片问题.现在一般不会问tcp/ip头大小这…
众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过12个小时,也是相当辛苦的.废话不多说,今天我们来聊一聊拼多多的一道后台面试真题,是一道简单的架构类的题目:拼多多有数亿的用户,那么对于某个网页,怎么使用Redis来统计一个网站的用户访问数呢? 使用Hash 哈希是Redis的一种基础数据结构,Redis底层维护的是一个开散列,会把不同的key映射到…
21.volatile关键字: 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:   (1) 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的.   (2) 禁止进行指令重排序.       volatile只提供了保证访问该变量时,每次都是从内存中读取最新值,并不会使用寄存器缓存该值—每次都会从内存中读取.       而对该变量的修改,volatile并不提供原子性的保证.     …