2024年安卓最全从草根到百万年薪程序员的二十年风雨之路,面试高频算法

文末

面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责!

不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在写这篇文章之前,该用什么样的标题,我犹豫不定,草根?百万年薪程序员?会不会被人当成标题党。

二十年来,我所见过的草根程序员很多,优秀的草根程序员也不少。人与人之间的差别其实很小,很多人因为年少不懂事或其它的原因没有考上大学,但并不表示他的智商或能力有问题,如果现在开始学习,又会很犹豫,担心学不会,担心被骗,…

本文记录了我从高中毕业之后的学习和工作经历,希望可以激励打算学习和正在学习的人。只要有兴趣、有决心、有意志,往正确的方向不断积累,一定可以成为优秀的程序员。

文章有点长,如果您是一个真心想学习的人,读完此文不算浪费时间。

1、不快乐的中学时期

我1976年出生于湖南省衡阳市常宁县的农村,没山没水没肉吃,童年时期是很开心的,放牛、捉鱼,偷西瓜,农村小孩子玩过的我都玩过。

初中是乡里的中学,毕业后考入了县的重点高中,高中三年,可能是学习方法和兴趣的原因,成绩一般,1996年参加高考,468分,最低录取线520分,大部分的同学选择了复读,后来基本上考上了大学。

中学期间,我真的不喜欢读书,说是逼着自己学习一点也不过份,特别是写作文,非常痛苦,高考后再也不用考试和写作文,反而解脱了。

2、从五笔打字到Foxpro

我父母是第一批农民工,为了让我们兄弟几个上学,在广东省韶关市的煤山上开过商店,在市区踩三轮车,在火车站广场卖水果,吃尽了苦头,但是我们兄弟都让父母失望了。

大哥是我的偶像,他高中毕业后通过培训班学习了五笔打字,在电脑公司做硬件组装方面的工作。跟大哥学习了两个月后,进入了韶关市的某电脑公司,做组装电脑、安装系统、提货送货等方面的工作,和我一起进去的还有另一个兄弟。

发工资了,每人两百,老板说我很勤奋,加多五十,二百五。那时候酒店服务员的工资大概是五百,打字员的工资四百,电脑公司技术员的工资约六百,我的目标是六百,如果有人给我六百的工资,我将生死相随。

已经忘了是什么原因和场景,我有了学习编程的想法。那时候Foxbase数据库很流行,是大学教材中的内容,在工厂企业应用广泛,用于编写财务、进销存、人事工资等管理系统,用友财务软件也曾用Foxbase编写,Foxpro是Foxbase的升级版,我找到几本书就开始学习,没有任何人指导。

那时候电脑还没普及并且很贵,我白天在公司上班,有时间就看书,晚上父亲送饭到公司,我一直学习到守夜的同事回来才离开,大概学习了半年,我熟悉Foxpro每个函数的用法,还会组建Novell网络,尝试着开发人事档案管理系统。

我没有买Foxbase和Foxpro方面的书,书是大哥和远亲表兄的,他们都有学习Foxpro的想法,但是没有坚持。

3、向广州出发

我认为自己已经精通了Foxpro,但是还缺学历和工作经验。

经人介绍,用1500元从一个走江湖的人手中买个本科毕业证书,至于工作经验实在没办法编,19岁,大学能毕业已经是天才。

1997年3月,带着300元和行李,去广州找大哥(大哥也弄了个本科毕业证书,在一个职业大专学校做老师),安定下来后开始找工作,那时候找工作有两个途径:报纸的招聘广告和南方人才市场的现场招聘会。

广州太大了,骗子也多,我天生愚顿,被中介坑过,公交车上遇扒手,座车被卖猪崽,上错车等都经历过,还不只一次。

有一次去工厂面试,上错了车,去到工厂的时候已是很晚,面试方认为我的身份证与学历证书信息不符,没有录用。面试结束后太晚了,没车回广州,我沿着公路往广州方向走,经过一片田野,有几间茅房,就这么过一夜吧。可能是茅房不太舒服,我继续走,经过一个池塘,池塘边上有间茅屋,心想里面可能有席子和被子,捡了一块泥土扔过去试探一下,里面没人,就这么睡了一晚,我清楚的记得那天晚上天空的星星特别亮。

1997年3月,台湾的陆士企业在花都的分公司招聘Foxpro程序员,面试通过,工资1200,包吃住。非常开心,办公室有空调,两个人睡一个房间,厕所很干净有马桶有纸巾,我成了白领。

4、前往上海滩

大概过了半个月,公司派我去上海分公司,同去的还有两个是财务,男的姓段,我称他为段兄,女的忘了。

上海分公司是做面包的,我的任务是开发进销存系统,大约三个月,同去的女孩子因为工作不认真,错误太多,公司要炒她鱿鱼,我和段兄去向经理讲情,经理没答应,我和段兄一咬牙一跺脚,大家共进退吧,一起辞职回了广州。

在那时候,一份工作对我很重要,怎么一气之下就真的辞职了,那个女孩子不漂亮也不可爱,也没人喜欢她。

在上海的三个月,整天盯着电脑屏幕,我的视力从1.5下降到1.0。

5、再回广州

1997年5月回到广州,20岁,人才市场就像街市,企业摆摊,在墙上挂海报,列出职位要求,求职者逐个摊位逛,如果认为合适就递上简历,然后就聊。

广州怡泽公司,招聘Foxpro程序员,我替上简历,面试方先问了一些Foxpro的知识,还问我会不会UNIX、C语言和Oracle数据库,是什么鬼,没听说过,数据库?除了Foxpro,还有其它的数据库?我不会,对方并不失望,笑着说刚毕业不懂是正常的,不懂没关系,只要好好学习就行。

我被录用了,工资1200,包吃住,先去河源分公司,老板安排司机接我,皇冠3.0,很舒服,我从来没有座过这么高档的车。

广州怡泽的老板曾是河源市建设银行科技科的科长,下海后从硬件销售开始,找了几个同学,为河源市人民银行开发了同城资金清算系统,费用在一百万以上,从此公司快速发展。

和我一起去河源的还有一个兄弟,忘了叫什么,我们看到了一台UNIX主机,没见过不认识,按平时的习惯敲了几下键盘,没反应,一致认为是死机了,正准备关电源重启,大佬说不能这样,这是UNIX系统,要输入指令才能关机。靠,第一次听说关机也要输入指令。

公司分配给我们的任务是用Foxpro开发一个宾馆的点歌和客房系统,项目进行到一个月的时候,另一个兄弟不干了,留下我一个人继续开发,这是我人生的第一个项目。四个月左右完成了开发工作,接下来是培训,宾馆派了二十多个服务员过来上课,广东的妹妹、湖南的妹妹、四川的妹妹、还有其它地方的妹妹,爽啊,理所当然的也传出了一些绯闻。

6、初识C语言

宾馆的项目如期完成了,回到公司开始向前辈们学习,安装SCO
UNIX操作系统要二十多张软盘,安装Oracle数据库要五十多张软盘,能把操作系统和数据库安装好既是技术活,也是体力活。

非常幸运有机会接触到真正的计算机软件技术,大佬们对我也很关照,可是我感觉得压力很大,担心假文凭穿帮,但心技术太差会被轰走,还会被个别同事嘲笑,他们在谈论大学时期的往事的时候,我不敢出声。唉,只要公司能能给我吃住,有没有工资无所谓,一定要学好技术。

为了成为公司技术最好的那个,离开了心爱的妹妹,真是不舍啊,如果上天能让我再选择一次,我一定要和妹妹在一起。

7、开始再学习

曾经让我骄傲和精通的Foxpro数据库原来是那么不堪,我崇拜前辈们的技术和经历,有了新的学习方向。

接下来我被分配在工程部,工资涨到了两千五,跟随大佬汪九钢外出实施项目,调试同城网络、安装操作系统和数据库、安装应用软件、操作培训、系统试运行、系统上线和运维等。在接下来的两年的时间里,出差到云浮、茂名、湛江、阳江等城市,工作很轻松。在这两年里,有足够的时间学习,也遇见过可爱的妹妹。

和大部分初学者的感受一样,C语言容易入门,难以提高,我在学习了一段时间的C语言后,不知道怎么提高,公司的开发的项目技术含量不高,学习价值有限。那时候流行C/S架构,Visual
Basic、Powerbuilder、Delphi是很热门的技术,很容易学习和掌握,用于桌面的开发非常方便,我逐个折腾了一番,每种都会一些,试着开发一个财务软件,还应聘过Powerbuilder程序员,没被录用。

就在我学习遇到瓶颈的时候,同事给我看了一则招聘广告,技术要求是精通UNIX、C语言和Oracle数据库,工资一万,我的天,那时候公司技术水平最高的才四千,我想去面试又不敢,肯定达不到要求。

自那以后,我更专注于C语言的学习,也不知道过了多久,基本上熟悉了UNIX平台下C语言开发的各种基本技术,如多进程、多线程、进程通讯、TCP/IP协议,对C语言操作Oracle数据库也有一些了解。

2000年以前,基本上没有互联网,学习只能看书,为了搞清楚C语言访问Oracle数据库的方法,广州购书中心有关Oracle的书我们全买了,也解决不了问题,学习太艰难。

8、我要创业

1999年8月,22岁,一次偶然的机会,听说表兄的前妻与新疆的一个厅级领导的老婆关系很好,这真是天赐良机,如果能认识当官的,何愁大事不成。

