四次面试:程序员越来越悲催了?

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | 刘欣

责编 | 伍杏玲

本文经授权转载自码农翻身(ID:coderising)

 

640?wx_fmt=png

静态网页时代

 

张大胖V1.0 毕业了, 去一家公司面试。

“会做网站吗?”

“会,我会用Dreamweaver/FrontPage写HTML页面,不仅是文字,我还能在里边添加图片,JPEG、GIF的都行,比纯文字的漂亮多了。奥,不懂这些高深的技术名词啊, 没事,只要你给我提供材料,我就能做出来,我还知道怎么传到服务器上去,可以用一个叫做cuteFTP的软件。”

“行,那你来吧,月薪3000。”

张大胖欣喜若狂 :哇,这么多钱,我要财了!

 

640?wx_fmt=png

动态网页时代

 

张大胖V2.0 毕业了,去一个公司面试。

“用ASP写过网站吗?”

“写过啊,我用ASP写过在线的聊天室!用application对象来存储聊天记录,用session保存当前登录的用户信息。”

“聊天记录不保存到数据库吗?”

“没有,一般来说,参与聊天的人能看到过去一段时间的聊天记录就可以了,所以就直接放到内存中了,这样速度很快。”

“那大家都在说话,岂不就冲突了?”

“奥,ASP的那个application对象是可以加锁的。”

“用户端是浏览器,怎么实现刷新啊?”

“这个不难,加上一个refresh tag 就行, <meta http-equiv="refresh" content="3; url=xxxxx">  , 像这样每隔3秒就刷新了。”

“嗯,看来有实践经验,我们公司就缺你这样的人才,来吧,月薪5000。”

张大胖:“好多钱!再攒几年就可以买房了!”

 

640?wx_fmt=png

21世纪初

 

张大胖V3.0 毕业了,去一家公司面试。

“讲讲MVC是怎么回事?”

“MVC是Model-View-Controller的简称,实现了Web网站各个模块的职责分离......”

“说说EJB的生命周期,如何管理事务的,在WebLogic中部署都需要哪些部署文件......”

“你都用过哪些设计模式啊,在白板上画个类图,详细地讲讲。”

“讲讲Java 集合类。”

“AJAX的原理是什么?jQuery都有哪些选择器?”

“数据库的事务是怎么回事?有哪些隔离级别?”

“好了,什么时候能上班?月薪8000。”

张大胖:“还行, 北京房价一平米五六千,还是有希望的。”

 

640?wx_fmt=png

现在

 

张大胖V4.0 毕业了,去一家公司面试。

“JDK的源码看过没有, 先说说HashMap的实现原理吧!”

“JVM类加载的过程是什么?Java的内存模型是什么样的?JVM的垃圾回收算法有哪些?讲讲Java 锁的实现原理。”

“比较一下select、poll、epoll 的优缺点。”

“TCP和UDP有什么区别, 为什么TCP要三次握手,四次挥手?TCP如何控制阻塞?HTTP的短连接和长连接是什么意思?”

“Spring的AOP是怎么实现的?ASM是怎么操作字节码的?”

“volatile 是怎么回事?CAS呢?ABA问题怎么解决?”

“线程池是怎么回事?有哪些参数可以设置?”

“说说MySQL 的InnoDB索引的实现原理。如何有效地利用索引?MVCC是怎么回事?数据库的读写分离,表的垂直和水平拆分怎么做?缓存和数据库的一致性怎么处理?”

“讲解CAP理论, 最终一致性,BASE的原理。”

“用通俗的语言讲解一下Spring Cloud。”

张大胖被面得头晕眼花, 最后得到了一个消息:“你先回去吧,有消息会通知你的。”

 

640?wx_fmt=png

写在最后

 

程序员是越来越悲催了?不见得。

时代在变,技术在变, IT行业对程序员的要求是越来越高,现在的程序员需要学习的东西更多了, 确实是更加辛苦了,当然,能力也更强了。

将来会发展到什么程度呢?欢迎留言,说说你的看法。

作者简介:刘欣,前IBM架构师,近20年从业经验,「码农翻身」公众号作者,畅销书《码农翻身》作者,用故事讲解技术是拿手好戏。 拨开技术迷雾,轻松理解技术本质,从「码农翻身」开始。

快速挑战Python全栈工程师:

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

【END】

640?wx_fmt=jpeg

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

640?wx_fmt=jpeg

 热 文 推 荐 

