您的位置:首页 > 其它

IT之路的总结

2016-07-27 17:48 239 查看
首先自我介绍一下,网络ID:网络人VS灰鸽子,在校大三学生,专业是:电气工程及其自动化(国家电网,电站方向),第二专业是基于Linux的嵌入式开发,接触IT行业18个月,在这期间去过三家IT公司实习。还有一个月CSDN成功开博一年。感谢CSDN这个平台,感谢CSDN网友对我的支持。大四准备回学校进修,放慢生活节奏。下面我对的IT道路做一个简要的总结。

2014年12月份一次偶然的机会,我接触了IT行业,我才认识到有C语言,单片机这个东西。是是我大学第一次进入实验室,也是我人生中的一次蜕变。经过半个月的学习,51单片机基本能够玩转,C语言了解了一点皮毛,计算机二级也轻松拿下91分。
2015年2月开始接触STM32,至今我还清晰得记得原子哥的视频。经过一个月的学习,开发板的基本属性和配置有了充分的了解。
2015年4月开始接触ARM9,到目前为止我是我们学校第一个在实验室接触ARM9开发板的人,(当时我听到别人说的是ARM非常的难学,这是典型的道听途说,三人成虎。别人都能够制造我们为什么不能学,别人都能够写Linux操作系统,为什么我们去使用还那么费劲,我总结的是一个心灵上的恐惧。一句很经典的话是:“难者不会,会者不难”,到现在我得体会也是这样,很多事情即使很困难,什么都不懂;但是你依然去做,你就会寻找各种办法去理解它,掌握它,然后不知不觉就懂了。)我去借开发板的时候,老师对我说:“那个太难了,不适合你学习”,还有一个老师对我说:“学习Linux是需要天赋的”,这些话真的很伤自尊的,(现在想起来全是瞎扯淡)我鼓起勇气还是把开发板借下来了。
经过自己的不懈努力,移植好BootLoader,操作系统,根文件系统。这里我得申明一下:这个是一个漫长的过程,千万不要心急,不要只充当了一个“别人的搬运工”,如果这一步你能够理解到位(拿到一块新的板子或这芯片能够移植或者适当修改,或者裁剪内核),你绝称得上半个高手了。接着就是写驱动程序和应用程序了,反正学的东西是很多,具体细节我博文有讲解。到此自己也算是进入IT行业这个门槛了,

上面谈到的知识主要用到C,ASM程序语言,Linux操作系统相关的知识,学会看英文芯片手册(必须要看英文的,很多新型的sensor都是英文的datasheet,不会的可以慢慢学)。

相信大家也会遇到同样的一个问题,同学或者朋友经常会问你:
1.C++比C高级; 
2.你还在学C别人都搞JAVA,C# ;
3.你是程序员,帮我修下电脑 ; 
4.你是程序员,来帮我给电脑装下系统 ;
曾经别人问我这些问题,我会这样回答:
1~2.
Microsoft 的windos系统大部分是C写的;
google的android系统是C写的 ;
apple的ios系统是C写的 ;
3~4.
我是写代码的。这些事情修电脑干的事情;即使你帮他装好了系统,他用几天就会说,怎么还是这么卡,你装的是没得别人修电脑的装的好,早知道我就去修电脑那儿装了;个别人还嚷嚷你装的不是正版系统,我是想说一句你给我讲讲正版的盗版区别。

现在我的回答是:
1~2.
对啊,C++比C都多了两个+号能不高级吗?C#都把C++后面的+号重叠在一起那就更厉害了,做JAVA,C++,C#的人确实厉害,C#,JAVA都有对象,但是经常找不到对象。
3~4.
完全不懂,万一把那儿弄坏了更麻烦。

学习构建自己的网站我花了半个月的时间,也是零基础开始一步一步学,HTML5+CSS+JS能够搭建WEB前端,这个真心不难,大家空余时间可以自行尝试,保存一个别人博客的模板,一行一行代码去分析,相信你很快就会成为
这方面的大牛,这个WEB前端是我见过最简单的程序语言,没有之一。

