若干有用的文章,乱序版本。会经常性修改.
高性能服务器编程经验
Linux高性能服务器编程清晰PDF+源码
动态规划
https://github.com/wind-liang/leetcode/blob/master/leetcode-152-Maximum-Product-Subarray.md
剑指offer算法题,在线编程
https://www.nowcoder.com/ta/coding-interviews?query=&asc=true&order=&page=1
一个算法题
https://www.jianshu.com/p/7a9ea6ece2af
一个爬虫项目
https://github.com/liangzai90/wechat-spider
01背包问题公关
http://www.wutianqi.com/blog/539.html
http://www.wutianqi.com/blog/535.html
https://www.cnblogs.com/cn19901203/archive/2012/03/30/2426124.html
https://www.cnblogs.com/jiangjun/archive/2012/05/08/2489590.html
一个第三方的网站,有不少公司的笔试题
https://ac.nowcoder.com/discuss/239121?type=2&order=3&pos=38&page=0
https://www.nowcoder.com/ta/2018test
若干不错的排序算法整理,可以看一看的
https://www.cnblogs.com/gousheng/tag/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/
面试相关###
https://www.nowcoder.com/tutorial/93/8ba2828006dd42879f3a9029eabde9f1
https://www.jianshu.com/p/dd16e698d0c3
https://blog.csdn.net/qq_33373173/article/details/81320228
网易,网易
https://www.nowcoder.com/ta/2019test?page=1
http://www.wutianqi.com/sfzt.html
openresty 中协程、lua 虚拟机的原理
nginx 源码的理解,讲讲各阶段如何处理
select、epoll 的区别,在使用和性能上有什么区别,当只有一个 tcp 客户端时,哪种机制效率更高,有没有看过实现的源码
进程、线程区别
两个进程如何共享 socket、子进程调用 execve 时如何共享 socket
说说系统调用的实现原理,参数怎么传
对 TCP 的了解,除了基本的建立连接、收发数据、关闭连接,说说 TCP 其他还有哪些奇奇怪怪的特性
如何设计 DNS 服务器,DNS 中各记录的区别,A、AAA、NS、CNAME
pthread 库中各同步互斥技术的实现原理,有没有看过源码
** 虽然答不出来,但也不用怀疑自己的能力,生活继续 **
左程云《程序员代码面试指南》
https://github.com/flx413/Coding-Interview-Guide
https://github.com/CyberSpaceWang/Algorithm_Interview
https://github.com/younglionwell/coding-interview-guide
狗剩的美丽家园
2019网易笔试题C++--丰收
题目描述
又到了丰收的季节,恰好小易去牛牛的果园里游玩。 牛牛常说他多整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。 牛牛觉得问题太简单了,所以希望你来替他回答。
输入描述:
第一行一个数n(1<=n<=10^5) 第二行n个数ai(1<=ai<=1000),表示从左往右数第i堆有多少苹果 第三行一个数m(1<=m<=10^5),表示有m次询问 第四行m个数qi,表示小易希望知道第qi个苹果属于哪一堆。
输出描述:
m行,第i行输出第qi个苹果属于哪一堆。
输入例子1:
5
2 7 3 4 9
3
1 25 11
输出例子1:
1
5
3
该题的解题思路:求累加和,在累加和中查找,如果采用暴力查找只能通过30%的测试用例,时间复杂度太高,查找的时候可以使用二分查找!
代码:
复制代码
1 //2018年8月11日15:55:16-丰收-采用二分查找就可以了-但是要注意边界条件
2
3 #include
4 using namespace std;
5
6 int main() {
7 int n;
8 cin >> n;
9 int a[n];
10 for (int i = 0; i < n; ++i) {
11 cin >> a[i];
12 }
13 int m;
14 cin >> m;
15 int q[m];
16 for (int i = 0; i < m; ++i) {
17 cin >> q[i];
18 }
19
20 int sum[n];
21 int res[m];
22 sum[0] = a[0];
23 for (int i = 1; i < n; ++i) {
24 sum[i] = sum[i - 1] + a[i];
25 }
26 for (int i = 0; i < m; ++i) {
27 int j = 0, k = n - 1;
28 while (j < k) {
29 int mid = (j + k) / 2;
30 if (q[i] > sum[mid]) {
31 j = mid + 1;
32 } else{
33 k = mid;
34 }
35 }
36 res[i] = k + 1;
37 }
38
39 //输出
40 for(int i = 0; i < m; ++i) {
41 cout << res[i] << endl;
42 }
43 return 0;
44 }
用过 Linux Bash 里的哪些命令, 分别用它们干嘛?
介绍一下自己
觉得自己基础知识掌握怎么样
平时一般会用到哪些数据结构?
链表和数组相比, 有什么优劣?
如何判断两个无环单链表有没有交叉点
如何判断两个有环单链表有没有交叉点
如何判断一个单链表有没有环, 并找出入环点
TCP 和 UDP 有什么区别?
描述一下 TCP 四次挥手的过程中
TCP 有哪些状态
TCP 的 LISTEN 状态是什么
TCP 的 CLOSE_WAIT 状态是什么
建立一个 socket 连接要经过哪些步骤
常见的 HTTP 状态码有哪些
301和302有什么区别
504和500有什么区别
HTTPS 和 HTTP 有什么区别
写一个算法题: 手写快排
谈一谈你对微服务架构的理解
大体思路"微服务本质是人员组织架构演进与关注点分离"
问经历
为什么要考虑出来看看呢?
金句:"现在自己的技术成长有点碰到瓶颈,加上一直对您公司钦慕有加☺️""
现在公司的主营业务是什么?(这块往技术上问了很多,感觉是想考察我解释复杂问题的能力)
现在带人吗?report 层级是怎样的?
对自己这几年的经历满意吗?
觉得自己有什么缺点?
碰到过什么很挫败的事情吗?
未来的职业规划是怎样的?
看机会的时候,主要考虑的是待遇、平台、人员还是什么其他因素?
现在的待遇如何
有什么想问我的
//第三个参数是C++11中的lambda表达式,见链接http://www.devbean.net/2012/05/cpp11-lambda/
//关于***== s.end()http://blog.csdn.net/learnhard/article/details/5692104
//关于make_shared看此链接http://blog.sina.com.cn/s/blog_4fcd1ea30100v6ew.html
//make_shared,为什么要用它、什么时候用它http://blog.csdn.net/coolmeme/article/details/43405155