精华内容
下载资源
问答
  • Java 后台开发实习经历

    千次阅读 2019-04-20 20:45:31
    索性就把这几天实习经历整理记录下来。 2019.03.27(day1) 入职培训 申请各种公司账号 认识同事 配置IDEA环境 在禅道上拆解任务 学习状态机 学习观察者模式 学习UML 学习事件驱动 day1学习笔记 ...

    不知不觉已经实习有一段时间了,主管让我自己先想想成长计划。索性就把这几天实习的经历整理记录下来。

    2019.03.27(day1)

    1. 入职培训
    2. 申请各种公司账号
    3. 认识同事
    4. 配置IDEA环境
    5. 在禅道上拆解任务
    6. 学习状态机
    7. 学习观察者模式
    8. 学习UML
    9. 学习事件驱动

    day1学习笔记

    在禅道上拆解任务

    在禅道上新建任务,估计任务完成的时长、优先级,完成之后做好记录。每天晨会要报告自己昨天做了什么,今天预计做什么。

    状态机

    在学校学了编译原理之后,觉得状态机原理跟自动机差不多啊,学起来也很快。看一两篇文章就弄懂了。基本就是,在当前状态下,满足一定条件或完成什么动作之后,就可以进入下一状态。

    观察者模式

    之前二面被面试官问到设计模式的时候,真的是一脸懵逼。于是回去后趁热打铁学了一下单例模式、工厂模式、适配器模式,不得不说这对我学习观察者模式帮助很大。看几篇博客之后就差不多理解了。
    被观察者和观察者是一对多的关系。观察者会维持一个被观察者列表(一般用 list 实现),观察者把自己注册到该列表中。当被观察者状态发生改变之后,会主动通知列表中的观察者更改后的状态。

    UML

    就是制图语言,学起来挺快的,用几次就得心应手了。不过UML对于设计和看懂别人的设计帮助真的很大。

    事件驱动

    学习这个源于指引人给布置的一个小任务,实现事件驱动异步全量加载数据到缓存中。事件驱动?异步?全量?缓存?单看我都懂,不过揉在一起是个什么东西(?_?)。于是心虚地向指引人请教。指引人非常耐心地跟我讲了一下事件驱动,让我去看看安卓的EventBus

    然后稍微懂了一下。主要就是维持一个事件队列(可以用阻塞队列实现,这样队列空的时候会自己阻塞),EventBus每消费一个事件,就会把这个事件告诉Controller,由它根据事件类型,发放给不同的模块完成事件。

    “事件驱动异步全量加载数据到缓存中”状态图

    事件驱动异步全量加载数据到缓存中,就是实现一个以事件驱动的方式,异步加载数据库的数据到缓存中(好像只是做了扩句。。。)
    先设想了一下 cache 的状态:int、loading、running
    状态转换过程:init状态下,接收到“初始化”事件,切换状态到loading。当数据加载完成后会发送“加载完成”事件到数据总线。在 loading 状态下接收到“加载完成”事件会切换到running 状态并启动定时器,定时发送 reload 事件。在 running 状态下收到 reload 事件会将状态切换到 loading。
    在这里插入图片描述

    2019.03.28(day2)

    1. 画 “事件驱动异步全量加载数据到缓存中”类图
    2. 画 “事件驱动异步全量加载数据到缓存中”时序图
    3. 编程实现 “事件驱动异步全量加载数据到缓存中”

    day2笔记

    在设计的时候走了不少的弯路,最后在指引人的耐心指导下,终于完成了。
    附上寄几的 GitHub:https://github.com/Xyuping/Design-Pattern/tree/master/观察者模式/事件驱动异步全量加载数据到缓存中

    2019.03.30(day3)

    1. 编程实现“事件驱动异步全量加载数据到缓存中”交给指引人审核
    2. 学习单元测试

    day3笔记

    上午先把代码给指引人看了,修改了一些小地方。
    下午开始学习单元测试。稍微看了看白盒、黑盒测试。重点学习单元测试的 Junit。
    附上寄几的 GitHub:https://github.com/Xyuping/Notes/blob/master/单元测试.md

    2019.04.03(day4)

    1. 继续学习Junit
    2. 广告业务流学习
    3. ACM流程图

    day4笔记

    广告业务流

    由于指引人清明要去旅游,赶紧揪住他问了下一个任务。然后他讲了一下公司的广告业务流程,主要的架构,各个架构之间的关系。(据说这个架构理论上可以应用于各种交易场景,不明觉厉)

    ACM(Account Manager)

    账号管理

    管理账号的认证方式以及密码
    

    认证管理

    提供统一的账号认证。支持单点登录。
    

    一开始连单点登录是什么都不知道的我,在小伙伴的帮助下,去了解了一下CAS,(在这里要感谢学校开了密码学的课,对于认证这些还是懂一些的)。总算能稍微看懂指引人还没完成的设计了。

    2019.04.09(day5)

    1. 看ACM类图并修改

    day5笔记

    之前看时序图的时候有个小疑惑,在CAS的设计中,用户访问服务A的时候,如果没有认证,A直接重定向到CA。而指引人的设计,还多了一个W eb-1。当时不晓得为什么要这么做。后来问了他才知道是为了实现前后端的分离。

    因为只做过 servlet+jsp 的项目,对于前后端分离并不了解。原来现在的页面主要是浏览器来渲染,后端只负责把数据给浏览器。所以Web-1只是一个静态页面(html、js…)Web-1Gateway才是后端来处理和返回数据。
    (Mark 一下这里,以后还要深入了解一下)

    2019.04.10(day6)

    1. 下载安装和配置 gradle
    2. 从 GitLab上克隆项目
    3. 下载etcd-v3.3.12-darwin-amd64
    4. 了解 oapi
    5. 了解Netty

    day6笔记

    今天主管指派了几个小bug让我改。于是暂时先放下ACM,开始正式深入了解公司的架构。
    先是手忙脚乱地配了一波环境。
    下载安装 gradle,然后使用 init 脚本让gralde在编译过程中使用私有的maven库 。
    在 USER_HOME/.gradle/ directory下创建init.gradle

    // init.gradle
     
    allprojects {
     
      ext.RepoConfigurator = {
        maven {
          url 'http://xxxx/repository/maven-public/'
        }
        maven {
          url 'http://xxx/nexus/content/groups/public'
        }
      }
       
      buildscript.repositories RepoConfigurator
      repositories RepoConfigurator
    }
    
    

    配置完之后就在GitLab上面克隆项目了。
    在IDEA打开项目的时候,发现,项目真的好大啊(@o@)。然后怀着敬畏的心开始追踪代码。
    然后看到熟悉的EventBus、Controller,总算找到入手点,没那么慌了。不过还是看得很晕。一个下午只堪堪看懂了初始化阶段。(后来反思了一下,其实初始化在一开始可以直接把它当做黑盒,不必了解的太过深入)。
    然后看到Netty 的时候觉得有点眼熟,就顺便去大概了解了一下NIO、Netty
    ps:IDEA的快捷键真心好用啊。

    2019.04.13(day7)

    1. opai 类图、时序图

    day7笔记

    今天还是在了解 oapi,不过要有输出。于是觉得画画类图时序图来帮助理解。一开始画类图和时序图的时候,由于画得太细了,导致效率很低,图也非常臃肿。后来在指引人给我大致讲了整个架构,指出重点之后,我再重新画了主要的类图和时序图。
    不得不说看别人的代码确实能学到很多,也有很多收获。

    1. 如何把设计模式运用在实际开发中。
      单例模式:用了大量的单例模式,例如 EventBus、Controller、State 等等
      观察者模式:eventbus、controller 等等
      工厂模式:在日志那用到
      适配器模式
    2. 对象复用:减少创建对象的消耗
      在类中维持一个对象池(公共静态的队列),可以把用完的对象reset 之后放进池子里,等下次用的时候直接取出来用。(感觉有点像线程池)
    3. 用好public static final int xxx = 数字;
    4. 实现缓存机制。(把一些结果存到缓存里,查询的时候先看有没有命中缓存,这样可以减少查询数据库的操作。类似于cache 和内存。)
    //pool
    public class MessageQueue {
    	private LinkedBlockingQueue<MessageItem> messageQueue = new LinkedBlockingQueue<>();
    	private ConcurrentLinkedQueue<MessageItem> itemPool = new ConcurrentLinkedQueue<>();
    	class MessageItem {
        int eventType;
        OAPIParam param;
      }
    	public void putMessage(int eventType, OAPIParam param) {
        try {
          MessageItem item = retrieveItem();
          item.eventType = eventType;
          item.param = param;
          messageQueue.put(item);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
    public void eventLoop() {
        while (true) {
            MessageItem item = messageQueue.take();
            transaction = Cat.newTransaction("event", EventType.getDescription(item.eventType));
            observer.handle(item.eventType, item.param);
            //put into idle list for reuse
            item.param = null;
            this.itemPool.add(item);
        }
      }
    	private MessageItem retrieveItem() {
    	    MessageItem item = itemPool.poll();
    	    if (null == item) {
    	      item = new MessageItem();
    	    }
    	    return item;
    	  }
      }
    

    2019.04.17(day8)

    1. 在oapi 中排查接口 bug
    2. 看DMS代码
    3. 了解Mevan

    day8笔记

    排查 bug

    做测试的时候发现别人已经写好测试了QAQ,所以测试的时候主要就是写了个代码把Juint跑起来看看几个重要函数。

    然后启动 etcd,再把别人已经写好的桩启起来,在DMS处debug,运行 oapi。另外装了个 postman 协助测试。
    (此处要万分感谢指引人,没怎么看过 mockito 的我对着桩是一脸懵逼的)
    经过排查之后发现 oapi 应该是没有问题的。(传到DMS的参数是正确的而且符合协议)
    然后就要开始学习DMS了。同样把项目从GitLab上克隆下来。
    在DMS目录下运行两个命令

    git submodule init
    git submodule update
    

    (先 Mark 一下,要抽个时间好好学学 git 才行)
    然后开始看代码(据说这个版本还是用状态机实现的旧版本,马上要被替换掉了。。。先用他来熟悉下大体框架emmm)

    2019.04.18(day9)

    1. 学习mockito
    2. 学习DMS
    3. 尝试排查 bug

    day9笔记

    mockito

    昨天做测试的时候比较吃力,主要还是对打桩、mockito 这些没什么概念。于是向先把 mockito学一下再开始。主要了解了一下基础的部分。
    觉得下面这篇文章写得还不错:https://www.cnblogs.com/wangtj-19/p/5822369.html

    DMS

    向指引人请教了一些问题。觉得自己看代码看得太慢了,主要还是因为对整个流程的不熟悉,以及弄不清楚各个模块之间的数据边界,有时候容易过于深入,不能把某些部分抽象成黑盒。

    排查 bug

    本来想直接依葫芦画瓢,直接启别人的桩。不过指引人的建议是先追踪代码,看看哪里容易出现问题,单独排查。虽然有点懵,不过接下来要好好学学测试了。

    终于打完了。。。以后再回来完善一下叭。。。
    现在要去好好思考接下来的成长计划了。
    每天都要加油鸭~

    展开全文
  • Java开发实习(入职经历

    万次阅读 多人点赞 2018-11-24 15:50:42
    今天周末,在家整理电脑,看着自己辛辛苦苦总结出来的学习记录越来越多,忍不住想要整理出来分享一下。 2018年10月29日 上午10点,开新人入职培训会,刚来到公司不是太清楚该做什么,就没事安装软件配下环境,没...

    今天周末,在家整理电脑,看着自己辛辛苦苦总结出来的学习记录越来越多,忍不住想要整理出来分享一下。

    2018年10月29日

    上午10点,开新人入职培训会,刚来到公司不是太清楚该做什么,就没事安装软件配下环境,没想到开会竟然迟到了,幸亏组长提醒。赶忙去开了会,然后人事部的重新点了一下名字,坐下了。大致讲了规章制度,什么该做,什么不能做,待遇等。。。比公司宣讲的时候多了一点要求,其他,比如福利相比宣讲时一样不少。

    然后,各自回到了自己的岗位,组长让申请一个邮箱,说明以后交流安排任务都是邮箱交流。之后,邮箱很快就收到了一个新手包,打开一看里面各种公司规章制度,代码规范,注释规范等。然后。。就看了一天,把该安装的都装上了。

    2018年10月30日

    第二天,由于制度不多,制度看的也差不多了,于是。。组长给了个svn账号,打开Eclipse发现svn已经配好,可以直接用,就把需要的几个项目下载了下来,看到项目。。有点楞。。。原来在学校写的那些所谓的项目。只不过公司项目里的一个到两个小包罢了。。。。然后。下载下来的是线上项目

    项目启动时tomcat的虚拟目录+nginx
    当时也不懂,只是知道需要把host文件配置一个公司域名用来nginx本地映射把 。。windows系统的 hosts文件映射 加一个 127.0.0.1 域名。

    然后配好之后成功的启动了项目,但是。看着这么大的项目还是感觉头大,然后就。。先自己搭建配置配置。。
    配置ibatis 看了看下面的博文,大致明白了一些
    https://blog.csdn.net/lsx2017/article/details/81274480#创建一个SqlMapConfig.xml文件

    然后不知道怎么找界面的jsp,就问了旁边的小姐姐。。。然后,演示了一遍,大致学会了ctrl+h搜索 指定内容(搜xml里的spring配置),然后Eclipse查找类快捷键 ctrl + shift +r。

    2018年10月31日

    第三天还是看项目,闲着没事就开始胡搞了。。

    maven项目的创建回顾
    setting.xml修改

    1.maven仓库地址:
    	<localRepository>d:/.m2/repository</localRepository>
    2.阿里maven私服:
    	<mirror>
          <id>AliMaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
    	 </mirror>
    3.jdk默认版本(在<profiles>节点内配置):
    	<profile>
        <id>jdk-1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>
    	</profile>	
    
    4.Eclipse -->windows -->properties -->maven -->UserSetting --> (填写maven setting文件的路径)
    5.创建项目: 对应含义
    	Group_Id     .   Artifact_Id
    	com.quaint   .    project
    

    Spring插件的安装回顾

    1. 选择Spring插件版本下载到本地
      http://spring.io/tools3/sts/legacy
    2. Help --> install New soft…
      点击add,之后输上插件的名字,我输入的是spring,接着点击archive…找到刚才下载的安装包.点击ok,然后只安装后缀是Spring IDE的4个 Finish

    ssi项目理解

    点击超链接 --> http://..com:80/cdel_flat/course/view.do?op=init
    跳转cdel
    _flat/course/view.do 传参 ?op=init (会找到action内部的方法–>进行业务调用和页面转换)

    .do 被web.xml 里配置的filter 过滤

    1. 字符集过滤 实现的类为:com.chnedu.plat.rad.filter.SetCharacterEncodingFilter

    2. 判断参数过滤 实现的类为: com.chnedu.plat.rad.filter.AjaxAuthenticationFilter

    3. ctrl+h 在 xml文件中搜索 course/view 找到 关于该路径的配置信息
      在spring.xml找action类(ctrl+shift+r快速搜索该类)
      struts.xml 找 跳转的页面(ctrl+shift+r快速搜索该类)

    4. 配置文件需要在 web.xml中引入 以便启动时加载 3中的配置文件

    2018年11月1日

    这是第四天了,项目熟悉的差不多了,分配了一个增删改查的小任务,然后告诉我,什么都要手动敲,不要自动生成。。可能是让我练习基础把。
    然后就试着写了这个小功能,划水了两天哈哈。。。然后这周就没有了,后面可能就没什么感悟了,直接发记录了。不是大公司的话一般第一周都是这个流程的把。熟悉完公司规章制度,就立马让你赶紧熟悉项目上手了,哈哈。总之呢,能提升自己就提升自己吧,既然走了it这条路,就要抱着终生学习的觉悟。

    2018年11月2日

    嗯?还要写吗。。昨天11号不是说今天也划水划过去了嘛。。嗯,算了,在这补充一下把。。周六周日是双休。哈哈。。发现了一个比较好的ssm框架搭建
    地址:idea通过maven搭建ssm

    展开全文
  • Java软件开发实习报告

    2018-03-29 08:35:16
    实习报告是作为专业人员在实习期间进行书写的对于实习期间个人工作学习经历及其个人思想和能力提高情况进行描述的文本。属于应用写作的重要文体之一。针对工作的主客观条件、有利和不利条件以及工作的环境和基础等...
  • Java开发实习生面试经历与总结

    千次阅读 多人点赞 2020-01-01 15:34:50
    Java开发实习生面试经历与总结 一、引言——初生牛犊不怕虎 2019年 我是从大二暑假开始,正式进入Java的学习。大二上学期的时候,学校开设了只有11周的Java程序设计课程,我当时也没有对Java产生太大的兴趣,把...

    Java开发实习生面试经历与总结

    更新日期:2020年1月1日

    一、引言——初生牛犊不怕虎

    2019年
    我是从大二暑假开始,正式进入Java的学习。大二上学期的时候,学校开设了只有11周的Java程序设计课程,我当时也没有对Java产生太大的兴趣,把考试应付过了,把课程设计应付过了也就没有再继续深入学习Java了。大二下学期以后,我开始参加学科竞赛,在“中青杯”数学建模竞赛中获得省一等奖,“电工杯”数学建模竞赛获得省二等奖,“高教杯”全国大学生数学建模竞赛获得省三等奖,我那时的想法是,借助自己自学的一些Python知识以及Excel知识,还有信息与计算科学专业打下的数学功底,来为将来成为一名数据分析师做准备。但是,我慢慢觉得数据分析的工作是比较枯燥的,数据清洗的工作会花费挺多的时间,真正建模型和做分析的时间不多,内心的成就感远远不及自己动手编写出一个程序的成就感。在了解了互联网市场的人才需求,综合考虑了自身的条件以后,我在大二暑假开始正式投入Java的学习。我先从Java SE的基础知识开始,跟着视频,以1.5倍数来看,把每个视频的代码都动手敲一遍,遇到有不懂的地方也会去查阅书籍,到了七月底,正式学习完Java SE,确切地说,正式学习完比较基础的Java SE,像多线程、网络编程、反射等知识我都是很快地略过的。然后自己也动手写了一个简单的学生成绩管理系统,它是基于Java Swing的,持久层是利用txt文件,也是当作对Java基础语法的一个小练手:
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述完成这个小项目以后,已经是八月中旬了,我开始投入Java EE的学习,我是一直跟着黑马程序员培训班的Java开发工程师就业班的视频来学习的。当时我觉得我走了挺多弯路,我学了很多较老的技术,如Servlet、JSP等,而且学得很慢,主要是刚刚开始接触Java Web,很多配置也是云里雾里的,很多错误也调试了很久才得以解决。曾经还有段时间花了很多时间在JSP语法的学习上面,没有尽早地接触和理解Spring、SpringMVC、MyBatis框架是比较失误的事情。
    慢慢地到了十月份,计算机网络这门课程有个串口通信的实验,我也运用Java Swing和虚拟串口写了一个串口通信聊天室。
    在这里插入图片描述到了十一月份,计算机网络有一个课程设计是基于TCP/IP协议的Socket通信,这是我接触到的第一个较大的工程。我主要复杂客户端后台的开发以及实时语音模块的客户端服务端的开发
    在这里插入图片描述
    这个注册界面是Web端的,后台我是用原生的Servlet和JSP编写的,前端是用LayUI框架搭建的
    在这里插入图片描述
    聊天主界面,可以实现发送文字、发送文件(断点续传)、聊天信息的保存,其实就是简易版的QQ功能,界面在高仿微信

    在这里插入图片描述还要实时语音的功能,后期我会专门写一遍博客来介绍,也会将代码开源到GitHub上。
    转眼间就到十二月了,我也才开始Spring、SpringMVC和MyBatis框架的学习,我还是跟着哔哩哔哩的视频来学习,目前也只是会使用,很多底层的细节和设计思想也没有深入理解,也自己动手做了一个网站,学生信息管理及选课系统,并部署到了阿里云服务器上。
    可以访问此链接来看到我的项目:http://101.37.13.188:8080/StudentSystemZ/
    体验账号&密码&身份
    admin&123456&管理员
    12345&12345&教师
    201712010329&201712010329&学生
    后端:Spring+SpringMVC+MyBatis+MySQL
    前端:LayUI+Ajax
    功能:管理员:院系、课程、学生信息、教师信息、用户管理,当添加/删除 学生/教师时会将学生学号/教师编号作为系统的用户名和密码及其身份,作为学生/教师登录该系统的登录信息;学生:选课退课、查成绩、查改个人信息;教师:任课、给选其课的学生录入成绩、查改个人信息。
    不足:由于前端能力欠缺,界面设计不够友好;由于时间问题还有一些功能未完善。
    在这里插入图片描述管理员的后台布局
    在这里插入图片描述
    我自认为能做出这个项目就能够在企业中干简单的活了,于是赶紧写了一份简历,在拉勾网上海投了,然后收到了6家公司的面试邀请,其中有两家公司距离太远就没去面试。
    最终打算去面试的公司就是这四家:
    在这里插入图片描述人总是要突破自己的舒适区,及时很多东西不懂,也去努力地拼一把!所谓初生牛犊不怕虎,我能够用SSM开发出第一个框架,就还是有较强的学习能力的。

    二、人生中第一次正式的求职面试——华盈公司

    1.时间:2019年12月31日 10:00
    2.学历背景:华南农业大学(双非)信息与计算科学专业(非科班)
    3.笔试(30分钟)有5道大题,我答得很烂,题目挺简单的:
    第一题:你用过哪些Map类?请写出它们的区别。
    看到这个题目,我还是很有底气的,因为在准备面试前有在牛客网上留意相关的知识点。我只回答到了用过HashMap,了解过Hashtable和TreeMap,区别是:HashMap的键和值可以取null,线程不安全,Hashtable的键值不可以取null,线程安全,TreeMap底层是红黑树实现。
    比较标准的答案是:

    Map体系:
     ---| Map接口 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
    		---| HashMap  采用哈希表(哈希表的底存数据结构是链表数组)实现,所以无序
            ---| TreeMap  可以对健进行排序
     
    ---|Hashtable:
    底层是哈希表数据结构,线程是同步的,不可以存入null键,null值。
    效率较低,被HashMap 替代。
    ---|HashMap:
    底层是哈希表数据结构,线程是不同步的,可以存入null键,null值。
    要保证键的唯一性,需要覆盖hashCode方法,和equals方法。
    ---| LinkedHashMap:
    该子类基于哈希表又融入了链表。可以Map集合进行增删提高效率。
    ---|TreeMap:
    底层是二叉树数据结构。可以对map集合中的键进行排序。需要使用Comparable或者Comparator 进行比较排序。return 0,来判断键的唯一性。
    
    另外还有ConcurrentHashMap,CoucurrentHashMap是线程安全的,采用分段锁机制,减少锁的粒度。 
    

    第二题:描述一个新的任务添加到线程池的过程
    当时我是凭着自己的一点点零星记忆编了上去,因为之前没用过线程池,对线程的知识掌握的程度非常不够。
    比较标准的答案是:
    在这里插入图片描述 这里可以看到有一个任务队列,然后还有一个工作的线程池。这个队列是用来干什么的呢?当我们提交的任务不能被及时执行的时候,可以入队列,等待被执行的。现在对于线程池的提交任务流程做一个简单的图解。主要以cachedThreadPool为例。
    在这里插入图片描述图中所有创建的线程都会被放到线程池的hashset中记录下来。
    1.提交任务首先判断是否是null,如果是null就抛出空指针异常,如果不是执行2。
    2.判断线程池中工作的线程数是否小于核心线程池的大小。如果小于执行 3,如果大于执行4
    3.创建一个线程来执行提交的任务,如果失败重新获取线程池状态,然后执行4,成功就返回
    4.判断线程池的状态是否在运行和尝试向把任务加入等待队列,如果线程池已经关闭或者放入等待队列失败,执行6。如果放入队列成功执行5
    5.因为成功的入队了,我们需要重新判断线程池的状态,因为在放入队列的过程中线程池的状态可能会发生变化。如果发现线程池的状态不是在运行就将刚才添加的任务从队列中移除,然后执行拒绝策略。如果是在运行状态执行7
    6.尝试创建一个线程来执行任务,如果创建线程失败就执行拒绝策略
    7.判断当前的工作线程数是不是0如果不是就返回,如果是就创建一个线程!
    原文链接
    涉及到多线程的知识,我还是要补一补啊
    第三题:请写出一个单例模式的类
    由于前不久接触了Spring框架,所以我写的答案是:由Spring依赖注入的类默认是单例模式的,例如SqlSessionFactory
    比较标准的答案是:

    
    public class SingleObject {
     
       //创建 SingleObject 的一个对象
       private static SingleObject instance = new SingleObject();
     
       //让构造函数为 private,这样该类就不会被实例化
       private SingleObject(){}
     
       //获取唯一可用的对象
       public static SingleObject getInstance(){
          return instance;
       }
     
       public void showMessage(){
          System.out.println("Hello World!");
       }
    }
    
    
    
    public class SingletonPatternDemo {
       public static void main(String[] args) {
     
          //不合法的构造函数
          //编译时错误:构造函数 SingleObject() 是不可见的
          //SingleObject object = new SingleObject();
     
          //获取唯一可用的对象
          SingleObject object = SingleObject.getInstance();
     
          //显示消息
          object.showMessage();
       }
    }
    
    
    执行程序,输出结果:
    
    Hello World!
    

    还有什么懒汉式、饿汉式的实现方式,后期再慢慢补咯
    详见菜鸟教程——单例模式
    第四题:Redis的数据类型?
    我的回答是:字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等
    答案虽然对了,但是我还没使用过Redis,以后的项目中也需要慢慢用到

    第五题:用过哪些消息队列?使用场景是什么?
    我当时没有做这个题目,因为不会。
    比较正确的答案是:
    消息队列,一般我们会简称它为MQ(Message Queue)
    队列是一种先进先出的数据结构。
    消息队列可以简单理解为:把要传输的数据放在队列中。
    主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。使用场景的话,举个例子:假设用户在你的软件中注册,服务端收到用户的注册请求后,它会做这些操作:校验用户名等信息,如果没问题会在数据库中添加一个用户记录如果是用邮箱注册会给你发送一封注册成功的邮件,手机注册则会发送一条短信分析用户的个人信息,以便将来向他推荐一些志同道合的人,或向那些人推荐他发送给用户一个包含操作指南的系统通知等等……但是对于用户来说,注册功能实际只需要第一步,只要服务端将他的账户信息存到数据库中他便可以登录上去做他想做的事情了。至于其他的事情,非要在这一次请求中全部完成么?值得用户浪费时间等你处理这些对他来说无关紧要的事情么?所以实际当第一步做完后,服务端就可以把其他的操作放入对应的消息队列中然后马上返回用户结果,由消息队列异步的进行这些操作。或者还有一种情况,同时有大量用户注册你的软件,在高并发情况下注册请求开始出现一些问题,例如邮件接口承受不住,或是分析信息时的大量计算使cpu满载,这将会出现虽然用户数据记录很快的添加到数据库中了,但是却卡在发邮件或分析信息时的情况,导致请求的响应时间大幅增长,甚至出现超时,这就有点不划算了。面对这种情况一般也是将这些操作放入消息队列(生产者消费者模型),消息队列慢慢的进行处理,同时可以很快的完成注册请求,不会影响用户使用其他功能。所以在软件的正常功能开发中,并不需要去刻意的寻找消息队列的使用场景,而是当出现性能瓶颈时,去查看业务逻辑是否存在可以异步处理的耗时操作,如果存在的话便可以引入消息队列来解决。否则盲目的使用消息队列可能会增加维护和开发的成本却无法得到可观的性能提升,那就得不偿失了。

    4.第一轮就是技术面试
    首先是公司的技术主管来面试我,他先看了下我的笔试答案,问了我一些问题,我比较多都是没有回答上来的,因为我的基础知识太不牢固了,很多知识点都没有掌握。另外他还在我笔试题目的基础上,拓展了一些问题来问:
    1.可以用什么类来替换Hashtable?
    正确答案:ConcurrentHashMap
    2.Redis是用来干什么?
    通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。
    Redis的优点
    性能极高 – Redis能支持超过 100K+ 每秒的读写频率。
    丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
    原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
    丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    3.谈谈你对Spring的认识
    这一点我回答得比较好,因为我想到过既然我的项目中首次使用了Spring,那么面试问到的概率就极大。然后我也把比较标准的答案贴出来,作为今后面试的参考吧:https://blog.csdn.net/zhang150114/article/details/90478753
    这篇博客写得非常详细了,我也会继续研读的。

    4.说说MyBatis?
    这一问我回答的是MyBatis是一个持久层框架,它对查询结果的封装程度好,而且十分轻量,有两种配置方式,一是注解配置,二是xml配置。然后面试官继续追问,你喜欢用什么配置?我回答注解,因为注解比较清晰,比较简单,在单表查询的时候用注解配置比较容易。如果遇到较为复杂的多表查询,我会考虑使用注解。然后面试官继续追问,那如果在一个系统中,简答查询用注解配置,复杂查询用xml配置,你觉得这样好吗?如果是你会怎么做?我说不太好,因为容易混乱,如果是我,我会使用注解配置,提高编写注解的能力和水平,也是可以完成多表查询的。另外,他还追问道,如果你往数据库表中刚刚插入一条用户,怎么查询出来?我回答的方法比较幼稚,我说在表新增一个字段,刚刚插入的用户这个字段设置为new,查询的时候就就只查询字段为new的记录,查询完毕后就把它修改成old,就查询不到了。显然这方法不可行,面试官问我,要是很多用户同时注册呢?我回答不上来了,为了表现出我好学的一面,我问他怎么实现?他说MyBatis有一个功能可以做到,让我回去了解下。
    下面,我给出比较正确的回答:
    对MyBatis的理解:
    https://www.cnblogs.com/lanqi/p/7851552.html
    使用XML配置还是注解配置的问题:
    涉及的表字段少,业务简单,所以去用注解简单方便,个人认为mybatis强大之处在于他的动态sql,xml的可维护性高。而且在实际开发中表结构往往很复杂,所以在实际开发中建议大家用xml,即便很简单的业务,这样方便统一,也方便日后的维护修改。而且xml可以用mybatis generator自动生成也很方便。
    原文链接:https://blog.csdn.net/yy119388974
    查询刚刚插入的数据:
    在ybatis的Mapper.xml的insert中设置:useGeneratedKeys=“true” keyProperty=“对象中的属性名”
    https://blog.csdn.net/yt66222199/article/details/83791036

    5.然后问了一下我的项目经历,由于是我独立做的项目,所以也比较熟悉,回答的结果也让他比较满意。
    长舒一口气,技术面终于结束了。面完后就觉得要凉凉。

    5.HR面试
    主要是问了我在大学期间参加了什么社团,成绩怎么样,兴趣爱好如何,如何与他人合作啊等等。然后她们还问了我一个问题,我觉得我回答得不够谨慎,她们问我,可以实习多久,我说五到六个月,暑假不一定会在这继续实习(我内心是想自己可以去大厂实习的),然后她们继续问我心目中的公司规模是怎么样的?我说了互联网大厂,技术氛围要比较好,然后说如果去不了大厂可以选择中小型公司,继续提升自己的能力。面试完后一想,我就觉得我要凉了,既然选择了到他们的公司来面试,这的不应该说想要去更好的互联网公司,而应该把心目中的公司描述成和他们公司一支才可以。另外,一个公司招实习生说希望实习生能够转正的,公司不会这么容易就把培养了这么久的实习生放走,又去招收新的实习生。所以我觉得,今后的面试尽可能回答能够实习到大四,并争取转正。

    6.主管面试
    也问了我挺多问题,主要是考察我的综合能力,我自认为我的综合能力还算可以,就不一一列举了。

    7.面试结果
    当天下午就收到了,果然还是凉了。不过这次面试还是积累了挺多经验,也知道自己那些知识比较薄弱,也开始慢慢地知道面试官问题背后的意图了,希望2020年1月2日、1月3日的三场面试能够被捞上岸吧!不得不说,珠江新城的写字楼真的太豪华了,真的希望以后可以在珠江新城的高级写字楼工作啊啊啊!

    在这里插入图片描述

    在这里插入图片描述

    第一次正式的实习面试,over,继续加油咯!我会继续更新的,直到我找到实习!

    ————————————————————————————————

    更新时间:2020年1月2日

    第二场面试——千牵科技

    1.时间:2020年1月2日
    2.面试准备

    总结了第一场面试后的知识点,粗略阅读了《Java程序员面试宝典》

    3.面试流程
    3.1 笔试(40分钟)

    笔试考得比较基础,主要是一些常见的Java基础知识、Web基础知识以及几道很简单的逻辑题和一道求和道编程题,除了选择题中涉及的排序算法我没有选出来以外,其他的都还好,这也让我意识到我算法方面的薄弱,寒假开始后会开始学习。

    3.2 第一轮面试(HR面)

    笔试完后就是HR面,问的东西也是比较常规。自我介绍她要求我说一些简历上没有的,我回答得还算流畅。然后是问我如何协调学生工作、入党、学习等事情,接着是问我有没有升学、考公的打算等,总而言之,个人经历的问题只要把自己的经历、体会和思考给表达出来就可以了,而且回答的时候要记得分点,想好以后再回答。很顺利地,我就进入到了第二轮技术面试。

    3.3 第二轮面试(技术面)

    面试官很和蔼,浏览了一下我的简历后就开始问我问题了。
    1.关于集合框架
    我就说了Set、Map和List

    展开全文
  • 实习背景       转眼间,四年额大学生活就要接近尾声了,毕业的钟声将要敲响。将课堂所学知识运用于实践成为毕业生们必经的道路。带着老师的忠告,2020年8月3日我有幸来到XXX公司进行...

    实习背景

          转眼间,四年额大学生活就要接近尾声了,毕业的钟声将要敲响。将课堂所学知识运用于实践成为毕业生们必经的道路。带着老师的忠告,2020年8月3日我有幸来到XXX公司进行为期X个月的实习。
    作为大学生涯的最后一课,实习不仅重要更有其独特性,正是通过实习,让我逐渐掌握怎样把学校教给我的理论知识恰当地运用到实际工作中,让我慢慢褪变学生的浮躁与稚嫩,真正地接触这个社会,渐渐地融入这个社会,实现我迈向社会独立成长的第一步。

    实习目的

          进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,巩固大学所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

    实习内容

          我所在的实习岗位是一个所属研发部的程序开发岗位,主要工作是配合团队Java开发编写后台语言。由于是初次出来实习,所以我会在开发的初始阶段找一些相关的网站和对应的资料进行参考性学习,通过这些资料或许可以提升自身的技术水平,然后也可以帮助到现在做的项目,以及实现相关的技术功能。
    我的实习开始于XXX(开始涉及的内容),慢慢熟悉这个XXX,发现用到了许多在学校学习过的知识,还有扩展的部分,结合到团队给我的开发手册,以及代码规范,开始尝试着进行后台模块的开发,先是进行一些接口的调用,然后晋升到模块的开发,后来进行的一些简单的需求,其中有很多步骤是要和同事一起配合开发,当然就会有代码上传和更新的过程,所以就有了很多学习他人代码风格以及了解规范的机会。
          通过对java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

    从新认识Java语言

          Java语言的优点主要表现在简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
    1、Java语言是简单的
          Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
    2、Java语言是一个面向对象的
          Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)
    Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是—个纯的面向对象程序设计语言。
    3、Java语言是分布式的
          Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java。net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
    4、Java语言是健壮的
          Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
    5、Java语言是安全的
          Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
    5、Java语言是安全的
          Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
    6、Java语言是体系结构中立的
          Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
    7、Java语言是可移植的
          这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
    8、Java是高性能的
          与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just—In—Time)编译器技术的发展越来越接近于C++。
    9、Java语言是多线程的
          在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread (Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
    10、Java语言是动态的
          Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

    数据库的实践

          在此次实习中,与Web服务器相连的数据库采用的是大型关系数据库管理系统——Oracle。它是基于客户机/浏览机模式的数据库管理系统;它支持JDBC、ADO等技术的应用,可无缝的与Oracle集成,提供高效安全的数据访问服务;有利于整个系统管理规范化,使数据的完整性、安全性得到保证。
          数据库设计实际上主要是所要处理的数据的表示方法和存储结构的设计。在采用数据库技术之前,这些工作分散在应用程序中进行;在采用数据库技术之后,这些工作可以通过数据库设计集中起来系统地进行。进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入什么样的数据。创建数据库并不是仅仅为了存储数据,更主要的目的是从中提取有用的信息。除了考虑数据存储什么数据外,还应考虑存取方式,也就是处理需求。即要根据用户提出的存取要求来设计数据模式和应用程序。

    所用的控制技术——Servlet技术

    1. 什么是Servlet?
            一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的servlet类。
            javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
    2. Servlet的生命周期
            一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。

    页面设计-JSP页面

    1)MVC模式
          为了把表现层presentation从请求处理request processing和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Spring framework)。
    2)JSP技术的强势
          (1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
          (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
          (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
          (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
    3)JSP技术的弱势
          (1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
          (2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

    实习总结

           通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。其次,实习期间,我对项目的开发有了一个较完整的了解和熟悉。在实习过程中,我学到了许多在学校学不到的知识和技巧,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。再次,个人日语水平有了长足进步,对日后生活工作颇有裨益。
          此次毕业实习,我学会了运用所学知识进行软件开发,学会了如何跟同事进行合作沟通。积累了处理有关人际关系问题的经验方法。同时我体验到了社会工作的艰苦性,通过实习,让我在社会中磨练了自己,也锻炼了意志力,训练了自己的动手操作能力,提升了自己的实践技能。积累了软件开发的经验,为以后工作也打下了很好的基础。实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我都会因涉事而成长。
          还有就是对以后同学的建议,对于就业的现状和形式,推荐大家去大厂,还有就是稳定但是要可以提升自己的企业,能转正最好,大厂的话要平台大能推你一把最好。

    大家多多评论,有错别字找出来哈!!!

    祝您万事顺心,没事点个赞呗,关注一下也行啊,有啥要求您评论哈

    展开全文
  • Java开发实习生面试—附简历以及面试题

    万次阅读 多人点赞 2019-12-06 19:15:51
    面的是 Java开发实习生。 前些天注册了BOSS直聘,简单填了下资料。(其实还没准备找实习,就是上去看看行情~) 结果过了几天,(12月29号,星期五下午) ,突然有个招Java开发实习生的公司问我要简历。 (其实当时...
  • java实习报告共12篇 第1篇02Java实_报告农业职业技术学院 Java程序设计 教学...年 12月 27 日 二实_地点第4微机室 三实_目的 1掌握搭建Java开发环境的方法 2通过团队合作提高沟通交流能力培养团队合作精神 3严格按照Ja
  • 技术选型:java+mybatis+springboot+mysql 问题分析: 官网的作用是什么?——》展示公司面貌(以最小最优产品(MVP)方式呈现公司的核心业务,和其他公司差异化) 官网一般需要什么功能,包含公司的哪方面信息?...
  • Java开发实习面试总结(49分钟)

    千次阅读 多人点赞 2019-06-13 17:55:53
    在这里记录总结一下第一次面试经历。 前段时间投的简历,这两天准备期末考试(怂,就靠这两冲刺那。。),把面试的事搁置了,昨天下午HR突然打电话来直接要求技术面试,然后我只能说不方便了。。。明天十一点可以吗...
  • java开发实习生面试总结

    千次阅读 多人点赞 2018-07-18 11:44:36
    因为大四基本没有课程,学校也为学生着想尽量让学生多去实习,所以在大三结束后就抓紧时间找实习工作。 在刚开始时,我的意向其实是想在北京找工作,疯狂的投递简历,也有不少公司HR给我打电话,约面试,但大都希望...
  • 大四 Java开发实习近一年 记录

    万次阅读 多人点赞 2018-05-02 10:41:02
    17年7月4号是我实习生入职的日子,因为是校企合作,所以没有面试、老师推荐、直接入职。刚来北京第一个感觉就是人多,还有就是热。刚到公司第一天,部门经理安排了我的mentor,他也是我的项目经理,安排座位之后给他...
  • Java 开发实习经验

    2020-04-28 16:45:06
    半年的实习结束了,总结了一下自己实习经验,希望对即将入职场的同学有些启发。 1.勤记录 进入一个项目组,有一系列需要熟悉的东西,比如文件名,函数,环境配置,或者是分配的任务。 这些基础的东西反复问别人就...
  • 布雷恩科技(后端开发):唯实大厦上的一家小游戏公司,笔试没通过,感觉压根也就没想招人,笔试题中除了数据库的一道题不会做,其他六道算法题(包括两道附加题)都做了,应该正确率还可以。但是后来给舍友发短信说...
  • 异常的类型(没有重写过,直接说不会了) 运行时异常和编译时异常 重写异常的方法:https://www.cnblogs.com/java-demo/articles/9217343.html 11.==和equal的区别 等于操作符专门用来比较两个变量的值是否相等,也...
  • 我的Java研发实习面试经历

    万次阅读 多人点赞 2015-10-27 10:25:30
    58同城Java研发拿到offer 技术电面30分钟HR面10分钟 有点小信心了继续加油 大众点评Java研发拿到offer 技术一面20分钟 技术二面30分钟HR面10分钟 技术三面15分钟 总有复习不到位的地方继续努力 美团大数据部门Java...
  • 2020年春招阿里JAVA后端开发实习面经

    千次阅读 2020-04-19 14:54:51
    2020年2月23日内推了阿里某bu的Java开发岗位实习,历经三轮技术面,一轮笔试+测评,一轮HR面,终于,在2020年4月19日收到了实习offer!正经写一篇面经给有需要的小伙伴! 时间节点 2.23 内推简历 2.27 主管面 P8 ...
  • 2020年谈谈找java实习经历

    千次阅读 2020-12-03 17:37:15
    然后在接下来的几天里我拿到了中软国际的offer,还有一个对日开发公司的offer(但是需要签3年的合同),这两个我都给拒绝了,二这时,我在西安差不多待了10天左右,然后在一个周五的时候,我面试了一家小公司,很喜欢...
  • 基本情况介绍: 性别:lz**萌**妹子一枚 学校:本科双非、硕士985 ... 面试职位:web渗透测试工程师(安全方向)、JAVA开发工程师、测试开发工程师 春招结果:百度(hr通知准备三面,结果被放鸽子)、阿里(测开offer)
  • 3、讲讲自己实习经历最深的一次?实习团队氛围?刚进公司有压力吗? 4、算法用的多吗?自己平时怎么学习的?最大的挑战? 5、写代码(剑指offer):平衡二叉树? 6、tcp / udp? 7、操作系统:调
  • Java后端实习生专业要求

    千次阅读 2020-04-01 16:29:05
    以下是我在一些网站查到的一些公司关于java后端的实习生的专业要求的个人总结: 技术层面: 1.熟悉前端的html,css,javaScript,jquery并使用过一种前端框架。 2.扎实的java基础,熟悉多线程,IO,集合,socket,...
  • JAVA实习报告内容详细

    2011-03-22 12:44:17
    有关JAVA的实际报告,过程,日志,等等
  • Java后端实习总结--福州之旅

    千次阅读 2021-03-12 23:48:34
    太少了,给我一种像是没看的感觉,那么这次我就以我自己的实习经历,简单的谈谈自己对实习的一些看法,以及我注意到的一些事情; 首先先简单的讲一下,一天的作息,如果你实习过,你就会发现作息十分的规律,像极了...
  • Java开发工程师(实习)-面试总结

    千次阅读 2018-06-26 23:28:52
    在学校的经历,项目经历 框架方面 解决乱码? Json,如何在spring mvc中配置? 如何免密登录? 聊一聊分布式架构? core java 抽象类,接口区别? HashMap实现原理? 集合:...
  • 第一篇 Java工程师实习报告3000 2016java工程师实习报告 java工程师实习报告为大家整理java软件...java工程师实习报告 一实习目的 进一步了解java开发的相关知识掌握java开发的基本技术丰富java开发的实战经验学习SQL的
  • Java后端开发 校招实习面试准备

    千次阅读 2020-03-28 22:19:42
    目录一、JavaSE二、JVM1.Java内存区域2.内存溢出异常3.gc算法4.类加载器三、多线程/锁/并发四、数据库五、操作系统六、计算机网络七、框架七、JavaWeb八、设计模式九、其他十、算法题十一、数据结构与算法十二、场景...
  • java开发转测试开发经历

    千次阅读 多人点赞 2021-02-08 14:25:11
    我从毕业一直做java开发已经两年半了,到目前为止也挺喜欢开发的。 2、为什么想转行 想转行是由多方面考虑的,一:我的开发技能没达标,只能找到外包里的开发工作 二:开发前景对女生不够友好,难以获得认可...
  • 我 10 年前在一家外企做 Java 实习生的时候,就差不多这个水平((月薪 3k-5k),10 多年过去了,可以稍微把目标放得大一点,比如说 8k-10k,我觉得也不是不可能! 在一线城市找一份靠谱的实习工作我觉得还是不难的...
  • Java开发技术大纲

    2020-02-08 15:52:18
    我只是想实习雄厚的JavaSE基础关系型数据库Mysql网站开发、Web容器讲解、Linux入门、开发利器SSM框架分布式技术架构SOA架构主流中间件快速突破潮流架构技术:微服务架构基于SpringCloud微服务框架的大型互联网项目...
  • 2. 谈谈你对Java的看法和理解? 相较于C有什么优势? 和我说说面向对象的好处?和以往的有什么不同?为什么现在都是面向对象编程? 有了解过Jvm吗?对于里面的垃圾回收机制有了解吗?是怎么样的一个过程? 3. 说说...
  • Java软件开发实习生面试题总结

    千次阅读 2017-07-26 11:18:34
    我今天开始找实习,之前一直在做项目,主要记录下自己的面试经历和面试遇到的问题 1,第一次面试(58到家)  这次面试我是想试试水的,因为最近一直在忙着做项目,没怎么复习。 一面  1,做下自我介绍  2,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,460
精华内容 6,584
关键字:

java开发实习经历

java 订阅