• 回答数

    9

  • 浏览数

    100

草泥马叔叔
首页 > 化工工程师 > Java算法优化工程师

9个回答 默认排序
  • 默认排序
  • 按时间排序

奔跑吧笑笑

已采纳

据统计,我国电子商务企业已达到1000多万家,其中大中型企业就有10万多家,初步估计,未来我国对电子商务人才的需求每年约80万人,而我国目前包括高校和各类培训机构每年输出的人才数量不到10万人。人才缺口巨大已成为制约我国电商行业发展的一大瓶颈。 选择江西新华电脑学院云电商工程师专业,你将学习:电子商务概论与政策法规、Photoshop图像处理、电子商务物流管理、HTML5+CSS3、WEB和移动界面商业案例、Windows Server2003服务器操作系统、动态网页设计PHPMYSQL、网络数据库基础(SQLServer)、JavaScript、电子商务安全与网上支付、百度SEM、SEO优化与推广、网络营销及综合实践等。

256 评论

八旗子弟搓天下

Java程序员这是Java开发工程师的第一阶段了,一般是刚入门Java行业者。这一阶段主要是掌握了一定的Java编程技术,有一定的Java语言基础,能够了解、掌握和编写一定的代码。处在这一阶段的人员,其掌握的技能还是比较基础的。初级软件工程师这一阶段,就要掌握一些Java核心技术了。比如HTML/CSS/JS/XML/AJAX、SQL/MySQL/Oracle/SQLServer/JDBC等。中级工程师这一阶段需要掌握Java核心框架,SSM、SSH、Web服务器等等。高级工程师这一阶段主要是Java高级开发技术,工作流、规则引擎、缓存、集成JCA、EJB、通信/JNDI/JMS/JAF、应用服务器(JBossAS/WebLogic/WebSphere)等。系统架构师Java系统架构师这一职位主要涉及到Java系统的设计与架构,如面向服务架构、面向资源架构、面向云架构、Java与UML建模、Java设计模式等。6.技术总监到了技术总监的岗位,就不仅仅只是技术,更多的可能是技术管理职能。如产品管理、项目管理、团队建设、团队提升等,这都是一个技术总监的职责所在。

188 评论

shmilyflying

Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体, 了解之后眼界会更宽阔,比如Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型、各种垃圾收集器以及选择、JVM的执行参数(优化JVM)等等,这些知识在《深入Java虚拟机》这本书中都有详尽的解释,或者去oracle网站上查看具体版本的JVM规范.5.一些常用的设计模式,比如单例、模板方法、代理、适配器等等,以及在Core Java和一些Java框架里的具体场景的实现,这个可能需要慢慢积累,先了解有哪些使用场景,见得多了,自己就自然而然会去用。6.常用数据库(Oracle、MySQL等)、SQL语句以及一般的优化开发的框架,比如Spring、iBatis等框架,同样他们的原理才是最重要的,至少要知道他们的大致原理。8.其他一些有名的用的比较多的开源框架和包,Netty网络框架,Apache common的N多包,Google的Guava等等,也可以经常去Github上找一些代码看看。暂时想到的就这么多吧,1-4条是Java基础,全部的这些知识没有一定的时间积累是很难搞懂的,但是了解了之后会对Java有个彻底的了解,5和6是需要学习的额外技术,7-8是都是基于1-4条的,正所谓万变不离其宗,前4条就是Java的灵魂所在,希望能对你有所帮助9.(补充)学会使用Git。如果你还在用SVN的话,赶紧投入Git的怀抱吧

241 评论

(秋天)Amy