python语言跟js其实是差不多的,都是脚本解释性语言,不需要编译,并且简单实用。python学习比较有意思,有C基础的朋友上手就非常快,不超过一周时间,这里可以给大家分享python爬虫的应用。
第一、有些网站的数据,图片,一些信息都可以用python来爬取;
第二、个别博客访问量是刷新一次就加一,这个python轻松取代人工;
第三、有些做的好点的网站,第二种机制是不能够实现,那么久可以采取构造一个header不停的发出request和open来达到目的;
第四、在做的好一点的网站就需要构造ip和cookies信息;
第五、做的再好一点的网站,我们可以采取抓包来分析
学会上面五条,可以实现各大博客通刷访问量,空间点赞,网页链接投票(微信这个没有测试成功)。

我拿CSDN来举例吧,有可能部分已经修复了。
CSDN漏洞分析:
1.模拟浏览器访问;(这个不强求,没有几个网站能够做到)
2.通过模拟点赞按钮,构造header;(以修复)
3.通过request,open来打开blog;(部分修复,还是有BUG)
4.通过代理IP实现以上操作;(CSDN采取封杀IP,这个没有实际用处,随便爬取一个代理IP网站,每天更新速度很快,爬取出IP和port放在数组中,这个请求不成功直接换另外一个IP)
5.CSDN漏洞时间差,利用时间间隔来控制恶意访问;(未修复)

一些常用的攻击手段:
1.采用dos攻击;(屡试不爽)
2.植入脚本;(这个前提你必须获得对方的管理员权限,有点难度。)
3.抓包分析;(局域网一台电脑想服务器请求数据,服务端返回数据给这个电脑,是要经过网关的,可以以阻塞的方式监听所以经过这个网关的所有数据包,分析包数据量大)

上面在windos下抓包可以利用Fiddler4或者自己利用C#写一个抓包的工具(代码我就不分享了)
Linux下介绍一些简单的知识点。写个脚本来ping 某个网段,查找出那些电脑是alive,然后可以根据arp找出mac地址,最后就用tcpdump和netsata配合来找出端口,并且分析路由表,最后就是抓包了。抓包的思想是这样的:你向服务器请求一个数据,服务器经过多条路由到达服务器,服务器经过对数据的处理然后返回数据,经过多条路由然后到达你的网关和IP,这里我其实应该明白网关内所有alive的电脑都可以接受这个数据,只是数据中加了一些判断指定了ip地址,我们可以设计程序采用阻塞的方式接受经过这个网关的所有数据,然后来分析。

需要的基础知识:理解http,ip,tcp/udp协议 request/respone; 了解服务器架构和接口; 理解ip,mac,dns,port,网关和路由的含义。 Linux相关的知识必须得熟悉,拿到一个Log要学会分析 包括cookies header host等

前面我提到我在大学期间去过三家公司分别为A,B,C,都是以实习生的身份进去的。C公司给我留下了深刻的影响,也是决定我进修的原因。

面试注意一些技巧:
1. 气质拿出来,千万别虚面试人员;
2.当问到你专业问题回答不上时,千万别说不知道。你可以跟面试官讲类似或者有一点关联的知识,面试官有可能也不太懂; 
3.忽悠归忽悠,自身还是得有一定的实力,我们需要的是把自身的优点快速暴露给面试官,;
4.面试的开始,说几句英文来介绍一下,(要短,说话非常流利,目的只是震对方,不需要面试者听懂,这个仅仅是个人的想法

)然后在使用中文介绍;

