当前位置: 首页 > 编程日记 > 正文

程序猿面试什么最重要?

程序猿面试一直是社区乐于讨论的热门话题。

我自己从06年实习以来。先后经历了4家软件公司。所有是外企。当中有世界500强的通信企业,有从事期权期货交易的欧洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的新兴公司。跨入IT行业以来。我在求职过程中经历过多次面试。近期两年也有过多次面试别人的经验。

我感觉如今到了对这个问题发表自己看法的时候,这篇文章是我站在面试官角度对于程序猿面试问题的一个阶段性反思和经验总结。

目标

相信和不少朋友一样,有了几年工作经验成为Senior后就開始了面试别人的经历。我在最初这个阶段仅仅是依照自己的想象把”找到基础好的程序猿“。”找到算法能力优秀的程序猿“,”找到有Android开发经验的程序猿“等作为面试的目标。

可是,实际的经历告诉我,尤其是按“基础好”,“算法好”这些目标招到的人终于效果并不好。比方,有的面试者基础知识和算法掌握情况不错,进程、线程、内存等概念清晰,主要的Hash,二叉树,高速排序等数据结构和算法也比較熟悉。可是进公司后在实际工作中表现得非常糟糕。后来,我才发现原来是我的面试目标出了问题,我原先的面试方法更像是大学的算法或操作系统期末考试,依照这样的方法让很多并不合适的人通过了面试,同一时候也可能错过了很多合适的人。

后来,我的反思是。从公司的角度讲,面试的根本目的是找到"可以干好工作"的人,而“高学历”。“算法好”。“基础好”。“有经验”这些都是表象而不是根本,它们并不能直接和“工作好”划等号。

方法

目标明白了,但接下来的问题是如果面试者是一个黑盒系统,“工作好”不是直接可观測变量。你所能直接观測的变量是基础、算法、经验、学历、性格、谈吐、年龄等等。

所以。实际上,你仅仅能从“基础好”,“算法好”等能够直接观測的量去猜測“工作好”的概率,这就是一个在“X好“条件下"工作好“的条件概率问题:P(工作好 | X好)。

依据这个模型。面试所应该考察哪些方面就非常明显了,那就是选择那种最具有区分性的方面来考察。比方,考察面试者的体型特征没有太大意义,由于P(工作好|高),P(工作好|矮)。P(工作好|胖)。P(工作好|瘦)的概率都差点儿相同。所以,体型特征不具有区分性,这不是面试所应该关注的内容。

面试官应当结合职位的要求明白哪些因素具有比較好的区分性。比方,假设要招一名技术门槛比較高的3D游戏引擎开发project师。面试者A具有3D游戏引擎开发的经验,可是在基础知识和算法面试方面表现一般;面试者B相反,基础知识和算法面试表现非常好,但没有游戏开发经验。而你仅仅能选择其一。你选谁呢?事实上,这就是两个条件概率问题P(工作好|经验好。基础一般,算法一般)和P(工作好|没经验,基础好,算法好)。这个问题就留给面试官来推断了,就我个人而言,对于技术门槛较高须要技术积累的职位,经验更加说明问题,因此。我更倾向于面试者A。

以下。我再结合自己的经验谈谈对面试中常见方面的看法。

算法

算法是Google和MS等大公司面试所重点考察的内容。我个人非常喜欢算法。以前參加ACM/ICPC拿过北京赛区的13名。

可是,就个人经验来看,我所接触过的绝大多数开发职位而言。算法都不适合作为考察面试者优劣的主要因素。对于普通的非算法性开发职位,考察面试者的算法就相当于考察他打乒乓球好不好一样。与目标“工作好”的相关性太低。就我个人的经验来看,差点儿相同P(工作好|算法好)=50%。也就是算法面试没有太大的区分性。

甚至,另一种非常不好的情况特别多地出如今算法好的面试者身上。我称之为“仅仅磨刀。不砍柴”。什么意思呢?有类人仅仅对什么A*算法。异步编程,JVM类载入机制这样的纯技术问题感兴趣,对实现用户需求毫无兴趣。

这类人看起来有一定的技术能力。可是对公司来讲贡献十分有限。甚至不如技术一般但认真负责的人。所以,一旦遇到面试者算法好。我就特别留意考察会不会是这样的“仅仅磨刀,不砍柴”的人。