由于广泛的市场前景,较高的薪资待遇,让Java工程师成为非常有前途的职位,那么Java工程师主要是做什么的呢?让我们跟着小编JavaEE一起来简单了解下。Java工程师,直白点来说,就好比你在做家具时,需要在模板上弄些花纹,但是需要一个工具来做花纹,Java也是一样,它只是一个工具。Java应用可以说是无处不在,它的用途就是完成软件的设计,开发,测试,修改bug等工作,包括业务需求的沟通,功能模块详细设计,业务功能实现与单元测试,系统维护等等。Java工程师岗位职责:负责客户端APP产品中服务器后端的工程设计,架构设计以及开发工作研究业界新技术及其应用,解决创新研发过程中的关键问题和技术难点根据项目任务计划按时完成软件编码和单元测试工作按照开发流程编写相应模块的设计文档与产品经理、测试工程师、其他团队沟通合作,确保产品研发工作的质量和进度协调或指导团队里其它开发人员的工作。一种主流后端语言编程经验:Java,或Scala,或,或Python精通主流Web应用开发框架(Spring,Play!,Express,Django,等等);熟悉SOA和Web Services(REST,SOAP)系统框架;熟悉主流应用服务器(Tomcat,JBoss,Apache,Nginx,等)精通数据库设计和性能优化;熟悉主流RDBMS和NoSQL数据库(MySQL,MongoDB,Memcached,Redis等),以及数据库编程(SQL, JDBC, iBatis,OpenJPA, 等)熟悉常用工程工具:Jenkins, Maven/Sbt/Npm/Ant,Git/SVN,Eclipse/IntelliJ,等等熟悉设计模式,熟练掌握面向对象编程和事件驱动编程风格有热情,酷爱技术,有良好的计划、沟通、组织协调能力、语言表达能力;较强的逻辑分析能力和应变能力;良好的团队合作精神。当今,处处都能见到Java的身影,美国大型太空项目中,也使用了Java来开发控制系统和相关软件,如此广泛的应用范围也造就了Java工程师的辉煌。现在人们日常的生活需求,比如上淘宝,京东购物 ,上优酷看视频 ,在个人空间上传自己的图片信息,写心得等等 ,这些都可以用Java开发实现。另外工作上,我们的办公系统 ,比如学校的测评系统, OA, CRM, ERP等办公系统,这些也可以用Java来开发实现。对于拥有Java技术的程序员来说,职业道路的选择十分的宽广,行业前景之广阔都是可以预见。希望对您有所帮助!~

287 评论

小小小文er

1、语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。2、命令:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。)带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。4、API(Application Programming Interface,应用程序编程接口):Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:◆包下的80%以上的类的功能的灵活运用。◆包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer.◆包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。◆包下的100%的内容。◆包下的60%以上的内容,对各个类的功能比较熟悉。◆包下的60%以上的内容,特别是各种格式化类。◆熟练运用JDBC. 80%、包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。◆Swing的基本内容,和AWT的要求类似。◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。5、测试:Junit测试是程序员测试,即所谓白盒测试。一位合格的Java开发工程师必须熟悉使用junit编写测试用例完成代码的自动测试。6、管理:必须熟悉使用Ant(中文译为蚂蚁,是一种基于Java的build工具。)完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。8、思想:必须掌握OOP(Object Oriented Programming,面向对象编程)的主要要求,这样使用Java开发的系统才能是真正的Java系统。9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。10、博学:掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。

284 评论

吃货肥仔喵

宏观方面

一、 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页面让初级程序员去写吧

微观方面

Java部分

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

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

b.字符串处理

包,包等常用包

异常处理

高级部分

I/O流

多线程技术

网络编程

Swing

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

3.前端基本技能

* HTML + CSS网页开发

* JavaScript

* Jquery

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

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

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

框架

7.缓存技术 session & cookie

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

9.熟练使用XML

JDOM SAX

设计模式

工厂模式,单例模式 ==

反射机制

反射的各种用法

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

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

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

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

15.数据库原理

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

,连接池

,反向Ajax

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

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

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

21.了解HTML5,最好学习过

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

原理 熟悉一种以上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.分页技术,最好自己实现过不仅仅是用过要知道原理

Mail

读写txt,excel,JXL技术

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

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

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

plsql,sqldevelop 数据库开发工具

outlook大公司都用

ue编辑器

浏览器控制台,调试

SHH/PUTTY 远程

建模工具Rational Rose等

46. 使用log4j

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

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

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

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

51.了解uuid

和 c/s架构

53.正则表达式

54.了解jndi jms

编码,乱码解决

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

58.二进制原理

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

,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语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。

130 评论

b玻璃心

