继续数据结构学习,估计还要3天才能看完这本书,能写出各种算法的程序员真的太强大了,设计这些数据结构的人真的都是顶尖的程序员!白纸黑字写在那我们都得看好久才能理解!。

做前端需要会JAVA吗?

从我的理解来看,题主应该是非计算机专业吧,如果是计算机专业,多多少少会学习编程语言、数据库相关的知识,而Java一般是计算机专业的必修或选修课程,至于什么都不懂,大学即使是睡过来的,但是要说自己什么都不懂,还是很少的。从学生的角度来看,做前端会html、css、js就可以了,但是从前端工程师的角度而言,这远远不够,只会写document元素、会写层叠样式表、会写js脚本,这远远不够的,虽然我主要做Java后端,基于Spring MVC Dubbo或Spring Boot Spring Cloud的技术线开发,但是要完成一个完整的项目,没有前端同事的协助开发是不可能的。

一个项目的开发完成,往往是前后端的精诚团结、彼此理解才能顺利进行。当然,主要有两种合作模式,即完整的前后端分离(包括后台管理项目也做前后端分离)或是后端开发完成整个后台管理项目的开发。一般而言,前端所做的项目都是直接面向终端用户的,需要考虑的东西很多,用户体验、用户行为习惯、自适应、各端H5页面嵌入APP的模式等都需要考虑的。

从百度获知,一个合格的前端应该熟悉并使用以下技术内容:html, css, jQuery三者完全掌握,相信每个公司对于前端程序员都会有此要求,这些也是前端写网页的基础技术;掌握原生HTML5和CSS3技术,能够独立完成移动端页面开发;了解ES6的所有新特性,如:箭头操作符、类的支持、增强的对象字面量、字符串模板、解构、默认参数值、不定参数、拓展参数、let与const 关键字、for of 值遍历、iterator, generator、模块、Proxies等等;熟练使用命令行,包括 gulp、 webpack 、vue-cli 、git ;理解前端常用设计模式(装逼词汇),如闭包、面向对象、MVC、MVVM、单项数据流、路由、单元测试、SSR、意大利面条、模块化、组件化、函数式、纯函数、高阶函数、不可变数据;能熟练使用至少三大前端框架中的一个,如 vue、Angular和 react,也许今年有某一个框架会胜出,所以有时间的话,三大框架都学学吧;熟悉 HTTP,了解请求、响应、缓存、代理、反向代理 https 等;在 GitHub 至少有一个 star 超过 42 的开源代码作品(markdown 不算)就我个人而已,在做Java的同时,除了很紧急的项目做严格的前后端分离只需提供restful风格的http接口,很多时候都会自己操刀进行后台管理页面的开发,以JSP和Freemarker模板引擎,结合bootstrap jquery技术线,或是比较流行的vue完成管理后台的开发也是常见的工作任务。

除此之外,在缺乏前端开发人员时,去学习和使用前端开发技术(如React Redux Flux)也是有可能的事。总之,对于程序员或准备从事程序员职业的人而言,保持技术深度的同时,保持技术的广度是很有必要的事情。作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

学习java编程时,什么时候学习算法好点?

谢谢邀请!算法和数据结构对于编程来说是非常重要的,因为程序设计说到底就是一个算法问题,在后端开发、大数据以及人工智能相关的开发中,算法都是非常重要的从业基础。算法本身是独立于程序设计的,但是要想真正的掌握算法需要通过编程语言对算法予以实现,所以通常情况下都是掌握了编程基础之后再开始学习算法和数据结构。

以Web开发为例,学习Java的过程大概分为三个阶段,分别是编程语言基础、Web开发基础、分布式开发和框架开发,通常情况下在编程基础学习完之后就可以学习算法和数据结构了。Java编程基础包括掌握面向对象编程过程、数组、流程控制、封装、继承、多态、异常处理、IO、集合、多线程以及网络编程等内容。算法设计的学习往往从排序开始,然后是递归求解、概率分析、随机算法、数据结构(栈、队列、链表、图、树等)、贪心算法、核算法、图算法等内容,算法的学习需要一个系统的过程,同时要结合实验进行。

其实,算法的学习也可以先于编程语言的学习,不少算法设计的教材会提供基于算法的伪代码的实现过程,对于没有编程基础的人来说也能够了解算法的实现过程,看两个例子:算法设计的基础是数学,所以在学习算法之前要对高等数学、线性代数、概率论和离散数学有一定的了解,因此数学对于计算机专业来说还是非常重要的,如果要想在软件研发这条路上走的更远,一定要有一个扎实的数学基础。

对于研发级程序员来说,几乎每天都要跟算法打交道,但是对于应用级程序员来说,与算法打交道的时候往往并不多,对于学习者来说要根据自身的知识结构来选择发展方向,做应用级研发也是可以的。我的主要研究方向是大数据和人工智能,目前也是一名计算机专业的研究生导师,我会陆续在头条写一些关于互联网、大数据、人工智能等方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

面试一个5年经验的java,不知数据结构,却大谈分布式,这样的候选人能要吗?

我估计你是问了人家 jdk各种数据结构底层实现原理,其实我一直很纳闷啊,知道底层实现原理 这当然很OK 很加分,但若是不是那么知道,那又怎样呢?人家知道哪些数据结构适合哪些场景并能熟练使用它们,这...不够么?对你们公司的用人需求不够么?难道你是指望他给你们公司创造一个新的数据结构?又或者觉得jdk已经实现的数据结构性能遇到瓶颈 指望求职者给你再实现一遍一模一样但性能比jdk提供的还优秀的数据结构啊?。

普通三本大四java准毕业生,目前应该先把数据结构这些巩固一下?还是学一下主流框架?

目前大学里面所学习的技术还不能满足企业开发的需求的,随意对于本科大四Java准毕业生来说不是先学习数据结构巩固一下还是学习一下主流框架,建议还是从Java基础开始稳扎稳打学习起来。如果说自己觉得大学四年自己学的还不错的话,可以看看网上的招聘需求若自己觉得都学到的话,可以直接投简历面试看看。如果面试不行,赶紧从头开始学习吧。

面试问:HashSet底层为什么要用HashMap?为什么要用hash函数?有什么好处?不用HashMap有什么其他方式实现set?你有见过什么其他的实现吗?HashMap混合使用多种数据结构(数组、链表、红黑树)crud效率高,最快的情况下时间复杂度O(1),最慢也就O(n),又能保证key的唯一。


文章TAG:数据结构  Java  java  算法  
下一篇