另外,尽管我个人不了解Google和MS,但我对于其特别重视考察算法能力的面试策略是持怀疑态度的。即使在这种世界级大公司。算法尽管重要。但能够想象在项目实施过程所遇到的各种各样问题中。算法问题绝大多数时候不会是主要瓶颈。没有到那种须要每一个人都是算法高手的情况。实际上,绝大多数项目真正难点并非一两个算法瓶颈,甚至也不是单点的技术瓶颈。而是系统性的组织、协调、设计、开发问题,有大量的看起来不是那么有技术含量的脏活累活。也有很多问题是因为信息不足,并非技术能力强就能克服这些困难。一个团队最好优势互补。有人算法强,有人业务分析能力强。有人擅长后端服务,有人擅长前端界面,有人聪明。有人踏实,这是最好的。

假设依照“算法好”的单一标准选材,必然会把很多优秀的人才拒之门外。

补充:在很多其它地了解了Google和Facebook等一流公司的面试细节之后,我对这个问题的认识有了一定的改变。实际上这些公司在面试过程中并不全然强调技巧性非常强的算法,而是更加注重编码(Coding)能力,仅仅是在进行编码測试的过程中往往是通过一些简单算法题来进行的。

我对于这种面试方法越来越赞赏,而且也作为了我们公司面试过程中的重点环节,由于编码能力的測试是十分必要的,它有着知识性问题无法代替的作用,假设一个面试者连“推断一个字符串是否是还有一个字符串的子串”这种题目都无法正确并高速地实现,那么基本上能够直接排除了。我这里所强调的是不必考察高难度的算法问题。并不是不重视编码能力測试,请读者不要误解。

基础

基础面试是指考察诸如指针使用、进程线程概念等基础知识的面试,十分类似于大学期末考试题。我以前以为基础面试十分重要,可是如今不这么看了。在工作中基础的确是重要的,可是在面试过程中,它必须具有区分性才有意义,也就是说P(工作好|基础好)的概率要高。那么考察指针使用,进程线程差别这种基础题目才有它的意义。

我的实际经验是。基础面试并不具有非常好的区分性,和算法一样。 差点儿相同P(工作好|基础好) = 50%。同一时候。基础面试是最easy准备的,中国人有长期的应试教育经验。要准备几个把玩指针题目太easy了。

我以前遇到过这种面试者。他的C语言基础和编译、链接等原理掌握得非常好,给我留下了深刻的印象。我给的面试结论是:知识面不宽,仅仅会C语言,但基础非常扎实。建议录用。后来的事情证明了那个结论的前半部分是对的。可是”建议录用“错了。他在实际工作中表现得一塌糊涂,不理解需求,不理解总体架构;同一时候,上班时间不是花在项目上。而是花在阅读诸如《程序猿的自我修养》之类的书籍上。最后,这位同事因为长期“不出活”离开了公司。

基础不是不重要。而是“基础好”不足以说明面试者能干好工作,由于基础是属于局部性知识,而实际工作须要综合性能力,二者有天差地别。C语言、操作系统能考高分,可是不会敲代码的人在大学我们还见得少吗? 软件开发就像盖房子,综合能力是设计和搭骨架,基础知识是码砖。

张小龙原先Foxmail是Delphi开发的。他它不懂C#。你假设要招聘一个开发.NET Emailclient的人,你考察他对CLR掌握得好不好有意义吗? 让张小龙来开发一个C#版的Foxmail真的会有困难吗? 你招一个精通C#但没有Emailclient开发经验的人来真的比张小龙靠谱吗?

我说基础知识不重要,和古人说的“不积洼步无以至千里”是不是矛盾呢?不矛盾。“洼步”与“千里”是一种可累加关系,但再多的“基础知识”都累加不成“综合能力”。学习软件开发要像持续集成一样,一開始就是一个完整的系统,尽管规模不大,问题非常多,但它麻雀虽小五脏俱全,从小系统到大系统,从简单系统到复杂系统逐步演化。

所以,基础好本身不足以说明太多的问题,必须进一步考察综合能力。

对于基础面试表现不好的面试者。假设时间同意也要进一步考察。有的面试者事实上是有能力的,仅仅是没有进行充分的准备。

最理想的状态当然是基础和综合能力俱佳,若不能兼顾,应当综合能力优先。

经验

这里所说的经验不是通过工作了多少年来衡量的,而主要是指面试者的经历。比方,是否完整地实现过一个软件,或作为主要开发人员完毕过一个项目。

经验的重要性在于它能说明一个人的综合能力。从项目的性质、规模和难度,面试官就能够大致推断出面试者的综合能力。假设一个面试者一直在大公司负责一个小模块的开发维护。那么基本能够推断他不具备独立或作为主要开发人员承担一个项目的能力,仅仅适合在还有一家大公司做类似的事情。

