热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

闲话程序员求职要求

2016年8月29日当初想的太简单~~~哎写在前面从3月份开始各大互联网类、游戏类、软件类等公司开始招暑期实习,9月份正式招聘,面临众多的工作选择和技术方向,我们不免有些眼花缭乱啊

2016年8月29日  当初想的太简单~~~ 哎


写在前面

从3月份开始各大互联网类、游戏类、软件类等公司开始招暑期实习,9月份正式招聘,面临众多的工作选择和技术方向,我们不免有些眼花缭乱啊,在我们选择和准备应聘之前,应该理性分析下,有哪些技术方向,工作岗位,这些岗位的要求如何。 (ps:当然这些,只是作为应届生求职者的一些浅薄看法,毕竟现在没有行业的经验,也没有练得倚天屠龙之技,找工作只靠本身的编程技能。仅供分享,欢迎留言交流)
关于程序员 相信大部分计算机相关专业的学生(无论是研究生还是本科),毕业后第一份工作都是传说中的程序员,或者叫软件工程师之类,因此在这里,重点说下程序员相关职位吧,毕竟目前来看,我也是重点准备该方向的就业的。程序员只是个很笼统的概念,由于专业化分工和编程技术商业化竞争的激烈,程序员被分成“各大门派“,这些门派既可以从编程语言上面划分,也可以从从事的业务领域方向划分,或者技术领域划分。
从编程语言看程序员——你是哪一派 只要你是程序员,你打算以后从事编程工作,你就必须至少精通一种编程语言,这门语言就是你的工具,业务上一些需求、你的想法和你的技术水平都是由这门工具实现的。主流的编程语言分为以下几个门派,之所以说以下的语言是主流,主要是因为它们不仅仅是一门语言,它们是一个平台,拥有强大的编程库,成熟的业务解决方案,稳定的版本支持,当然它们的程序员门徒也是众多的。 因此符合的有Java,NET(C#),C/C++, PHP四种,四种语言各有侧重,Java和PHP主要专攻Web领域开发(B/S架构的),C/C++主要是客户端软件和服务器类软件开发,NET(C#)面向客户端和WEB开发皆可,唯一的不足是不能跨平台和开源免费。以下表1,主要是对这些语言本身需要掌握的技术要求和就业方向,简短的归纳下。排名不分先后: 编程语言技术要求表格
表1    编程语言技术要求简单分析 从中可以看出,语言本身语法或许各有千秋,互有长短,但是由于语言设计理念和面向的问题不一样,导致实际生产中,语言解决的问题有很大的不同,基本上一门语言都只负责某一方向的开发,没有出现一门语言一统天下的情况,因此很多时候,为了解决复杂问题,掌握和学习多种语言,是必须的,这样才能更好利用它们各自擅长的解决方案,优雅地低成本地完成我们的工作。 其实自己平时由于好奇,上述语言都至少看过一些书,写过一些Hello World之类的代码,(当然水平也很菜),不过这里的观点不涉及好与坏,只是种想法和分析,仅供参考,个人感觉学习Java、PHP、NET这三类语言时,主要是学习它们总结的API库的使用和所谓的设计实现,用这三类语言实现B/S系统时,主要关注于需求之类,用户界面之类,可能以后要关注如何解决大并发访问量之类的通用难题(当然前提是你能够有这么大的用户量,一般只有热门的互联网服务才有),而学习C/C++,除了学习语言本身之外,还要去看操作系统之类的东西,这样才能做出应用。从时间上来看,C/C++的确上手比较慢,而且平时学校里用到的机会不多。 此外,如果你是做面向用户的产品,那么你花在用户界面,需求,美工之类的时间会很多,做客户端之类软件(包括Web界面和PC界面)就属于面向用户的,偏前端的,接触的东西非常的广,但很容易不够深入,且技术更新快;如果你是做面向程序员的(例如设计一套API,设计云存储之类),面向业务后台请求的(请求调度,负载均衡,Web服务器),那么你会专攻Linux操作系统,网络编程,协议,算法之类的技术,这些技术是计算机专业的基础,比较容易深入,但是远离了用户直接产品需求。
从工作岗位看程序员——你想做什么 或许你发现上面单纯从语言上分,好像没有你想要的工作,或者你没有被很好的归类,那么下面我就挑选国内一些典型公司的招聘要求作为分析,相信会有你想做的工作或者你擅长的。不过我相信,上面四种语言你肯定熟练了其中的一种,如果你是标准程序员的话。 以下只是根据语言对程序员职位进行了划分,当然你进入企业以后,分到不同部门负责不同产品,又会对该语言平台的技术方向有偏重,同时也会接触更多业务,所谓业务,就是用户产品需求相关或者产业方向相关的,由于职业众多,这里面忽略了测试,运维,产品等非纯开发岗位。 岗位No.1         工作岗位关键词:Java软件工程师,Java研发工程师         特点:大量招聘,各种公司(银行,互联网公司)通吃,算得上万金油         技术要求:Java,JSP,Servlet,SSH,Tomcat之类服务器,Mysql之类数据库,多线程和并发编程         国内某个公司招聘要求:         1. 精通Internet基本协议(如TCP/IP、HTTP、SMTP、FTP等)内容及相关应用;         2. 较强的编程能力,能够完成较复杂的交互流程设计和实现;         3. 精通某种网页设计语言,使用JSP或者Servlet者优先考虑;         4. 熟悉MVC,J2EE等应用模型中至少一种;         5. 熟悉Javascript、HTML 编码;         6. 熟悉Tomcat,Resin,JBoss等应用服务器中至少一种的配置与使用;         7. 熟悉UNIX/Linux 的基本命令操作,有AJAX,Flash,Spring,Struts等开发经验者优先考虑;         8. 熟练掌握RDBMS原理及SQL语言,熟悉基于数据库应用的结构设计,性能优化;         9. 计算机软件或相关专业;         10.工作认真,细心,有条理;积极性高,求知欲强;具有较强的沟通能力及团队合作精神。
岗位No.2         工作岗位关键词:Net开发工程师,C#开发工程师         特点:互联网公司招的少(BAT之类的),中小型软件企业、微软等大软件公司、国企和事业单位有相关的职位         技术要求:C#,Asp.net,WinForm,WCF,SQL Server,Web Service,Ajax         国内某个公司招聘要求:         1. 熟悉winFrom开发,精通socket,TCP/IP协议的开发,熟悉WebService技术         2. 熟悉.Net Web程序开发基础,熟悉windows环境下客户端程序的开发特点;          3. 精通.NET,C#,ASP,SQL,VB,XML等开发语言,熟悉B/S结构程序的开发流程;         4. 熟悉HTML,DHTML、Javascript、Xml、JQuery,有两个以上ASP.net项目开发经验;         5. 熟悉基于.Net的C/S结构程序开发者优先;         6. 有大型网站开发经验者优先,有C++经验优先;         7. 熟悉移动程序终端应用程序开发者优先;         8. 有二维码相关开发经验优先;         9. 请提供相关开发产品演示。
岗位No.3         工作岗位关键词:C/C++开发工程师,后台开发工程师,Windows客户端开发,Linux服务器开发工程师         技术要求:C/C++,STL,Windows编程,Linux编程,开发工具使用,MFC,QT,数据结构与算法,Socket网络编程         特点:高大上的感觉,职位相对较少,要求较高,本身学习周期长,关键是学校里接触的少(大家主要是接触基础Web编程较多)         国内某个公司招聘要求:         1.有相关C、C++程序语言项目开发经验;         2.熟悉网络编程;具备基本的gdb调试能力,了解内存泄漏,越界读写等常见问 题;         3.良好的服务器端编程能力和编程习惯,能完成相关设计、实现文档编写;         4.掌握多线程并发编程技术;熟练掌握各种数据结构和算法;         5.熟悉windows/linux编程环境;         6.有MySQL开发经验者优先考虑。
岗位No.4         工作岗位关键词:PHP开发工程师,高级开发工程师         特点:主要是Web开发,用于类似主页,微博,社交网站之类互联网产品开发         要求见以下招聘要求:         1. 精通PHP面向对象的设计方法,理解MVC模式及SOA思想并能运用在开发中;         2. 精通PHP语言,并至少使用PHP开发过一个以上大中型项目,能够独立编写中等规模PHP应用程序;         3. 熟悉Javascript,熟练掌握XHTML、CSS、DIV,JQUERY等页面技术,熟练掌握Mysql数据库应用开发;         4. 能熟练使用Linux,拥有查询优化和存储优化经验以及PHP缓存技术者优先;         5. 责任心强,具有良好的沟通、协作能力和团队合作意识,能够承担重要任务承受较强工作压力。
岗位No.5          工作岗位关键词:移动终端开发工程师,Android开发工程师(Java),IOS开发工程师(Object C),WP开发工程师(C#)         特点:苹果开创了这一类职业的繁荣,非常火热,各大公司也都有需求         技术要求:熟悉三大移动操作系统编程框架,编写APP         国内某公司的招聘要求:(考虑国情,主要是Android的)         1. 两年及以上手机应用实际开发经验,至少参加过一个完整的商业级手机应用或游戏开发项目,一年以上Android平台开发经验优先考虑;        2. 熟悉Android OS系统体系结构、framework、以及底层库;          3. 熟悉Android下联系人、电话、信息、数据库等常见应用实现机制;          4. 熟悉Android下网络通信机制,对Socket通信、TCP/IP和http/https有较深刻的理解和经验;          5. 熟悉Android平台UI设计,熟悉常用布局;         6. 理解面向对象设计的基本原则,熟悉常用的设计模式;  
岗位No.6         工作岗位关键词:算法工程师  数据挖掘工程师  Hadoop工程师         技术要求:编程语言(Python之类即可),机器学习,数据挖掘,信息检索,大数据处理         特点:该方向相对程序员已经很深,部分已经进入研究级别,不过绝大部分应该是应用算法和工具,学习周期较长         国内某个公司的要求(这是偏程序员方向的,研究性质的岗位往往要求是博士,要有论文发表要求):         1. 精通类Linux平台下的C/C++语言开发,熟练使用gcc、gdb、Makefile等开发工具。了解STL更佳;        2. 至少掌握Perl / Python / Linux Shell中的一种;         3. 深刻理解各种常用数据结构和算法,能根据具体情况灵活应用;         4. 具备机器学习 / 自然语言处理 / 数据挖掘其中一种的研究和项目经验者优先,具有经济学背景优先;         5. 有较强的分析和解决问题能力,有持续自我学习的能力和意愿, 善于沟通和逻辑表达,良好的团队合作意识。

从知识架构看程序员——你需要准备什么 一份好的工作——薪水不错,公司不错,前景不错,必然要面临竞争的压力,那么如何准备,这里主要根据上面的岗位要求,构造属于自己的知识架构图。 首先计算专业基础:数据结构、常用算法、操作系统、数据库原理、计算机网络、计算机组成(硬件基础与单片机)、数学(概率论) 然后是语言方向:C/C++,PHP,NET,Java,选择其中的一种,精通,请注意熟悉的是整个语言平台,而不仅仅是语言本身的语法 最后是领域方向:Web开发,客户端开发,服务器开发,移动终端开发,研究领域方向(搜索,数据挖掘之类,这个没有画出来)。 以下图1,简单表示了需要准备哪些知识。 知识结构图
图1 知识结构 结束语 以上主要是自己找实习工作时,对自己的一些分析,现在写出来做个总结,当然也是参考了很多经验帖。找工作其实也不一定局限于编程,计算机专业从业选择是很多的,但是你如果想要找到一份合适的工作,应该提早准备,准备无外乎根据自己的情况(根据自己的情况,是指现在你已经会了哪门语言或是现在项目中需要用哪门语言,不建议从头学习一门,没必要),选择一门语言方向,然后在这个方向进行深入,为以后工作和发展做好准备。自然,之前,没有强调基础的重要性,其实科班的优势就在于那些专业基础,所以,我们每个人都必须掌握那些,你找工作时牛不牛,offer拿的多不多就在于基础牢不牢靠,当然工作以后你牛不牛,就看你产品和业务发展啦,自然是后话。
转载请附上本页链接:来自CSDN博客——MePlusPlus(Me++)的专栏 (http://blog.csdn.net/meplusplus)
欢迎留言交流。






推荐阅读
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 历经两个月,他成功斩获阿里巴巴Offer
    经过两个月的努力,一位普通的双非本科毕业生最终成功获得了阿里巴巴的录用通知。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • 本文档介绍了如何在Visual Studio 2010环境下,利用C#语言连接SQL Server 2008数据库,并实现基本的数据操作,如增删改查等功能。通过构建一个面向对象的数据库工具类,简化了数据库操作流程。 ... [详细]
  • 地球坐标、火星坐标及百度坐标间的转换算法 C# 实现
    本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 免费获取:全面更新的Linux集群视频教程及配套资源
    本资源包含最新的Linux集群视频教程、详细的教学资料、实用的学习课件、完整的源代码及多种软件开发工具。百度网盘链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ,提取码:41py。关注我们的公众号,获取更多更新的技术教程。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
author-avatar
手机用户2502898335
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有