☞ 亚马逊中国挂了!华为 2018 研发支出超苹果;苹果设计核心元老离职 | 极客头条

2019 Go 开发者路线图,请收下这份指南!

阿里 P9 级面试官是如何 360° 无死角考察候选人的?

☞真の硬核粉丝!小学生也参加杨超越杯,作品优秀!

☞ 阿里半跪过,任正非差点跳楼,京东被骗光钱:成年人的生活哪有容易二字?

☞ 回报率29%! 大神用情感分析创建一个比特币交易算法, 原来交易玩的是心理战

☞ 硬核粉丝 | 清华双胞胎“YCY Dance Now”杀进超越杯编程大赛决赛

☞ 异构计算=未来?一文带你秒懂3大主流异构

☞ 她说:为啥程序员都特想要机械键盘?这答案我服!


 

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"


 
你点的每个“在看”,我都认真当成了喜欢
展开阅读全文

5年程序员悲催的生活

01-20

毕业五年多了。非计算机系毕业,但是喜欢编程,做了程序员。和女朋友谈了几年后,12年10月份结婚。工作还算不错,工资也还算不错。12年底买了车,打算13年底买房。一切看起来都向着不错的方向发展,至少将会有老婆有小孩有房有车,也一直很相信生活会不错的生活着。rnrn我旁边的同事,比我早两年毕业,本地人,拆迁分了几套房子(这个城市房价1.5W+)。13年6月结婚,有多房有车。看起来生活也会很不错的样子。rnrn13年8月,公司一个项目要求是不计任何代价的完成,他算是项目担当,我算是技术负责。于是各种加班,作为it公司来说这个很正常。大家都是圈内人,知道不计任何代价的含义,也知道加班的程度。rnrn11月份,我旁边的同事离婚。现在他还没有恢复过来,不明白为什么她老婆怎么就和别人跑了。rnrn而我,也不知道怎么去描述,作为一个程序员,应该很容易可以知道手机里面的一些短信或者QQ聊天内容之类。现在天天在闹离婚,我不知道我还能坚持多久。过年去老婆家和她父母说下吧,毕竟和她在一起那么久。我不知道应该怎么去处理这个事情,现在弄的心力憔悴,上个星期天刚刚从医院抓了600多块钱的中药。rnrn一个这样的项目,身体不在像二十四五岁那样能吃的消,感情好像也不在像那个时候那么单纯。我一直在想是不是我们做程序做久了,让我的一些判断和处事能力下降太多而不适应现在的社会?哎。 希望过年时能和她父母沟通好,觉得不再能承担第二次婚姻或者第二次感情。我从来没有怀疑过我自己的能力,但是现在越来越不相信自己了。rnrn哎。一个我认识的女的,做了别人很多年的三。现在有房有车,今天刚刚打电话给我说她今天刚刚新定了一辆宝马X5。 不知道这个世道是怎么了,我天天加班累的半死,身体也出问题,就为挣些破钱,却留不住自己的老婆,而有些人天天什么事情也不做,整天对我说人生来就是为了享受生活,而可以随便又换了X5。rnrn哎,如果这段婚姻结束了,真想和我父亲后面去做农民工,一年挣个6w块钱带回家,娶个老婆生个小孩做留守儿童算了。 rnrn哎。不知道未来如何。真的。 论坛

最近半年的面试经历,不是杯具是悲催

05-24

打算换工作的意愿已经很久了,但是直到年后才开始真正的提上日程,看着水源里大部分人,面试两天就能拿到4个offer,我感觉我的春天就要来了,本着早死早超生的态度,一过年,我就开始投简历。rn 投简历的过程比面试还要费心费力,首先不能投太多,面试太多了安排不过来,其次不能投太差,公司规模不超过100人的公司基本先pass掉,再次还得看口碑,在网上看看这个公司的口碑如何,如果最终能确认这个公司的职位能给多少money是最好不过,money太少的公司,显然不适合楼主这么高素质的人,所以必须pass掉。rn rn 本着丈母娘挑女婿的态度,楼主开始了悲催的面试过程。rnrn 面试的第一家公司叫X豆网,这家公司据说要上市了,在网上查的该职位的价格还比较合适,楼主接到面试电话就开始准备,鉴于他们招聘的职位是开发网络产品,楼主拿着 windows网络编程,tcp/IP协议猛啃了三天,期待能一举成功。rn 该公司的位置不算偏僻,但具体坐落的位置并不好找,楼主围着一个垃圾场转了3圈,最终在一个保安的指引下,才找到这家公司。公司内部窗明几净,像是刚装修的,楼主在前台那坐了一会,然后一个人力的MM就把我带到会议室。rn 会议室一面门,两面墙,一面玻璃墙,透过玻璃墙望过去,就是该公司的办公环境。正对面的是一个很PP的MM。当时的天气还冷,MM穿着连裤袜,短牛仔裙,黑色大波浪下面盖着的波涛汹涌,脸上的妆容画得十分精致。 论坛