对于门槛较高须要长期技术积累的职位。相关经验更显得尤为重要,比方,Linux内核开发。JVM开发,游戏引擎开发,数据库实现,高级UX等。

对于这类职位。没有经验的面试者即使综合素养不错也是须要长时间的学习和积累才干胜任。所以。基本上假设确定了你的职位属于此类。那么相关经验毫无疑问应该成为首选因素,换句话说,P(工作好 | 相关经验好)的概率是很高的。

通过项目经验推断面试者的优劣比通过基础和算法測试更加靠谱,所以,面试过程中面试官应该花比較多的时间听面试者介绍项目经验。并进行深入地探讨交流,了解面试者的知识面、思维能力、表达能力等。同一时候,能够结合项目提一些基础知识和算法的问题,比方,假设面试者做过C++相关的项目。那就能够问他怎样进行内存管理?是否熟悉智能指针?假设面试者的回答不能令人惬意,那么就基本上能够推断他的项目做得不是非常好。

要注意的是,经验也是一个多维度的事物。比方,C++股票交易中间件系统,这就涉及(C++,中间件,股票) 3个维度。

假如面试者A做过C++股票交易client,面试者B做过C的股票交易中间件。从语言角度看。A最匹配。从项目性质看,B最匹配。你怎样选择?这就是在多个维度中,哪个维度更重要的问题,就这个样例而言,我个人更倾向于B,由于我觉得中间件开发经验是主要矛盾,而从C切换到C++并非问题。所以,面试官须要推断哪一种经验是基本的,而哪一种经验是次要的。比方。我们招聘Android应用开发。这个职位的Android技术门槛并不高。它的真正难点在于做出好的用户体验(UX)。所以,假设一个面试者没有Android的经验我们是能够接受的,可是我希望他在UX方面有经验。至少做过其它平台的移动应用开发。

性格

如今,我来谈我觉得最重要的因素:性格。这可能是很多初为面试官的朋友所难以想象的,怎么会是性格最重要呢?说实话,当我意识到这一点时,我自己也非常吃惊!说白了,还是 P(工作好|性格好)的概率最高啊。

我的实际经验是,假设一个人的性格好,他能把工作做好的可能性是最高的,性格好远比基础好、算法好要靠谱。

一个人假设技术上有缺陷,经验上有不足。但性格好,在团队中是非常easy由其它人来补位的。他自己也非常easy逐渐补起来。相反,假设一个人的性格不好,全部的技术优势经验优势都发挥不出来,甚至还会起到负作用,并且性格缺点非常难改变。我一直谈到实际工作所须要的是综合性的能力,这样的综合能力的发挥中性格是至关重要的。项目中不止会遇到技术问题,要涉及沟通、协调,不同的人不同的部门既有合作又有磨擦。怎样处理这些事情都须要一个良好的性格。能够说,在开发团队里让你与众不同的不是你从哪个学校毕业,也不是你过去的经验,而是你的性格。

当然,性格是一个复杂的东西,它包括了非常多的方面,并不是全部方面都是程序猿面试所须要关注的。

我的经验是能够重点考察这些方面:

1) 态度积极还是消极。

有的面试者在谈吐中就会自然给你一种积极上进的感觉。或者你能够在他的经历中发现他积极的因素。这些都不是太难看出来的。相反,有的面试者你能明显感觉到他的消极情绪。积极性在工作中是十分重要的,积极的人能给团队带来朝气,也更易于合作。基本上,假设确定面试者属于态度积极的。他通过我这一关的可能性就会大大添加;相反。假设确定属于态度消极的。即使技术能力不错我也会十分慎重。

2) IQ。我的经验是。整体来看,聪明的人在工作中的表现更为优秀。

在面试中要考察一个人是否聪明并不一定要像Google和MS那样找些专门測试IQ的智力题,事实上,你仅仅须要看他讨论问题是不是非常有逻辑性,思考和说话是不是反应敏捷就能够做出大致的推断。另外,眼睛是人心灵的窗户,一个人聪明与否,眼睛是会说话的。只是,聪明也不全然是长处,比方。当公司或项目遇到困难时,往往是聪明人先跑掉了。坚守的往往是IQ一般的人。

3) 语言表达能力。语言表达能力也是程序猿十分重要的一项素养,它关系到项目中的沟通是否顺畅。面试官能够看看面试者是否能用简明的语言介绍清楚以前做过的项目。是否能抓住要点,是否能考虑到听者的相关背景。