需要掌握以下知识:1、CoreJava,就是Java基础、JDK的类库。2、多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细。3、I/O,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深入下去就是JavaNIO,再深入下去是操作系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的。4、JVM的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体,了解之后眼界会更宽阔。5、一些常用的设计模式,比如单例、模板方法、代理、适配器等等,以及在CoreJava和一些Java框架里的具体场景的实现,这个可能需要慢慢积累,先了解有哪些使用场景,见得多了,自己就自然而然会去用。6、常用数据库(Oracle、MySQL等)、SQL语句以及一般的优化。7、JavaWeb开发的框架,比如Spring、iBatis等框架,同样他们的原理才是最重要的,至少要知道他们的大致原理。想【了解更多有关java工程师的详情】,推荐咨询达内教育。该机构拥有1v1督学跟踪式学习有疑问随时沟通,企业级项目,课程穿插大厂真实项目讲解,对标企业人才标准制定专业学习计划,囊括主流热点技术,理论知识+学习思维+实战操作,打造完整学习闭环。该机构实战讲师、经验丰富、多种班型供学员选择、独创教学系统,满足学生多样化学习需求。【感兴趣的话点击此处,免费学习一下】

112 评论

垂杨紫陌

初级部Java 程序设计基础包括 J2sdk基础、Java面向象基础、Java API使用、数据结构及算基础、Java AWT图形界面程序发;J2SE平台Java程序设计包括Swing图形程序设计, Socket网络应用程序设计,象序列化Java 用数据结构Applet流文件线程程序设计;Java桌面系统项目发4~5组项目组项目(15*工作);Linux基本操作LinuxJava程序发Linux系统简单管理;Oracle数据库包括SQL/PLSQL;数据库数据库设计;简单掌握ORACLE9i 数据库管理;[2] 级部Java Web应用编程包括 Java Oracle 编程即JDBC;JavaWeb编程包括JSP、Servlet,JavaBean;Java应用编程包括Weblogic、Websphere、Tomcat;及利用Jbuilder发Java程序;MVC与Struts习业界通用MVC设计模式Struts架构;Java B/S商务项目发4~5项目组项目(25*工作左右)高级部J2ME程序设计包括J2EE程序、J2ME;Java高级程序设计(J2EE)包括J2EE体系结构J2EE技术、EJB;Weblogic使用、 JBuilder发;JavaXML包括Java Web ServiceJavaXML, 业界主流XML解析器程序设计;软件企业规范软件工程包括UML系统建模型设计(Rational Rose 200x)软件工程业界发规范;CVS版本控制、Java Code书写规范;

333 评论

半透明SKY也