qt 多点触控(之前发错区了,悲催)

11-02

最近在研究qt在arm板子上的多点触控(主要之后项目需要使用多点技术来操作图片),但多次尝试后都没有好的结果(板子确定支持多点,驱动应该也支持)。下面是我的测试代码:rn[code=C/C++][/code]//multipoint.hrn#ifndef MULTIPOINT_Hrn#define MULTIPOINT_Hrnrn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rnrnclass multipoint : public QWidgetrnrn Q_OBJECTrnpublic:rn multipoint(QWidget *parent = 0);rn ~multipoint();rnpublic slots:rnvoid ClickBtn();rnprotected:rn virtual bool event(QEvent *event);rnprivate:rn void InitWindow(int w, int h);rnprivate:rn QList points;rn QPushButton *btn;rn QTextEdit *txtedit;rn;rn#endif // MULTIPOINT_Hrn[code=C/C++][/code]#include "multipoint.h"rn#include rnrnmultipoint::multipoint(QWidget *parent)rn : QWidget(parent)rnrnInitWindow(600, 480);rnrnmultipoint::~multipoint()rnrnrnvoid multipoint::InitWindow(int w, int h)rnrnthis->resize(w, h);rn//this->setMouseTracking(true);rnthis->setAttribute(Qt::WA_AcceptTouchEvents);rnthis->setWindowTitle("running");rnbtn = new QPushButton("click", this);rnbtn->setGeometry(QRect(100, 100, 100, 50));rntxtedit = new QTextEdit(this);rntxtedit->setGeometry(QRect(0, 0, 100, 50));rnconnect(btn, SIGNAL(clicked()), this, SLOT(ClickBtn()));rnrnvoid multipoint::ClickBtn()rnrnQMessageBox::information(this, "tip", "click");rnrnrnbool multipoint::event(QEvent *event)rnrn switch(event->type())rn rn case QEvent::MouseButtonPress:rn txtedit->setText("press");rn break;rn case QEvent::MouseButtonRelease:rn txtedit->setText("release");rn break;rn case QEvent::MouseMove:rn rnQMouseEvent *mEvent = (QMouseEvent *)event;rnQPoint pos = mEvent->pos();rnint x = pos.x();rnint y = pos.y();rnthis->setWindowTitle(QString::number(x) + ", " + QString::number(y));rn break;rn rn case QEvent::TouchBegin:rn case QEvent::TouchUpdate:rn case QEvent::TouchEnd:rn rn QMessageBox::information(0, "tip", "touch");rn QTouchEvent *touchEvent = static_cast(event);rn points = touchEvent->touchPoints();rn this->setWindowTitle(QString::number(points[0].pos().x()) + ", " + QString::number(points[0].pos().y()));rn event->accept();rn break;rnrn default:rn break;rn rnreturn QWidget::event(event);rnrn我的问题是:rn①、我的代码在功能实现上是否存在问题?我一直无法捕获到touch事件,其他事件是可以的。rn②、假如我的板子只支持单点,那么我是否还是能捕获到touch事件?rn网上关于qt多点触控的资料不是很多,好像也有人无法捕获到touch事件,如果有前辈之前有过实际研究,rn请给些经验,谢谢了 论坛

悲催,遇上这样的主机商

09-23

xujlrn2011-9-20 18:34:28 rn数据库使用情况: rnmsxml3.dll 错误 '80072ee2'rnrnThe operation timed outrnrn/inc-freehost-function/FreeHostFunction.asp,行 918rnrnxujlrn2011-9-21 8:09:30 rn数据库使用情况: rn已用数据库空间: 数据库放置的目录设置不正确:E:\Program Files\MySQL\MySQL Server 5.0\data解决办法: 您需要在管理区,数据库设置中,修改这个这个正确这个数据库目录.这个目录必须和数据库的真正安装的目录完全一致.就可以解决.另外,如果这个数据库目录完全正确,但是还出现这个提示信息,就有可能是这个数据库没有开通成功导致的.您可以在管理区,在自助管理数据库管理中,选择这个数据库,然后选择,在同一台服务器转移数据库.就可以重开这个数据库.超出上限! 库上限:100 Mrnxujlrn2011-9-21 13:35:17 rn易网主机没售后客服了吗??rnxujlrn2011-9-21 18:32:35 rn工作人员 (scl...),你没上班吗。。。盼星星,盼月亮呢rn工作人员 (scl...)rn2011-9-22 2:47:29 rn处理完成,谢谢合作.rnxujlrn2011-9-22 8:18:43 rn哎,老大,让我说你什么好,数据库都被清空了,好不容易搜集的资料全没了,你们有没有备份的??rnxujlrn2011-9-22 8:27:05 rn那个新的数据库服务器上显示有17个表,但是列表里显示没有数据表,,我想应该是你们把数据库文件搬到了另一台服务器上导致不兼容了,如果解决不了,请把那个我的数据库文件发给我。。rnxujlrn2011-9-22 10:52:10 rnscl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,scl 快点出现,rnxujlrn2011-9-22 18:37:42 rnscl你上班了没,感觉就你一个售后客服。rnxujlrn2011-9-23 8:08:23 rn我靠,4天了,都没人解决,没事瞎搬数据,导数据库难道不会吗rnxujlrn2011-9-23 8:16:15 rn虽说一分钱一分货,但是这种不理人的服务态度怎么叫客户放心买你们更高级的产品。rnxujlrn2011-9-23 12:12:23 rn真是操蛋,前台客服忽悠人,售后客服不理人,别假惺惺的换个处理中的标记,昨天也是处理中。rnrnrnrn4天时间了,,居然不解决。。。。后悔自己没备份啊,,真是叫天天不应,叫地地不灵 论坛

接着悲催,帮帮小弟吧

07-25

[code=C/C++]/*rn*单循环链表的基本操作(带头结点)rn*/rn#includern#includernrn struct nodernrn int data;rn struct node *next;rn;rnrnstruct node *temp;rn//初始化链表rnstruct node *initList_link()rnrn rn struct node *head;rnrn head=(struct node *)malloc(sizeof(struct node));rn if(NULL==head)rn rn exit(-1);rn rn head->next=head;rn rn return head;rnrn//添加结点rnvoid add(struct node *head,struct node *pCurrent)rnrn pCurrent->next=head->next;rn head->next=pCurrent;rnrn//向链表中添加结点rnvoid add_node(struct node *head,struct node *pCurrent)rnrn add(head,pCurrent);rnrn//删除结点 返回被删的上一个结点rnstruct node *delet(struct node *p,struct node *pCurrent)////????????????rn rn rn temp=p->next; //找到要删除的值并保存在temp中rn p->next=pCurrent->next;rn //pCurrent->next=p;rn return pCurrent->next;rnrnrnrn//从链表中删除某结点 与data数值相同的rnvoid delet_node(struct node *head,int data)///////////删不掉第一个结点的值,求完善rnrn rn struct node *p;rnrn temp=head->next;rn //delet the headrn /*if(data==temp->data)rn rn p=delet(head,temp);rn free(head);rn temp=p;rn */rn while(temp!=head)rn rn if(data==temp->next->data)//rn rn p=delet(temp,temp->next);rn free(temp);rn temp=p;rn rn temp=temp->next;rn rn rnrnrn//修改链表中结点与data值相同的数据rnvoid change_node(struct node *head,int data,int newValue)rnrn temp=head->next;rnrn while(temp!=head)rn rn if(data==temp->data)rn rn temp->data=newValue;rn rn temp=temp->next;rn rn rnrn//删除整个链表rnvoid delet_list(struct node *head)rnrn rn temp=head->next;rnrn while(temp!=head)rn rn delet(temp,temp->next);rn free(temp);rn temp=head->next;printf("you are stupid!\n");rn rn free(head);rn head=NULL;rn printf("删除成功!\n"); //////////// 执行不到 rnrnvoid print_list(struct node *head)rnrn temp=head->next;rnrn while(temp!=head)rn rn printf("%d ",temp->data);rn temp=temp->next;rn rn printf("\n");rnrnrnvoid function()rnrn struct node *head=NULL;rn struct node *temp=NULL;rn int index=10;rnrn printf("初始化链表\n");rn head=initList_link();rn printf("打印该循环链表:");rn print_list(head);rnrn printf("向链表中连续插入%d个元素\n",index);rn while(index)rn rn temp=(struct node *)malloc(sizeof(struct node));rn temp->data=index--;rn add_node(head,temp);//向链表中添加结点rn rn printf("打印循环链表:");rn print_list(head);rnrn printf("\n\n删除数据为1的结点\n");rn delet_node(head,1);rn printf("打印循环链表:");rn print_list(head);rnrn printf("\n\n修改数据为4的结点 新值为18\n");rn change_node(head,4,18);rn printf("打印循环链表");rn print_list(head);rnrn printf("\n\n删除整个链表\n");rn //delet_list(head);rnrnrnint main()rnrn function();rnrn return 0;rnrn[/code] 论坛

80后悲催的人生(原创)

01-02

写这篇文章,其实就是一时兴起,工作了第一年写过一次,不过只描述了一部分内容,发布在论坛中,承蒙各位抬爱,也得到百来位网友的支持,非常感谢!经历了6年的工作,我的社会经历丰富了许多,所以这次我想从生活的各个方面和热点问题展开叙述。rn 这篇文章共有30多个社会热点问题,描述我本人在这些问题的上思考和总结,仅代表个人观点。开篇我先介绍下本人的情况,正宗85后,工作6年,存款负数(信用卡透支),老婆没娶,女朋友没有,二三线城市一名IT男,简称屌丝。一说到屌丝,大家可能会联想到屌丝一般会逆袭的,对,屌丝是会逆袭,我是一名逆袭失败的屌丝,突然一阵苦逼样。 rn rn 一、我的编程之路--幼稚的大一,年轻的时光rnrn 在多年前高考的时候,我也已经想到我会走上这条路。但是我没有多想,因为那时候的我感觉还是很幼稚。懂的很少,只知道每天活着的任务是读书。现在刚出来,走向职场,才发现我懂的了太少。rn 高考后,没出意外的来到了三流的专科学校。那时候的我,很发奋,想一定要学到知识,然后回到本科跟高中的同学在同一个层次。来到专科之后,我心理总是有一个心结,很难打开。rn 大一那年,那我印象很深的一次。在平常学习,一样的时间,上完课。我都是跑到网吧(因为那时候学校是禁止带电脑到学校的,而且那时候也开始接触编程如C)。坐在偏僻的角落,怕同学看到,因为被看到了,同学之间一定会传来传去,我想能安静的学习。我带着刚上完课的书。开启电脑,马上开始了我的学习。但是那时候网吧人好多,大部分是大一的,所以我都不能做在我自己熟悉的那台电脑上。只能每次来,都是自己再去下载新的软件,还好,网吧的速度还是比较快的。弄好这些要半个小时。rn 一次,网吧的管理员问我怎么把网页弄到服务器上,我根据我的经验,如实的告诉了他,他也很感激。然后问我怎么带本书在网吧上做编程呢,我说,我也没办法,学校不允许自带电脑,我只能在网吧学习。但是那时候我一个月的网费都要花上一百多。还好我家里人给我生活费是六百,不够的话,还可以向家里人要,我一个月买书rn也买了快一百来快。在这方面的支出就达到了二百。有时也能拮据,还好我每年都会拿奖学金,。rn 还记的一次,班级组织滑冰,那时候是因为圣诞节,是刚上完课那会。但是我在上课的时候,发现了一些不理解的内容,需要去弄清,所以要去网吧。但是宿舍里十个人,去了九个,只有我没有去,同学拉我去。我就说谎,我想打游戏,我不想去。我都是走在他们后面,看着他们走远了,我就自己偷偷的溜进网吧。然后,偷偷的算好时间,等他们走之前,离开网吧。 rn 大一的时候,大家相处的不错,有时,下课回宿舍的路上,我都在想,我在上课进行操作没有做出来,很是郁闷,但是没地方再让我去实践了,网吧也不行,因为那软件太大了,下载要非常的久。 跟同学走着,同学也看出我很郁闷一直不说话。然后问我,怎么了,又被那个程序弄的?我很烦的说,没有啊!然后大家都没吭声。呵呵!有他们的问候,才不至于我很无聊。真的,也很感谢他们。rn 在这一年的时间,我都很少跟高中的同学有所往来,只是跟一些很要好的同学在QQ上聊聊。有时候,同学要聚会,我都没去,因为我怕丢脸,我是专科,我们有差距。每每想到这里,我都很恨我自己,也很恨社会,没有因才施教。这就是我,很幼稚的活了这一年。rnrn 论坛

没有更多推荐了,返回首页