本文目录一览:

b/s开发从前端到后端的过程分析(最好有个ppt能讲解一下)

下面这个分析得很透彻,可以参考,ppt就自己根据需要做吧:

在我们实际的开发过程中,我们当前这样定位前端、后端开发人员。

1)前端开发人员:精通JS,能熟练应用JQuery,懂CSS,能熟练运用这些知识,进行交互效果的开发。

2)后端开发人员:会写Java代码,会写SQL语句,能做简单的数据库设计,会Spring和iBatis,懂一些设计模式等。

现在来看,我们对前后端的要求还是蛮低的,尤其是后端,新员工经过培训之后都是可以参与到后端开发的,没有太高的技术门槛,唯一需要做的就是先变成熟练工种,这个阶段没有涉及到设计模式、架构、效率等一些列问题。

还是先google一下,看看网上对Web前端开发、Web后端开发分别是什么?

Web前端: 顾名思义是来做Web的前端的。我们这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。

Web后端:后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。

我们再来看看大公司对前后端人员招聘的要求,通过这个角度看看前端、后端的技术要求:

Web前端:

1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。

2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。

3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery

4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。

5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。

6)......

Web后端:

1)精通

jsp,servlet,java

bean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如

Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解

2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力

3)熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑

4)精通面向对象分析和设计技术,包括设计模式、UML建模等

5)熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力

6)......

从几个公司的招聘要求可以看到,做Web开发,对前端和后端的要求是各自所不同的。而我们目前的实际情况,也和这个差不多,但是,我们无论在知识的掌握程度上,还是知识掌握的宽度上,都是不够的。

首先,我们在前端缺乏积累,没

有沉淀,专业的前端技术的积累是从去年才开始的,同时,在前端也缺乏支撑与高手,所以,走起来比较困难。同时,前端人员培养的较少,一个原因是对前端了解

太少,另外一个原因就是对前端与后端的工作比例估计不足。所幸,我们在这一年也在前端有了很快的进步,培养了几个优秀的开发人员,有意识的解决了前端的用

户体验,这都是可喜的。今年,需要更进一步,专业化。

其次,我们在后端发展的不够宽,后端的知识体系已经比较完善,但是,很多应用点都没有涉及到。同时,对现有技术框架的理解都不够深入,太浮躁。我们目前的

设计团队在解决互联网高并发、大数据量的存取上经验与能力都还不足,需要正视这些问题。后端技术的发展需要更加的精进,以解决实际存在的问题为主。

最后,我们在前端、后端都缺乏熟练工,这会影响到开发的速度,同时,也不利于后期技术的研究。

Redis集群方案应该怎么做

1. codis:目前用的最多的集群方案,基本和twemproxy一致的效果,但它支持在节点数量改变的情况下,旧节点数据客恢复到新hash节点。

2. Redis cluster3.0自带的集群,特点在于他的分布式算法不是一致性hash,而是hash槽的概念,以及自身支持节点设置从节点。

3. 在业务代码层变现,起几个毫无关联的Redis实例,在代码层,对key进行hash计算,然后去对应的redis实例操作数据。这种方式对hash层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的字典脚本恢复,实例的监控等等。

零基础自学大数据要学哪些内容?

1. EXCEL、PPT(必须精通)

数据工作者的基本姿态,话说本人技术并不是很好,但是起码会操作;要会大胆秀自己,和业务部门交流需求,展示分析结果。技术上回VBA和数据透视就到顶了。

2. 数据库类(必须学)

初级只要会RDBMS就行了,看公司用哪个,用哪个学哪个。没进公司就学MySQL吧。

NoSQL可以在之后和统计学啥的一起学。基本的NoSQL血MongoDB和Redis(缓存,严格意义上不算数据库),然后(选学)可以了解各类NoSQL,基于图的数据库Neo4j,基于Column的数据库BigTable,基于key-value的数据库redis/cassendra,基于collection的数据库MongoDB。

3. 统计学(必须学)

如果要学统计学,重要概念是会描述性统计、假设检验、贝叶斯、极大似然法、回归(特别是广义线性回归)、主成分分析。这些个用的比较多。也有学时间序列、bootstrap、非参之类的,这个看自己的意愿。

