第2次实验——算法基本功 与 综合思考
2014-06-10 15:35
190 查看
第一题:实现快速排序,并与冒泡排序,归并排序进行比较!代码呈现如下:
第四题:上招聘网站(如 51job、智联招聘)上查看自己感兴趣的职位与要求。作业要求:写下自己感兴趣工作的至少2个岗位名称(如Java程序员、搜索引擎工程师)、工作岗位具体要求、自身目前具备哪些条件、有哪些不足的地方并如何弥补。
本身职位的需求:
1.
可能的岗位:android工程师
2.
根据岗位的需求的等级程度,不同的等级公司对应聘职位人的要求不同,有些正在起步或处于创业艰辛阶段,有些已经处于成熟发展期,故期对于职位人的具体要求是截然不同的,这里我根据不同公司的不同职位需求,分成三部分,也就是三种层次阶段:
⑴属于起步公司的应聘要求:
例一:
1.了解Java语言;
2.了解Android开发框架,包括:各种UI组件,布局,Activity,Intent,SQLite,各
类基础API;
3.有过作品设计,作业设计或小项目开发经验;
4.沟通表达和学习能力较好,具有较好的文档编写能力 ;
5.能承担工作压力;
6.英语四级或以上;
例二:
你需要具备什么?
1.为人真诚,性格开朗(需求被多次修改的情况下不对产品经理造成人身伤害);
2.计算机、软件工程或相关专业本科学历;
3.熟悉JAVA,熟悉Socket/HTTP编程,熟悉安卓客户端编程。
你在这里将得到什么?
1.一个有爱的工作环境和人文氛围;
2.作为一名创业团队成员,独当一面开展工作的刺激体验;
3.一份得体的薪酬;
4.每天免费的健康午餐;
5. 我们这艘方舟将刻上你的名字。
例三:
1.大3或大4在读学生,每周不少于4天的课余时间;
2.对android/ios开发有所了解,有志于向该方向发展;
3.初步掌握相应开发工具的使用;
4.有良好的代码编写习惯,会写注释;
职责:
1.在技术负责人带领下完成智能手机、平板终端软件的开发与维护;
2.负责项目文档的编写;
(2)属于中期发展阶段:
例一:
1. 完成软件系统代码的实现,编写代码注释和开发文档;
2. 辅助进行系统的功能定义,程序设计;
3. 根据设计文档或需求说明完成代码编写,调试,测试和维护;
4. 分析并解决软件开发过程中的问题;
5. 配合项目经理完成相关任务目标。
岗位要求:
1. 公司接受优秀应届毕业生、实习生;
2. 有扎实的java基础,有使用android
sdk和java的经验,熟悉android开发平台及框架原理;
3. 熟悉网络编程、多线程、图形界面编程、熟悉xml/json、http、tcp/ip、socket等协议;
4. 熟悉android网络通讯,有网络编程经验;
5. 有android作品者优先;
6. 具备需求分析和系统设计能力,以及较强的逻辑分析和独立解决问题能力;
7. 责任心强,具备良好的沟通能力和团队合作精神,能自觉完成任务。
例二:
1、负责android智能手机平台应用软件的分析、设计、编码和测试;
2、负责android多线程处理,网络访问,数据库访问等功能特性的开发;
3、负责android
本地应用app开发,webapp开发等工作;
4、团队协作,配合项目经理的管理工作,高效完成app应用的功能开发。
例三:超级课程表
·
工作职责:
·
1、参与公司Android应用产品的开发和维护工作。
·
2、承担并独立完成开发主管分配的开发任务,并对交付质量负责。
·
3、配合开发主管,参与android应用架构的设计和规范化工作。
·
岗位要求:
·
1、熟悉Android开发平台的框架原理,精通Java编程技术,1-2年以上的
Android实际开发经验,有过独立开发android APP的经验。
·
2、能够熟练使用Android SDK,熟练掌握Android网络应用软件开发和调试经验,精通安卓分辨率适配的解决方案。
·
3、熟悉Android下网络HTTP协议,XML、JSON、MessagePack解析等开发经验,具有丰富的UI开发经验。
·
4、有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,冗余度低。
·
5、具备良好的团队合作精神、文档和沟通能力,较强的责任心,项目紧张时能自主加班,保证产品时间点的正常发布。
⑶属于成熟发展期的公司:
例一:TCL公司:
1、 根据系统设计和开发规范编写代码;
2、负责软件的维护工作和对实施工程师的技术支持;
3、编写相应的开发文档;
4、一定的java开发及安卓平台的开发与调试;
5、良好的学习能力,刻苦钻研精神;
6、实习期十个月,优秀实习生可留任转正。
任职资格:
1、工作细心,能够承受压力;
2、良好的沟通能力及团队协作意识;
3、对软件开发比较热爱,有志向在软件行业发展;
4、计算机等相关专业,精通C/C++/java编程语言,掌握Android平台的开发调试方法。
例二:UC浏览器
1.负责Android平台游戏客户端研发工作;
2.负责平台兼容性、性能和资源优化的技术解决;
3.负责系统、子系统和模块级的架构设计、概要设计工作;
4.承担并推动团队内成员技术经验分享。
任职要求:
1.计算机等相关专业本科及以上学历,两年以上Android工作经验;
2.精通架构设计、概要设计和详细设计,熟练使用UML设计工具;
3.有技术难题攻关经验,善于主动推动项目进展并达成项目目标;
4.熟悉Java或C++语言,深入掌握Android下的NDK开发。
注:谢绝虚假简历,公司有严格的流程将对求职者做详尽的背景调查。
3.
关于本人具备的条件:
基本符合了作为一个初级起步公司应聘要求,基本了解并理解了Java程序语言,而且经过一个学期对于android的学习,也基本掌握并熟悉应用了android的四大组件(Activity,broadcastReceiver,service,contentProvider),算是基本符合了最初需求。
4.
本人所存在的不足:
先从严重的不足开始说吧:确实,一直对android相当感兴趣,尤其是对于android智能机的研究确实也很早就开始动手了,很多手机内置文件基本都掌握了其要领及作用。但是,真正从事android的开发工作是从这学期头开始的,所以都是从基础知识一步步走过来的,对于基础知识的掌握程度上还是足够的,但对于刚入门的人来说就有个严重的不足的地方就是,掌握的知识点不系统,没能达到很好的串连,而且确实在android开发的深度上也存在着一定的缺陷,但我一直觉得这只是时间问题,只要时间足够,并付诸更大的努力,一定为对于android的开发有着更深的理解和形成自己一套独特的方法的。
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Date; import java.util.List; public class quickSort { public static void main(String[] args) { File file = new File("src/largeW.txt"); // 为了方便寻找文件,直接将文件放于工程的src文件中,同理后面的输出文件同样如此 if (file.isFile() && file.exists()) { // 为了担心异常出现,这里使用异常捕获句式。 try { InputStreamReader reader = new InputStreamReader( new FileInputStream(file)); BufferedReader bufferedreader = new BufferedReader(reader); List<String> list = new ArrayList<String>(); String isLine = ""; while ((isLine = bufferedreader.readLine()) != null) { list.add(isLine); } int num[] = new int[list.size()]; for (int i = 0; i < list.size(); i++) { num[i] = Integer.parseInt(list.get(i).trim()); } bufferedreader.close(); long timeBegin = System.currentTimeMillis(); //快速开始时记录当时系统时间 quickSort(num, 0, num.length-1); // 此时进行快速排序 long timeEnd = System.currentTimeMillis(); // 快速结束后记录系统的时间 for (int i = 0; i < list.size(); i++) { System.out.println(num[i]); } FileWriter filewriter = new FileWriter("src/largeW_bubble.txt"); for (int i = 0; i < num.length; i++) { filewriter.write(String.valueOf(num[i]) + " "); } filewriter.flush(); filewriter.close(); System.out.println("进行冒泡排序所消耗的时间为:" + (timeEnd - timeBegin) / 1000 + "s"); // 这里特意将时间单位转换为秒s } catch (Exception e) { e.printStackTrace(); } } } // 快速排序的实现方法 public static void swap(int a[], int i, int j) { if(i == j) return; int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } public static int partition(int array[], int low, int high) { //当前位置为第一个元素所在位置 int first = low; //采用第一个元素为轴 int pivot = array[first]; for (int i = low + 1; i <= high; i++) { if (array[i] < pivot) { first++; swap(array, first, i); } } swap(array, low, first); return first; } public static void quickSort(int array[], int low, int high) { if (low < high) { int pivot = partition(array, low, high); quickSort(array, pivot + 1, high); quickSort(array, low, pivot - 1); } } }
第四题:上招聘网站(如 51job、智联招聘)上查看自己感兴趣的职位与要求。作业要求:写下自己感兴趣工作的至少2个岗位名称(如Java程序员、搜索引擎工程师)、工作岗位具体要求、自身目前具备哪些条件、有哪些不足的地方并如何弥补。
本身职位的需求:
1.
可能的岗位:android工程师
2.
根据岗位的需求的等级程度,不同的等级公司对应聘职位人的要求不同,有些正在起步或处于创业艰辛阶段,有些已经处于成熟发展期,故期对于职位人的具体要求是截然不同的,这里我根据不同公司的不同职位需求,分成三部分,也就是三种层次阶段:
⑴属于起步公司的应聘要求:
例一:
1.了解Java语言;
2.了解Android开发框架,包括:各种UI组件,布局,Activity,Intent,SQLite,各
类基础API;
3.有过作品设计,作业设计或小项目开发经验;
4.沟通表达和学习能力较好,具有较好的文档编写能力 ;
5.能承担工作压力;
6.英语四级或以上;
例二:
你需要具备什么?
1.为人真诚,性格开朗(需求被多次修改的情况下不对产品经理造成人身伤害);
2.计算机、软件工程或相关专业本科学历;
3.熟悉JAVA,熟悉Socket/HTTP编程,熟悉安卓客户端编程。
你在这里将得到什么?
1.一个有爱的工作环境和人文氛围;
2.作为一名创业团队成员,独当一面开展工作的刺激体验;
3.一份得体的薪酬;
4.每天免费的健康午餐;
5. 我们这艘方舟将刻上你的名字。
例三:
1.大3或大4在读学生,每周不少于4天的课余时间;
2.对android/ios开发有所了解,有志于向该方向发展;
3.初步掌握相应开发工具的使用;
4.有良好的代码编写习惯,会写注释;
职责:
1.在技术负责人带领下完成智能手机、平板终端软件的开发与维护;
2.负责项目文档的编写;
(2)属于中期发展阶段:
例一:
1. 完成软件系统代码的实现,编写代码注释和开发文档;
2. 辅助进行系统的功能定义,程序设计;
3. 根据设计文档或需求说明完成代码编写,调试,测试和维护;
4. 分析并解决软件开发过程中的问题;
5. 配合项目经理完成相关任务目标。
岗位要求:
1. 公司接受优秀应届毕业生、实习生;
2. 有扎实的java基础,有使用android
sdk和java的经验,熟悉android开发平台及框架原理;
3. 熟悉网络编程、多线程、图形界面编程、熟悉xml/json、http、tcp/ip、socket等协议;
4. 熟悉android网络通讯,有网络编程经验;
5. 有android作品者优先;
6. 具备需求分析和系统设计能力,以及较强的逻辑分析和独立解决问题能力;
7. 责任心强,具备良好的沟通能力和团队合作精神,能自觉完成任务。
例二:
1、负责android智能手机平台应用软件的分析、设计、编码和测试;
2、负责android多线程处理,网络访问,数据库访问等功能特性的开发;
3、负责android
本地应用app开发,webapp开发等工作;
4、团队协作,配合项目经理的管理工作,高效完成app应用的功能开发。
例三:超级课程表
·
工作职责:
·
1、参与公司Android应用产品的开发和维护工作。
·
2、承担并独立完成开发主管分配的开发任务,并对交付质量负责。
·
3、配合开发主管,参与android应用架构的设计和规范化工作。
·
岗位要求:
·
1、熟悉Android开发平台的框架原理,精通Java编程技术,1-2年以上的
Android实际开发经验,有过独立开发android APP的经验。
·
2、能够熟练使用Android SDK,熟练掌握Android网络应用软件开发和调试经验,精通安卓分辨率适配的解决方案。
·
3、熟悉Android下网络HTTP协议,XML、JSON、MessagePack解析等开发经验,具有丰富的UI开发经验。
·
4、有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,冗余度低。
·
5、具备良好的团队合作精神、文档和沟通能力,较强的责任心,项目紧张时能自主加班,保证产品时间点的正常发布。
⑶属于成熟发展期的公司:
例一:TCL公司:
1、 根据系统设计和开发规范编写代码;
2、负责软件的维护工作和对实施工程师的技术支持;
3、编写相应的开发文档;
4、一定的java开发及安卓平台的开发与调试;
5、良好的学习能力,刻苦钻研精神;
6、实习期十个月,优秀实习生可留任转正。
任职资格:
1、工作细心,能够承受压力;
2、良好的沟通能力及团队协作意识;
3、对软件开发比较热爱,有志向在软件行业发展;
4、计算机等相关专业,精通C/C++/java编程语言,掌握Android平台的开发调试方法。
例二:UC浏览器
1.负责Android平台游戏客户端研发工作;
2.负责平台兼容性、性能和资源优化的技术解决;
3.负责系统、子系统和模块级的架构设计、概要设计工作;
4.承担并推动团队内成员技术经验分享。
任职要求:
1.计算机等相关专业本科及以上学历,两年以上Android工作经验;
2.精通架构设计、概要设计和详细设计,熟练使用UML设计工具;
3.有技术难题攻关经验,善于主动推动项目进展并达成项目目标;
4.熟悉Java或C++语言,深入掌握Android下的NDK开发。
注:谢绝虚假简历,公司有严格的流程将对求职者做详尽的背景调查。
3.
关于本人具备的条件:
基本符合了作为一个初级起步公司应聘要求,基本了解并理解了Java程序语言,而且经过一个学期对于android的学习,也基本掌握并熟悉应用了android的四大组件(Activity,broadcastReceiver,service,contentProvider),算是基本符合了最初需求。
4.
本人所存在的不足:
先从严重的不足开始说吧:确实,一直对android相当感兴趣,尤其是对于android智能机的研究确实也很早就开始动手了,很多手机内置文件基本都掌握了其要领及作用。但是,真正从事android的开发工作是从这学期头开始的,所以都是从基础知识一步步走过来的,对于基础知识的掌握程度上还是足够的,但对于刚入门的人来说就有个严重的不足的地方就是,掌握的知识点不系统,没能达到很好的串连,而且确实在android开发的深度上也存在着一定的缺陷,但我一直觉得这只是时间问题,只要时间足够,并付诸更大的努力,一定为对于android的开发有着更深的理解和形成自己一套独特的方法的。
相关文章推荐
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功与综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功与综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验 - 算法基本功与综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- :第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考
- : 第2次实验——算法基本功 与 综合思考
- 第2次实验——算法基本功 与 综合思考