带上自己三万块钱的积蓄和向朋友借到的十万元,向遥远的乌鲁木齐出发。到达乌鲁木齐后,表哥第一时间勾搭了一个离婚的中年大姐,再把新疆财经大学一个学生小妹的裤子给脱了,然后成立了公司,招聘了财务、打字员和五个大专毕业的学生,准备大干一场。

不知道是什么原因,厅长的老婆不搭理我们了,可能他们本来就没有打算搭理我们。

听说某医院要做信息管理系统,请人吃饭,卡啦OK。

听说某政府要政务上网,请人吃饭,卡啦OK。

听说某大学要创办计算机学院,请人吃饭,卡啦OK。

……

那个寒冷的冬天,停靠在八楼的二路汽车,没有给我们带来任何希望,表哥被中年大姐和学生小妹轮番折腾得越来越瘦,在我的努力下,公司卖出了几张盗版光盘。

9、再再回广州

2000年5月,23岁,在熟悉的人才市场,面试了广州市天刚名门电子有限公司(总公司在台湾),试用期工资4500,转正后工资6000。公司的核心产品是UNIX服务器与IBM小型机通讯设备,类似于网卡。

那时候的我,C语言和UNIX相关的技术基本上都懂,也会用,但用得不好,刚入门级别吧。

在这公司,我已经不记得做了些什么工作,这时候段兄(之前和我一起去上海的那位兄弟)从重庆来到了广州,他是会计,在多次面试之后,找到的工作都不理想,工资在1500元左右,我就建议他学习C语言。

那时候我们都没有电脑,段兄每天在宿舍看书,《C语言程序设计》和《UNIX编程基础》,理论知识基本上都懂,但实际操作太少,为了上机操作,下班后我继续在公司呆着,他做好饭给我送过来,利用公司的电脑学习。

大概过了三个月,段兄开始出去找工作,试了几个公司,最后被邦讯技术录用,试用期工资4500,开始工作的时候有些艰难,但也很快适应,人生成功转型。

段兄在邦讯技术工作五年后,回到了老家重庆,进入了重庆联通的技术部门,现在已是技术高管。

段兄是我的第一个学生,啤酒和烧烤就当成学费,我提出把他妹妹介绍给我认识的合理需求,也被他无理拒绝。

2000年8月,从开始学习C语言到进入天刚公司,在这三年里,我基本上是靠自己学习,这搞搞,那搞搞,C语言搞得最多,技术上还算不上合格的程序员,在项目经验方面也很少,也没有实际项目开发经验。各位可能有个疑问,不合格的程序员也能找到工作?原因很简单,就是这个行业比较好混,技术比我差的人多了去。

10、郁闷的离开

在天刚公司不到五个月的时间,我应聘立信下属的子公司诚毅,试用期工资5000,加班另计,一个月基本上可以拿到8000。立信主要从事移动公司业务系统的软件开发,作风低调,但是实力非凡,人才济济。诚毅公司的总经理和两个副总经理、三个项目经理都毕业于清华大学。

进入公司后,我随项目经理在肇庆做移动公司的帐务系统,项目组五人,一个Dephi程序员,四个C程序员(包括项目经理),我的工作内容是做数据统计报表。我认为自己的技术还行,懂的东西不少,但是在实际工作中,用到的技术并没那么多,而我缺乏实际工作经验,缺乏耐心和认真,工作很容易出错,具体表现在统计出来的报表数据不准确。

公司的待遇和福利都很好,但是我越来越不开心,感觉进不上节奏,工作也没有成就,八个月后决定辞职,临走时总经理与我聊天,给了我一些建议:(1)技术是程序员的必须具备的,但不是决定性的,对事务的思考能力更重要,具备思考能力的人才能把工作做好;(2)软件开发工作和学生考试不同,学生如果对某个知识点没有完全掌握,考试也能得分,但是,软件开发不一样,例如数据处理,必须全对,错一条就是零分;(3)清华并不像传说的那样重理轻文,学习文学、历史、哲学可以培养一个人思考问题的能力,充分的把技术发挥出来。

我当时并不理解总经理的话的含义,但是记在心里,也开始按他的建议开始学习,在之后的日子里,如果有时间,我就会读书,从古今中外的名著开始。

我刚查了一下中国现代领导人的学历,清华毕业的远超过北大。

多年来,我只在诚毅公司见过清华大学的本科生。

11、又是一个绝世高手

从诚毅公司离开后,入职了广州运通公司,公司的技术总监是一个绝世高手,以他多年来的技术和经验,把C语言做了封装,形成技术框架,不输于世界上广为流传的boost、POCO等框架,但是这些并没有引起我的重视。

我不喜欢广州运通公司的氛围,两个月后我就离开了。