其他数学知识:线性代数常用(是很多后面的基础),微积分不常用,动力系统、傅里叶分析看自己想进的行业了。

4. 机器学习(数据分析师要求会选、用、调)

常用的是几个线性分类器、聚类、回归、随机森林、贝叶斯;不常用的也稍微了解一下;深度学习视情况学习。

5. 大数据(选学,有公司要求的话会用即可,不要求会搭环境)

hadoop基础,包括hdfs、map-reduce、hive之类;后面接触spark和storm再说了。

6. 工具类

语言:非大数据类R、Python最多;大数据可能还会用到scala和java。

其他框架、类库(选学):爬虫(requests、beautifulsoup、scrapy),日志分析(常见elk)。

一个高级java工程师需要具备什么能力和技术

宏观方面

一、 JAVA。

要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)

工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您

对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。

二、 设计模式。

其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代

码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。

但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?

三、 XML。

现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解

XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置

信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。

四、 精通使用一种或两种框架。

“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开

发使你可以省出很多的开发成本”。这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您

会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。

五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了

更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出

身,您还需要补充一些数据库原理方面的知识。

六、 精通一种或两种WEBServer。

因为作为JAVA工程师,特别时

想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它

的资源,这往往可以节省很多时间和精力。

七、 UML。

您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队

中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但

却很重要。

八、 站在高度分析问题:

这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而

不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在

您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。

九、 工具。

您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对

ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧

微观方面

1.Core Java部分

这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:

a.面向对象编程思想(封装继承多态接口)

b.字符串处理

c.java.lang包,java.util包等常用包

d.java异常处理

2.Java高级部分

a.Java I/O流

b.Java多线程技术

c.Java网络编程

d.Java Swing

后两项可以了解即可,如果项目需要可以深入研究

3.前端基本技能

* HTML + CSS网页开发

* JavaScript

* Jquery

* 浏览器兼容性 CSS hack(了解)

4.熟练使用JSP + Servlet进行开发

5.MVC设计模式,原理,以及相关框架,如Struts

6.SSH框架

7.缓存技术 session cookie

8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)

9.熟练使用XML

JDOM w3c.dom SAX

10.Java设计模式

工厂模式,单例模式 ==

11.Java反射机制

反射的各种用法

12.了解或熟悉 C, C++, .NET

13.熟悉JDK的配置,环境变量

14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)

oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==

15.数据库原理

事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==

16.JDBC,连接池

17.Ajax,反向Ajax

18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理

19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目

20.了解windows系统批处理脚本bat

21.了解HTML5,最好学习过

22.熟悉一种JS框架,如Prototype

23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==

24.熟悉ant或maven

25.熟悉一门脚本语言,如python ,ruby

26.了解php/ asp

27.了解ftp协议及原理

28.熟练使用Junit测试,熟悉Mockito等测试工具

29,熟悉javac,javadoc,native,native2ascii等常用命令

30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。

31.了解Flex(不学也没关系)

32.了解敏捷开发模式

33.工作流workflow至少用过一种,如OSworkflow,了解原理

34.使用过VPN了解其原理

35.熟悉jstl表达式和el表达式

36.熟悉webservice,WSDL,SOAP

37.图片处理,如图片上传,预览,限制大小等

38.版本控制工具,CVS VSS SVN

39,JSON技术,JSON+AJAX

40.分页技术,最好自己实现过不仅仅是用过要知道原理

41.Java Mail

42.Java读写txt,excel,JXL技术

43.JVM原理,JVM内存管理,GC,Java堆栈池

44.熟练使用下面的工具:

office办公软件,word,excel,ppt等

plsql,sqldevelop 数据库开发工具

outlook大公司都用

ue编辑器

浏览器控制台,调试

SHH/PUTTY 远程

45.UML建模工具Rational Rose等

46. 使用log4j

47.使用过开放Api如百度,腾讯街景,新浪微博等

48.页面静态化技术(伪静态页面)

49.报表技术,使用过报表制作工具,如水晶易表。

50.定时任务,如Spring batch ,学会自定义batch任务(不适用第三方工具)