在C公司面试我的首先是人事部的老李,这个只是了解基本的情况;接着是技术总监黄工,聊得非常好,因为都是做技术的嘛,最后面试的是boss,老总就得了解你的性格(华为是有性格测试的),然后给你讲解公司的情况,吹嘘公司的各种好。技术总监下面就是项目负责人了 ,有底层软件研发,应用层软件研发,硬件等。
黄工的死对头是底层软件的负责人老谢,两个人私下较劲。这些情况我是不不知道的,我们技术总监黄工安把我安排在老谢手底下做事(用心很良苦,听我慢慢到来)。老谢是做软件的(其实多数是做硬件的),还有两个人是做软件的,我也是做软件的,并且只会做软件。
我到公司待了接近一周的时间,老谢都没有给我安排事情做,我和一个同事吃饭的时候他给说:他来的时候被老谢晾晒了一个月,这让我很纳闷。后来了解到:一个团队的负责人手上必须掌握一些资源,是别人不能替代的,就拿我们这个项目的软件来说,如果老谢把这个项目软件代码教给我们来做,久而久之他这个项目负责人也就到头了,因为他显得不是那么重要了。技术总监最看不惯老谢也就是这些地方了,所以黄工安排人员都把做软件的往这个部分插,就是为了激起内部矛盾。私下吃饭的时候同事再三叮嘱我千万不要站错了队。
又经过了一周,前两周都是安排的是你给熟悉熟悉这个芯片手册,这就是领导对下属常用的套路,就是模糊概念,让你熟悉而又不给你安排事情。我就想了一个办法:”反正我是实习,你不是我给我写代码的机会吗?我就利用上班时间学习自己的东西,该几点下班我就几点下班,这样下去黄工肯定不干啊。
果不其然,过了几天黄工把老谢找去谈话,内容就是说你怎么让你手底下的人在上班时间干别的事情呢?。老谢回来也就找我谈话了:说我被黄工批评了,你上班时间不能做其他的。我问他,一直看芯片手册能够看出一个项目,你让我调试然后又不给我调试工具,电路图和资料。
下来后老谢给了我部分资料,涉及到核心知识的资料还是没有给我,像内部协议之类的等。我就一边瞎折腾一边做自己的,有时候老谢也来给我讲讲一些东西。也时不时的来催一下进度。第二天老谢又来催进度,同样给我讲解一些知识点,讲完我就冒火了。和昨天说的恰恰相反,这也就意味着我一天的功夫是白费。我就和老谢吵了一架老谢也不能开除我,我是站在黄工这一对的。吃过午饭过后,老谢就真的来给我讲解用法和一些协议之类的。后来我的项目也就轻松完成。
我敢和老谢吵架是有原因的:第一、手低做软件的人都不服他,第二、他都成家立业了,他玩不起,而我只是出来实习,第三、这件事情本身就是他的错,我也有错,就是不应该顶撞领导,第四、我是站在技术总监黄工这一队的。

大学期间申请过一个发明创造性的专利,是基于电路的设计,具体细节在博文中有讲解。其中充满了很多曲折故事,申请专的时候老师讲的非常的明白,专利是你的,老师会给你奖金,学校还会给你奖励4000元,然后老师们,领导们就开始挂名字了。后来专利申请下来了,也授权了。才发现一切都是套路,专利是属于学校的,指导老师也获得了相应的利润,我去找学校问这个钱的事情,学校也不给我钱,我把学生手册上订的规定拿去给领导看,反正领导各种忽悠就是没得钱,最后年级大会上发了个表彰证书并给予300元就此了事。最后明白一个道理:“你给领导讲规章制度,他会给讲实际情况;你给领导讲实际情况,他会拿规章制度说事”,很多事情姜还是老的辣。

现在来谈谈CSDN吧,这个平台目前在天朝是我见过做的最好的IT社交平台,各个部门的负责人也挺负责的。下面谈谈CSDN有哪些优点:
第一、界面做的非常的好,使用简单方便,给IT圈提供了一个很好的社交平台;
第二、下载资源很方便,对资源的管理也也非常明确,不像其他平台全是广告,虚假下载链接;
第三、博客和极客头条非常方便各位网友们分享自己的技术和心得,同时也网友们查找资料的最佳场所;

缺点:
第一、推送到首页的部分文章写得确实不咋地,深度、质量、排版都不是很好,对文章的质量没有严格的把控;(个人觉得深度不是必然,能够把简答的事情讲清楚就好)
第二、在技术回答上经常会被管理员删除,说你回答的话题与此无关,我只想问一句你到底懂技术不;(弄得现在很少人去上面回答问题了)
第三、申请什么的是非常困难的,说什么文章没有深度,访问量不够等;(管理员心中的深度就是让别人看不懂,让自己都看不懂那就特深了 )

建议:开放一个意见提出端口,对文章的质量有严格的把控,希望CSDN越做越好。以上问题只是个人一些粗陋看法,希望大家在评论区指正。

我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我也迷茫过,技术牛逼能够走到最前端吗?除非那种牛上天的。

弹指之间,大学生活以过多半。剩下的大四生活我想好好珍惜,准备考个驾照;泡一泡图书馆(还没有去过图书馆,本人学渣一枚);然后就是准备参加校招应聘了。孟子曰:天降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行指乱其所为,所以动心忍性,曾益其所不能。希望各位朋友能够在自己的事业道路上一帆风顺,在人生道路上像潮水一般波涛汹涌。








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: