java吧 关注:1,284,321贴子:12,805,679

本人目前大四,计算机科学与技术专业,就要毕业了,面试Java

只看楼主收藏回复

本人目前大四,计算机科学与技术专业,就要毕业了,面试Java初级,校招面试了几家公司,一直被刷。基础比较薄弱,现在想学了有没有大佬愿意带带我,或者给点建议也行啊,觉得大学白上了,谢谢各位大佬了!!!


IP属地:安徽来自Android客户端1楼2019-11-14 18:37回复
    4年学了什么


    IP属地:广东来自Android客户端2楼2019-11-14 20:57
    收起回复
      2025-10-24 16:26:39
      广告
      不感兴趣
      开通SVIP免广告
      不知道怎么学了,现在在学ssm,spring MVC框架,可以么大佬给支个招呗


      IP属地:安徽来自Android客户端3楼2019-11-17 20:40
      回复
        基础薄弱你还整框架?我随便抽一题leetcode你都不会你会用个框架有啥用,你要目标就是外包当我没说,校招还跑不掉只能反思一下自己基础然后补啊,春招加油叭


        IP属地:江苏来自Android客户端4楼2019-11-18 01:06
        收起回复
          从你在说学习ssm就知道你基础很弱,不是算法,数据结构的问题,除非进大厂,否则这两个并无大用。Java的基础是JavaSe,很多数据结构并不需要你会写,会用就够了,表,链表,hashMap,集合,队列,Vector,Stack,跳表,树,图,不需要你去了解算法和数据结构的具体实现,需要的是你知道这些数据结构是什么,运用的场景


          来自Android客户端5楼2019-11-19 12:58
          回复
            比如数组实现的集合,大多会有RandomAccess接口,这是因为数组结构查询极快,增删慢,而链表是查慢,增删快,Hash是一个很神奇的解决方案,查增删都快,就是要处理hash冲突,跳表是hash和链表的升级,使用空间换时间的思路,Queue,Stack,Vector本身是另一个纬度的结构,特点是各自的用途。


            来自Android客户端6楼2019-11-19 13:02
            回复
              多线程是javaSe的一个核心之一,所有的集合在多线程中作为临界资源需要进行保护,Immutable是最理想的方式,Concurrent或者Sync是另一个方案,CopyOnWrite也是一个解决思路,ConcurrentHashMap和HashTable的解决思路是分段锁,BlockingQueue,PriorityQueue,DelayQueue这些也是多线程下的集合工具


              来自Android客户端7楼2019-11-19 13:05
              回复
                多线程知识是nio的一个基础,不懂多线程的会很难理解nio的,因为Java的Nio是多路复用模式,问题的产生就是来自多线程。至于jvm,不懂java基础,去看jvm简直就是乱搞


                来自Android客户端8楼2019-11-19 13:07
                回复
                  2025-10-24 16:20:39
                  广告
                  不感兴趣
                  开通SVIP免广告
                  JavaSe学不好的,是很难理解ClassLoader,Proxy,Reference这些东西的,光知道个gc的算法和jvm能理解清楚jvm?不理解多线程的高层次的api,怎么去理解sync,volitale,aqs,lock,syncer这些较底层的知识,光靠个jvm内存模型你就能理解多线程?


                  来自Android客户端9楼2019-11-19 13:10
                  回复
                    听楼上大佬的,意思就是别着急看框架了,先把基础从头到尾用一个月时间再系统性的学习一遍,比啥都强,要不实习都不一定能走出去


                    10楼2019-11-19 13:11
                    回复
                      JavaSe是Java的核心,学好这些配合设计模式,能加深对框架的理解,但那是进阶,对于初学者,只要做好以下,就能找个普通工作了


                      来自Android客户端11楼2019-11-19 13:12
                      收起回复
                        1.熟悉JavaSe的基础知识
                        基本类型,语法,类与对象,集合的简单使用,io(不推荐去理解太多,因为初学者看不透,能用封装好的方法(比如nio.Files,apache.FileUtils,guava.ByteStreams等工具类)去实现文件读写就够了,里面封装了多层的复杂的设计新人看写看不懂,极度推荐guava的ByteSink,CharSink等类有助于你去理解字节字符,而不是使用装饰器模式的jdk)


                        来自Android客户端12楼2019-11-19 13:15
                        回复
                          2.了解Http请求和Json,Json推荐FastJson因为简单,熟悉了以后想深入用Gson还是Jackson随你,了解Json和String的关系。Http请求的学习,推荐使用SpringBoot直接加web模块启动,然后用Http客户端去发送


                          来自Android客户端13楼2019-11-19 13:18
                          回复
                            RestTemplate,UriComoonentBuilder是一个很优雅的解决方案,对于简单的Rest类型。Jersey的ClientBuilder也是很好的学习路径,okHttp可以作为进阶了解,毕竟是最火的,极度不推荐Apcahe的HttpClient(用起来极度不适)


                            来自Android客户端14楼2019-11-19 13:20
                            回复
                              2025-10-24 16:14:39
                              广告
                              不感兴趣
                              开通SVIP免广告
                              3.Spring是不可跳过的一关,但是Spring太大了,许多知识并不适合新手,BeanFactory,ApplicationContext,PostProcessor,ImportSelector,Aware等等太多了,对于新人来说理解原来简直只能靠死记硬背完全没用,简单来讲学习Spring需要关注的是Component接及Configuration,Bean,Primary等注入的注解以及装配的注解Resource等,以及Aspect相关的高层注解(不要去理解原理,会用就够了,不懂代理模式,不懂ClassLoader,不懂Annotation和Reflect拿头去理解aop原理)


                              来自Android客户端15楼2019-11-19 13:25
                              回复