技术总监的水平虽然很好,但是对员工的影响力有限,如技术规范、技术管理和技术培训等方面毫无作为,对公司做出的贡献非常用限。

12、向北京出发

2001年9月,25岁,广州易宝(在香港创业板上市),公司中标了北京某移动通讯公司的项目,临时组建了二十人团队,从广州开往北京。

项目经理是从邦讯技术出来的,很牛;系统架构师很牛,系统设计师也很牛,项目组长也很牛,好像只有我不太行。

自从接触C语言和Oracle数据库以来,采用C语言访问Oracle数据库是一个技术难题,有两种方法:ProC和OCI。ProC简单易学,但效率不高,程序繁锁;OCI技术难度非常高,没几个人会。

我开始回忆绝世高手们的技术处理方法,参照Oracle提供的示例,尝试封装OCI,成功了,解决了C语言访问数据库的问题。

在接下来的工作中,我又封装了其它常用的功能,给同事们调用。

只有潮水退出,才能发现谁在裸泳。

项目组长好像不太会写程序。

项目经理负责顶层设计,具体哪一层没说,从来不写程序,有一天他心血来潮,写了一个数据通讯的程序,无法运行,叫我帮忙看看,原来项目经理也不会写程序。

项目组二十人,乌合之众,会写程序的就四个人,所谓的系统架构师、系统分析师都是胡扯。在中国,IT行业和其它行业一样,想混进来其实并不难,要混下去也不难,这里混不下去就换个地方,只是行外人不知道IT行业可以这么混,当然,我不鼓励大家混日子。

她姥姥的,当初项目分组的时候,为什么不让我做组长?为什么我的工资还要比组长低?吃了这么久的苍蝇,造反。

我向技术总监反映了情况,公司对项目组做了调整,只留了五个人,新的项目经理虽然技术平平,但人品度量非凡,多年来,我们一直是朋友。

在易宝的三年里,几乎没有工作压力,工资涨到了一万,慢慢的积累技术和经项目经验,还有很多时间读书,记得上班的时候还在听村上春树的《挪威的森林》。

学生时期最讨厌的语文开始变得可爱。

我发现自己会写文章了,为公司编写项目技术方案、投标文件、售后的运维文档。

我还会写打油诗,送给QQ里妹妹,然后就一见钟情,再然后就一ye情,再再然后就上了车,再再再然后就下不了车。

13、再见大佬

2004年7月,27岁,以前在广州怡泽公司的工程部经理汪九钢已成立公司,做银行的小系统,邀我加入,6000的工资,5%的分红。

再次见面的时候,曾经让我佩服的大佬汪九钢的技术已经不值一提,他大我十岁,这些年来,积累了一些人脉资源,一年也能拿到七八十万的项目,而我只关注技术的提升和读书,对人脉资源不敏感。

我是公司的项目经理,负责系统设计和后台开发,还招了三个前端的开发人员,有一个是硕士。我很快完成了后台的开发,但前端进度太慢,招来的人能力太差,没办法,我只好重拾当年的技术,用Dephi开发前端。

说起那个硕士生,有些想法与大家分享一下。我自己没有上大学,但是见过很多大学生,清华大学毕业的本科生是天才;其它大学的本科生不好说,关键还得看人;博士生理论知识很高,动手能力不一定强,但为人谦虚低调;硕士生的问题需要思考,很多大学生本科毕业的时候,发现工作不好找,就再读个硕士,以为学历再高一些就会好找工作,有这种想法的人很不明智,缺乏信心和勇气,花时间提升文凭而不是能力。

公司有一个项目,合同金额是五十万,工作量很少,一个星期完成。然后,大佬把钱收了,再然后就把钱放到自己口袋里了,再再然后客户就不爽了,再再再然后我也不爽了。

这件事情值得思考,这个项目的工作量很少,客户当然知道,为什么预算这么多钱呢?大家爽才是真的爽,大佬不懂这个道理?还是舍不得分钱?不管是哪一种,都不能共谋大事。

后来,与同一客户的第二个项目无法验收,甚至闹到对簿公堂的程度。

14、聊一下大飞机

请大家思考一个问题,军用的战斗机和民用的客机,哪个技术含量更高?

中国具备生产战斗机的能力,型号我不记得了,装备了军队。

中国也生产过客机,型号我也不记得了,飞几次就没了消息。

很多人会疑惑,中国能生产出战斗机,为什么生产不出客机呢?原因很简单,因为客机的技术含量更高。

客机要求更低的油耗和更高的稳定性,战斗机飞十万次,出一次事故,飞行员跳伞,是可以接受的,但是客机不行,如果飞十万次出一次事故,根本没人敢座。

实现软件的功能,普通的程序员也能做到,再提高一些要求:例如百万并发的性能和一年365天不停机的稳定性,能做到这两个指标的才是大师,当然,指标远不止这两个。

总结

本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值