1 计算机基础这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了。特别是计算机网络,操作系统,数据结构这三门课程。至于编译原理,个人大概懂一点就行了,我也只看过简单的概念和状态机相关的内容,并不是特别重要。2 Java编程这里的Java编程部分包含了很多内容。我们可以分别看看,大概归纳一下就是这几个部分。Java基础这里的Java基础包括基本语法,集合类框架,以及一些高级特性,比如反射,注解等等。Java基础的知识点非常多,所以要真正搞懂也没有那么简单,另外,随着时间推移,一些新特性也需要得到我们的重视,比如时下流行的JDK8。设计模式我一直觉得设计模式可以和Java基础一块学,所以我也把它放在这里。当然,一些真正使用到设计模式的地方,譬如JDK的集合类,IO流等等,也需要你足够重视。Java Web技术Java Web技术包括J2EE,以及web框架,乃至一系列常用的组件。1 J2EE主要包括的就是servlet,jsp这些比较复古的web开发组件了。虽然现在直接用它们的情况比较少,但是我们还是需要花一些时间去掌握它们的。2 web框架常用的就是Spring了,相应的,hibernate和mybatis也需要了解一下。3 同时,JavaWeb开发时的常用类库,比如jnuit单元测试,log4j日志工具,以及构建工具maven,都属于我们要掌握的范畴。4 最后,要注意的是,Web相关的一些基本知识,比如HTTP协议,网络安全基础,也是我们要考虑的部分。Java并发技术Java的并发技术泛指Java的多线程技术,以及JUC包里的并发类,比如线程池,并发工具类,阻塞队列等等。Java并发技术完全可以独立出来学习,是Java进阶知识的一大重点。Java网络编程和服务器这一块内容是Java中比较复杂但也很重要的一块内容。比如BIO,NIO,AIO的一些使用和原理,以及tomcat这类web服务器,甚至是netty这种网络编程框架,都是可以去了解和学习的内容。Jvm基础与调优JVM是提供Java程序运行的一个进程,学习JVM知识,也是我们的必经之路。除了看懂《深入理解jvm虚拟机》以外,我们还要学习的内容就是JVM调优,使用合适的工具诊断问题,最后解决问题。这部分内容在面试中呈现的不仅仅是GC,内存分区,以及类加载器,也包括了我所说的JVM调优问题。3 Linux作为后台同学,常年被面试官问linux相关的问题,所以觉得学好linux还是蛮重要的,除了基本命令以外,最好还能了解一些shell脚本,甚至是内核相关的知识,这方面是我的一个弱项。4 数据相关在这个路线图里,数据部分囊括了非常多的数据源,我们可以来看看都有哪些是我们需要掌握的。关系数据库Mysql这个不必多说,人手都要会,不管是基础的crud,索引,抑或是进阶的存储引擎,分布式方案等,我们都需要对应掌握。缓存如Redis,memcache一类的缓存,作为后端开发者的我们也需要对应掌握,当然,它们的高级特性,以及分布式方案,也是必备的知识点。搜索引擎基于Lucene的solr,elasticsearch这类搜索引擎,本质上也是数据源,但是并不是后端必备的内容,不过学一学也没有坏处啦。大数据海量数据处理的场景越来越多,大数据技术如hadoop,storm等也越来越火,但是大数据应用一般会由专业的大数据工程师来做,所以我们学一些基本内容也就足够了。5 算法和数据结构算法一直是校招同学面前的一座大山,作为后端同学来讲,除了基本的数据结构算法以外,也要会一些高级的算法,譬如dp,搜索,贪心等等。另外,通过LeetCode等题库来刷题的方式来巩固算法也是公认的好办法了。6 分布式最后一个部分,也是内容最多,覆盖面最广泛的部分了。分布式相关的技术实在太多了,我们这里也会做一下简单的归纳。web架构先了解web架构的发展会对分布式的学习有更好的理解,毕竟架构的发展也对应着分布式技术的发展。分布式理论这部分内容包括分布式的发展演化,base理论和cap理论等等,学习分布式技术之前,最好能对这部分概念有一定了解。一致性问题强一致性的解决方案:事务和锁,弱一致性的方案:消息队列。分布式session一个常见的问题,也有多种解决方案分布式缓存和上面说的缓存一样,只不过这里侧重缓存的分布式方案分布式数据库这里指的数据库的分布式方案,也包括hbase这种分布式数据库。负载均衡负载均衡也是一个值得探讨的话题,一般我们讨论的是七层和四层负载均衡。消息队列消息队列是一个比较复杂的分布式组件,我们可以了解常用消息队列比如amq,kafka等的实现。服务化服务化的核心包括rpc,服务注册中心等等。分布式服务相关技术也是后端同学必须掌握的内容。虚拟化虚拟化同样不是后端同学必须掌握的内容,只不过现在越来越多的服务部署方式使用的是docker和云服务的方式。所以了解一下也没有什么不好的。

127 评论

相关问答

  • 大华算法优化工程师

    如下: 1、作息制度,2021年了还要求程序员8点半到公司打卡,但是下班确基本在9点之后,虽然说周二周四可以早走,但其实根本没多少人敢走。 而且公司的食堂也是严

    华丽的转身159 4人参与回答 2024-06-05
  • 图像算法优化工程师

    图像算法工程师需要协助完成项目的系统集成测试、版本交付等工作,对项目实施和维护提供支持。下面是我为您精心整理的图像算法工程师的职责概述内容。 图像算法工程师的职

    a长了一半的草 3人参与回答 2024-06-06
  • 算法性能优化工程师

    数据挖掘算法工程师岗位职责 在现在的社会生活中,岗位职责使用的频率越来越高,制定岗位职责可以最大限度地实现劳动用工的科学配置。一般岗位职责是怎么制定的呢?下面是

    十米之上 4人参与回答 2024-06-04
  • 底层算法优化工程师

    算法工程师岗位职责(通用4篇) 在现实社会中,岗位职责使用的情况越来越多,制定岗位职责可以有效规范操作行为。那么制定岗位职责真的很难吗?以下是我为大家收集的算法

    快乐@天使33 4人参与回答 2024-06-05
  • 算法优化工程师简历

    说到面试,最重要也是最基础的就是简历了。都说简历是敲门砖,顾名思义就是用来敲开企业大门获取offer的。递交简历其实是一个很有商业规范的事情,和生意人之间互换名

    karastt823 6人参与回答 2024-06-06