51.了解uuid

52.b/s 和 c/s架构

53.正则表达式

54.了解jndi jms

55.ERP

56.UNICODE编码,乱码解决

57.开源网络编辑器,如ckEditor

58.二进制原理

59.使用过,了解过开源论坛框架,如discuzz

60.GWT,Closure框架

61.了解大数据,云计算

62.搜索引擎搜索技术

63.软件工程,项目管理

职业要求

教育培训

计算机相关专业,大专及以上学历。相关专业证书有:Sun Certified Java Programmer(SCJP)和Sun Certified Java Developer(SCJD) 认证。

工作经验

有一定的软件分析设计能力;熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse或jbuilder等java开发工具;熟悉JAVA+STRUTS体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。

薪酬参考

据智联招聘上对上海java工程师的薪资据说显示,截止到2012年6月13日,java工程师的平均水平已达6435。根据现在移动互联网中安卓市场的份额,相信这一职业的工资水平会一直上升。

就业前景

Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。这可以概括JAVA有着自己独特的优势:语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要,它是一个动态语言。

权威统计机构统计——在所有软件开发类人才的需求中,对 JAVA工程师的需求达到全部需求量的60%~70%。JAVA工程师的薪水相对较高,通常来说,具有3~5年开发经验的工程师,拥有年薪 10万元是很正常的一个薪酬水平。

JAVA发展方向

一是成为管理人员,例如产品研发经理,技术经理,项目经理等继续;二是他的技术工作之路,成为高级软件工程师、需求工程师等。

还是看看IDC Java工程师的薪水相对较高。 Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。

JAVA就业方向:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。

大数据专业成热门,该如何转行做大数据分析师

那我就转载一篇别人转行做数据分析的经验贴给题主吧:

亲爱的各位加米谷学院的老师和同学们好,首先非常感谢大家在17年9月到18年3月份5个月时间的陪伴,以及张老师和曾老师在我学习期间的耐心辅导。在大数据培训的道路上,正是因为有你们的辛勤付出与陪伴,才让我在大数据职业道路上有了今天我很满意的薪资待遇。再次谢谢你们!

在数据分析挖掘培训的过程中给我印象最深就是张老师,张老师的课讲的很清楚,尤其是PPT图解理论,让我这样的0基础学员能够理解到位,不愧是国家大数据标准组的成员。虽然只有短短五个月的学习时间,但是对于我个人来说收获非常大,不止让我从一个小白成功入行,并成功面试到张老师推荐的公司,拿到了我非常满意的薪水。

张老师希望我可以给后面的学弟学妹们分享一点学习经验,学习这件事大家都不陌生,大家都是经历过十几年的学习生涯。尤其是转行0基础学习大数据的同学,对大数据行业了解的也一定很清楚了,才会决定来进行大数据培训。下面我只说5个方面,后面的学弟学妹可以从中作参考,也希望对你们有帮助。

1、兴趣是最好的老师,既然决定转好从0基础学习大数据,那你一定要从心里爱上它,只有你真正的上心了,才能有动力去学好它。

2、多看,课前预习是少不了的,课前老师都会把当天讲的课件提前发给你,一定要抽出时间先认真看一下,否则,你会发现到时候老师讲的内容你接受起来非常吃力。

3、多问,如果你是一个0基础学习大数据,之前没有任何编程基础,遇到问题一定要多问,第一时间问老师,不要碍着面子死撑,一方面可以锻炼你的沟通能力,是否能用尽量通俗的话语让老师明白你遇到的问题所在(对你以后面试很有帮助),另一方面现在的学习成果也影响着以后的薪资待遇。

4、多练,加米谷学院每个阶段的实训项目都是很有针对性的,全部是来自真实企业中真实的项目,现在多练习对于以后的面试以及工作经验都会非常的有帮助。

5、勤奋,这个说起来很简单,人都是有惰性的,就像我们上学时候一样,同样一个班级,老师教的东西也都一样,为什么有的学习好,有的学习不好?数据分析培训也一样,毕业之后为什么有的薪资可以拿到18K,有的却只有几千?这跟自己的勤奋程度是成正比的,每个人请找到自己的勤奋点,加油!