一般来讲,语言表达能力强的人综合能力都不会太差。

4) 是否具实用户意识。

有人说程序猿是做研发的,哪来什么用户?仅仅有销售、市场人员才会和用户打交道。事实上,这是完全然全的错误认识。你写一个模块,甚至一个API。仅仅要有别人用。他就是你的用户。

有的程序猿设计一个模块或是一个软件总是习惯于从使用者的角度来考虑。尽量地方便使用者,这就是一种良好的用户意识。具有良好的用户意识的人更能考虑别人的感受和总体的须要,而不是单纯地从自己和局部来思考问题。当面试者谈及过去的项目经验时。面试官能够经常站在用户的角度对其进行提问,从这个过程中观察其是否具有良好的用户意识。

5) 怎样应对质疑和压力。面试官应该对面试者的回答以及以往项目进行合理的质疑。看看他怎样应对。

以前有一位面试者谈到做游戏登录server的经历,我就问:“假设登录server挂了,怎么办呢”?他说原先尽管没有考虑这个问题。可是能够怎么怎么改进。事实上,大家都理解项目中有各种不完美。这里面原因非常多,仅仅要面对质疑和压力能从容应对努力往好的方向思考解决就能够了,不须要掩饰缺陷。更不应该有情绪。我遇到过有的面试者。一旦你对其项目提出质疑,他立即产生反抗情绪,或不高兴。或不承认有问题。这非常easy一下子看出来他在工作中容不得质疑和批评。这样的人要想合作就非常困难。

6) 个性特点。很多面试者喜欢在简历上写“精通C++/Linux“。这些字眼看得人麻木,假设有人写”喜欢C++/Linux“。我就会有一种眼前一亮的感觉。

“精通”是没有感情色彩的叙述。而“喜欢”包括了面试者的个性,我更愿意看到面试者的个性。我相信对某样东西真正的热情远比你当前对它的掌握程度更为重要。

事实上,N年的经历告诉我们。同一个班的同学,同一个项目组的同事,尽管每天所学的知识,所接触的工作都是同样的。但事实上每一个人的成绩和表现差异是十分明显的。那么,究竟本质的差异是什么呢?事实上,就是每一个人的个性。是个性使得有的人业余时间去打球。有的人业余时间去看书。有的人喜欢Linux,有的人喜欢Mac。一个人在团队中扮演的角色也和他的个性有非常大的关系。面试官应该引导面试者展现自己的个性,并推断其是否故意于团队。

总结

最后总结起来,我的经验是:

1) 面试官的目标是找到”工作好“的人,一定要环绕这个目标来进行面试。假设把面试当成了算法或操作系统期末考试这就走入了误区;

2) 面试过程是通过学历、性格、基础、经验、算法等能够測试的因素去综合推断面试者“工作好”的概率;

3) 在各种因素中,性格 > 经验 > 基础 > 算法。性格是最重要的,假设性格不好,全部技术能力都会大打折扣,并且技术缺陷easy弥补,性格缺陷非常难改变;经验体现了一个人的综合能力,你能够从面试者过去的经历中推断他能从事哪种工作。不能从事哪种工作;基础和算法则主要起到辅助參考的作用,基础好的程序猿一般适应性比較强,学新技术更快,可是切忌单纯从基础来推断一个人的能力。

相关文章:

open的O_DIRECT选项

http://blog.chinaunix.net/uid-223060-id-2127385.html http://blog.csdn.net/hhtang/article/details/6605951 查看磁盘分区: #df -h #tune2fs -l /dev/mapper/VolGroup-lv_root 或者 #dumpe2fs /dev/mapper/VolGroup-lv_root|grep -i "block size"…

2020 年,AI 芯片内存哪家强?

目前多家公司都在开发网络边缘系统的AI芯片,本文作者详细分析AI边缘芯片遇到的问题和挑战,并给出一些新的内存技术解决方案。作者 | Mark LaPedus译者 | 弯月,责编 | 伍杏玲封图 | CSDN下载自视觉中国出品 | CSDN(ID:CSDNnews&…

Excel数字、文本混合列导入SQL Server出现的问题&解决办法

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://annie-out.blogbus.com/logs/60276495.htmlExcel文件:序号 姓名 内部电话 住址 1 小李 1234 …… 2 小王5678……3小张2345(国内长途)…………………………如上结构的…

ARM 位置无关代码(PIC)的分析理解

2019独角兽企业重金招聘Python工程师标准>>> PIC的特点是: 它被加载到任意地址空间都可以正确的执行。其原理是PIC对常量和函数入口地址的操作都是基于PC偏移量的寻址方式。即使程序被移动,但是PC也变化了,而偏移量是不变的&#…

Linux压缩/解压缩

整合资源,仅供自己参考:) TAR 命令名 tar - tar 档案文件管理程序的 GNU 版本。下面将逐个介绍其含义 总览 tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | x -extract -…

为什么校招面试中总被问“线程与进程的区别”?我该如何回答?

作者 | 宇宙之一粟责编 | 徐威龙出品 | AI 科技大本营(rgznai100)进程与线程?(Process vs. Thread?)面试官(正襟危坐中):给我说说“线程”与“进程”吧。我(总…

Linux线程编程

1.编译 undefined reference to pthread_create问题解决 出现如下错误: undefined reference to pthread_create undefined reference to pthread_join 问题原因: pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread…

PHP引擎php.ini 和fastcti优化

1.1 php引擎缓存优化加速1)eaccelerator2)Zend3)xcache1.2 使用tmpfs作为缓存加速的的文件目录[rootLNMP ~]# mount -t tmpfs /dev/shm -o size256m[rootLNMP ~]# mount -t tmpfs /dev/shm/ /tmp/eaccelerator/提示:1、上传图片缩…

从*p++说指针,数组,结构和函数

说明文中*p和*s都是一个东西&#xff0c;不做字面上的统一了。 因为右结合性&#xff0c;*p 其实就是 *(p) 1.strlen的实现 #include <stdio.h> main(){char str[] "Abcde";printf("\n string %s length %d \n",str,str_length(str)); }int str…

8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020

出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;在CVPR 2020上&#xff0c;商汤研究院链接与编译团队、高性能计算团队和北航刘祥龙老师团队合作提出了用于加速卷积神经网络训练过程的INT8训练技术。该工作通过将网络的输入、权重和梯度量化到8比特来加速网络的前向传…

×××作,不知写些什么

博客&#xff0c;老是有写的冲动&#xff0c;不过&#xff0c;没什么韧劲坚持&#xff0c;自己感觉文采一般般啦&#xff0c;有时兴起&#xff0c;挥毫泼墨&#xff0c;蜡笔重唱一番&#xff0c;呵呵&#xff0c;自个爽朗了&#xff0c;呵呵 所以&#xff0c;自己坚持&#xff…

centos7 install 安装mysql

CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件&#xff0c;需要去官网上下载 # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server成功安装之…

AI四巨头Google、DeepMind、Microsoft、Uber深度学习框架大比拼

编者按&#xff1a;Google、Uber、DeepMind和Microsoft这四大科技公司是当前将深度学习研究广泛应用于自身业务的典型代表&#xff0c;跻身全球深度学习研究水平最高的科技公司之列。GPipe、Horovod、TF Replicator和DeepSpeed分别是这四家公司开发应用的深度学习框架&#xff…

转《刘润的数字化家庭》

数字家庭也是我的一大梦想&#xff0c;感谢刘润让我的想法更加丰富和具体。。。 转载自刘润的博客&#xff0c;原文地址&#xff1a;http://blog.run2me.com/runliu/archive/2010/06/12/37082.aspx 1 of 22 &#xff08;大图&#xff09;&#xff1a;用数字化的技术&#xff0c…

自己写的内存池Slabs

看memcached的源码写的&#xff0c;虽然很粗糙&#xff0c;但是基本思想还是有的&#xff0c;自娱自乐&#xff0c;后期不断改进。 #include <stdio.h> #include <stdlib.h> #include <string.h>struct st{void * start;void * end;char ptr[10]; }; struct …

Eclispse Che(2):启动Che服务,进入IDE界面

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50888878 未经博主允许不得转载。 博主地址是&#xff1a;http://blog.csdn.net/freewebsys 1&#xff0c;关于Docker 上次使用Che的时候没有成功创建Project。 其实主要问题就是docker的网络问题。 使用…

使用strace和ltrace跟踪程序调用

ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每个系统调用.1.系统调用的输出对比程序代码&#xff1a;#include <stdio.h> main(){char str[] "Abcde";printf("\n string %s length %d \n",str,str_length(…

NeHe OpenGL第三十三课:TGA文件

NeHe OpenGL第三十三课&#xff1a;TGA文件 加载压缩和未压缩的TGA文件: 在这一课里&#xff0c;你将学会如何加载压缩和为压缩的TGA文件&#xff0c;由于它使用RLE压缩&#xff0c;所以非常的简单&#xff0c;你能很快地熟悉它的。 我见过很多人在游戏开发论坛或其它地方询问…

阿里自动驾驶新突破!达摩院自研ISP图像处理器大幅提升安全性

阿里巴巴达摩院在自动驾驶领域取得新突破&#xff01;4月8日&#xff0c;据记者了解&#xff0c;达摩院已经自主研发出用于车载摄像头的ISP处理器&#xff0c;保障自动驾驶车辆在夜间拥有更好的“视力”&#xff0c;“看”得更清晰&#xff0c;从而大幅提升自动驾驶安全性, 而背…

3月14号作业

<!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title> </head> <body> <br/> <br/> <img src"51job表单_03.gif"</br> <br/> <br/>…

NeHe OpenGL第三十五课:播放AVI

NeHe OpenGL第三十五课&#xff1a;播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢&#xff1f;利用Windows的API把每一帧作为纹理绑定到OpenGL中&#xff0c;虽然很慢&#xff0c;但它的效果不错。你可以试试。 首先我得说我非常喜欢这一章节.Jonathan de Blok使我产生…

为什么TCP的TIME_WAIT状态要保持2MSL?

TIMEWAIT状态也称为 2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime)。它是任何报文段被丢弃前在网络内的最长时间。我们知道这个时间是有限的&#xff0c;因为TCP报文段以IP数据报在网络内传输&#xff0c;而IP数据报则有限制其生…

深度 | 一文读懂“情感计算”在零售中的应用发展

作者 | 黄程韦博士、刘刚、包飞博士、杨现博士、孙皓博士、沈艺博士来源 | 苏宁零售技术研究院零售商需要不断通过创新服务来提高顾客的购物体验&#xff0c;而情感计算在该领域具有独特优势。它在零售行业的应用&#xff0c;主要集中在提升购物体验的服务中。在这个科技逐步改…

mysql基于replication实现最简单的M-S主从复制

2019独角兽企业重金招聘Python工程师标准>>> 什么是replication Replication可以实现数据从一台数据库服务器&#xff08;master&#xff09;复制到一到多台数据库服务器。 默认情况下&#xff0c;属于异步复制&#xff0c;因此无需维持长连接。 通过配置&#xff0…

Linux下高并发socket最大连接数所受的各种限制

修改最大打开文件数 # ulimit -n 修改最大进程数 # ulimit -u ------------------------------------------------------ Linux下高并发socket最大连接数所受的各种限制 转自&#xff1a;http://blog.csdn.net/guowake/article/details/6615728 1、修改用户进程可打开…

linux安全问答(1)

一、如何限制对系统资源的过度使用&#xff1f; &#xff08;1&#xff09;、编辑/etc/security/limits.conf文件&#xff0c;在其中加入或改变下面这些内容&#xff1a; * hard core 0 //禁止创建core文件 * hard rss 5000 //表示除root用户之外&#xff0c;其他用户都只能最多…

快速搭建对话机器人,就用这一招!

作者 | Milvus.io 责编 | 胡巍巍问答系统是自然语言处理领域一个很经典的问题&#xff0c;它用于回答人们以自然语言形式提出的问题&#xff0c;有着广泛的应用。其经典应用场景包括&#xff1a;智能语音交互、在线客服、知识获取、情感类聊天等。常见的分类有&#xff1a;生成…

目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?...

目前流行的源程序版本管理软件和项目管理软件&#xff1a;Microsoft TFS&#xff0c;Github&#xff0c;SVN&#xff0c;Coding 各自的优缺点&#xff1a; Microsoft TFS&#xff1a;优点&#xff1a;任务版上能将需求、项目进度一览无余&#xff0c;对于小团队而言&#xff0c…

孙鑫mfc学习笔记第十四课

第十四课网络的相关知识&#xff0c;网络程序的编写&#xff0c;Socket是连接应用程序与网络驱动程序的桥梁&#xff0c;Socket在应用程序中创建&#xff0c;通过bind与驱动程序建立关系。此后&#xff0c;应用程序送给Socket的数据&#xff0c;由Socket交给驱动程序向网络上发…

Linux环境编译安装Mysql以及补装innodb引擎方法

mysql安装 5.6以后可能会收费&#xff0c;所以选择5.1以下从台湾中山大学镜像下载 1.首先要安装C编译环境 # yum install gcc-c 2.下载解压 # wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz# tar zxvf mysql-5.1.73.tar.gz# cd mysql-5…