第一次,请多多指教: 送给在上海面试的同学,笔试题大多是逻辑问题,算法问题,面试问的也就是你项目中用到的技术,再问一下业务逻辑,Java基础
1.Java基础
        ArrayList和linkedList区别
它们都实现了List接口,都是线程不安全的,ArrayList内部是以Object数组的形式实现的,所以ArrayList随机访问其中的元素时,是比较快的,当它向中间或者前面添加数据时,非常耗时间的。LinkedList内部是以链表的方式实现的,在前面或者中间添加数据或者删除数据是非常快的。
        list,set,map区别
List 与 Set 具有相似性,它们都是单列元素的集合,所以,它们有一个功共同 的父接口 Collection 接口。Set 里面不允许有重复的元素,即不能有两个相等的对象 。 Map 与 List 和 Set 不同,它是双列的集合每次存储时,要存储一对 key/value,不能存 储重复的 key,这个重复的规则也是按 equals 比较相等。取则可以根据 key 获得相应的 value,即 get(Object key)返回值为 key 所对应的 value。另外,也可以获得所有的 key 的结合。
        final, finally, finalize 的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变量必须定义成 final 类型,例如,一段代码……finally 是异常处理语句结构的一部分,表示总是执行。finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM 不保证此方法总被调用
        "=="和 equals 方法有什么区别?
==它是用作两个变量的值是否相等,equels是用作两个对象是否相等,==只要是String没有new,而是直接声明的像这样
String s="iii";
String a="iii";
if(s==a){
System.out.println("对的");
}else{
System.out.println("错的");
}
它的结果是对的,像这样
String s=new String("iii");
String a=new String("iii");
if(s==a){
System.out.println("对的");
}else{
System.out.println("错的");
}
它的结果就是错的,这就是==与equals的区别
abstract class(抽象类)和 interface(接口)有什么区别?
共同点:接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。
区别:1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非
抽象的普通方法。
4. 抽象类中的抽象方法的访问类型可以是 public,protected 和(默认类型,虽然
eclipse 下不报错,但应该也不行),但接口中的抽象方法只能是 public 类型的,并且
默认即为 public abstract 类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可
以任意,但接口中定义的变量只能是 public static final 类型,并且默认即为 public
static final 类型。
7. 一个类可以实现多个接口,但只能继承一个抽象类。
最重要的就是Java多线程
什么是线程,什么是进程,怎么实现多线程几种方法,怎样使线程同步或者安全。。。。
1.同步和异步有何异同  
官方解释:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读 的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方 法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
线程同步:A线程要请求某一个资源,但是这个资源被B线程使用者,A线程只能等待,B线程执行完成后,A才能执行。
线程异步:A线程要请求某一个资源,但是B线程正在使用,因为没有同步机制,所以A线程不用等待。
2.java中实现同步的几种方法。
1.ReentrantLock是Jdk内置的一个锁对象,可以实现锁对象
它自己不会释放锁,必须人工手动释放,必须在finally语句中释放
2.Synchronized关键字实现锁同步,也是内部锁

3.ThreadLocal 是一种把变量放到线程本地的方式来实现线程同步的。
4.Wait/notify 都是Object类的方法
3.Java中实现线程的方式
1.继承Thread类
2.实现Runnable接口
3.实现Callable接口
4.使用线程池
4.线程同步的意思
1.wait:使线程处进入等待状态,并释放所持有对象的锁
2.sleep():使线程进入一个睡眠状态,它是一个静态方法
3.notify():唤醒一个正在等待的线程,它不能确定唤醒哪一个处于等待的线程,这由JVM决定,也不是按优先级的。
4.notifyAll():唤醒全部正在等待的线程,并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

5.synchronized 和 java.util.concurrent.locks.Lock 的异同

1.主要相同点:Lock 能完成 synchronized 所实现的所有功能 
主要不同点:Lock 有比 synchronized 更精确的线程语义和更好的性能。synchronized 会自动释放锁,而 Lock 一定要求程序员手工释放,并且必须在 finally 从句中释放。

还有什么问题,请在下方留言:::::::::

Java程序员在上海应届生应该知道什么相关推荐

  1. 美团程序员提问:应届生,工资34k,算多吗?

    点击上方的终端研发部,右上角选择"设为星标" 每日早9点半,技术文章准时送上 公众号后台回复"学习",获取作者独家秘制精品资料 往期文章 优雅骚气的程序员都是这 ...

  2. 阿里程序员吐槽:应届生年薪40万,让老员工怎么活!

    每年的7月份是毕业季,但即将毕业的大学生们已经开始出来找工作实习了.国内外知名的互联网公司也开始入驻一线城市的名校,争相广纳人才. 近日,某资深人士在贴吧内爆出一张聊天截图,聊天的内容引起了大家的震动 ...

  3. 5、6月程序员“薪资被应届生倒挂“现象明显,跳槽还是等待?

    5.6月是应届生求职季,公司普遍出现**"薪资倒挂"**的现象会特别明显,即公司新员工薪水高于同职级老员工. 倒挂虽然存在,却不是必然,关键还是在个人能力上,想要避免被" ...

  4. 程序员“薪资被应届生倒挂“现象明显,跳槽还是等待?

    5.6月是应届生求职季,公司普遍出现**"薪资倒挂"**的现象会特别明显,即公司新员工薪水高于同职级老员工. 倒挂虽然存在,却不是必然,关键还是在个人能力上,想要避免被" ...

  5. 程序员薪资被应届生倒挂7K,不把老员工当人?

    一位字节跳动的小管理爆出,无意中看到了整个部门薪资,本以为自己算比较高的,但看完之后整个人都傻眼了.小组长的职位月薪28K,而手下组员却是35K,当天晚上抽了一包烟也没想明白是为什么. 自己是字节的小 ...

  6. 应届生去公司找个Java程序员的职位需要什么技能?

    最近一些高校同学已经开始了陆续的离校,你找到了合适的实习工作了吗? 特别是咱们计算机相关专业的同学们! 无论现在的大环境炒的有多热,刚(快)毕业的学生找工作的最大保障就是编程基础,就是给要用人单位展示 ...

  7. 应届生就业高峰期,Java程序员面试常犯的5点错误总结

    如今正是毕业生找工作的高峰期,那么在面试Java程序员的过程中会出现什么问题呢?有哪些问题是初入职场的Java程序员在面试中最容易犯的呢?下面,小编总结了Java程序员在面试中不通过的五个原因,作为大 ...

  8. 文思海辉应届生java面试_2019文思海辉面试经验(java程序员,项目经理助理等)

    为了帮助职业圈网友能够及时了解文思海辉的面试流程以及面试过程所涉及的面试问题,职业圈小编把2019最新文思海辉面试经验编辑好,马上提供给大家,以便能够尽快帮助到有需要的人.文章中还为你提供文思海辉面试 ...

  9. 北京,上海Java程序员的月薪水平?

    ◆男性占97%,人均月薪3500元 ◆58%的软件人在25岁以下,48%在本领域工作不满3年 ◆重点院校.本科.计算机专业开发者,占据着这个行业的主流 ◆c/c++.java使用人数最多,c#居二,d ...

最新文章

  1. Cannot identify version of git executable: no response
  2. API 版本控制的几种方式
  3. 一个PHP程序的“怪问题”
  4. 10g数据库入门与实践 oracle_从实践中学习Oracle SQL笔记一
  5. 特性和混入不是面向对象的
  6. 浅谈分布式和微服务架构
  7. NGUI_2.6.3_系列教程三
  8. Photoshop CS2序列号大全 官方免费密钥
  9. eyoucms 网页制作软件有哪些 这些你都知道吗
  10. 2022年第三届全国大学生网络安全精英赛
  11. 油管铺设 离散数学 合工大 prim算法
  12. 彻底删除的视频怎么恢复?找回丢失的视频有3种方式
  13. 最大公约数(GCD)和最小公倍数(LCM)
  14. c++等边三角形(DFS实例)
  15. 仿淘宝的详情页图片切换
  16. 微信开发工具BUG(漏洞),魔法加法
  17. C程序--输出月份英文名(指针数组)
  18. js将字符串按照逗号分割
  19. 穷人与富人的差距:越有钱的人负债越高
  20. Java equal

热门文章

  1. 2023计算机毕业设计SSM最新选题之java中国饮食文化网站l55z5
  2. 韩果社 韩国elago三星i9220 Galaxy Note烤漆外壳 手机壳 手机套-淘宝网
  3. 有监督、半监督、无监督、弱监督、自监督的定义和区别
  4. BMI指数测量——c++ 1.0.0
  5. Java线程dump分析及工具
  6. 从数据回溯中的领悟|着手做风控的数据分析,应该将这些业务流程都画清楚
  7. Spring:任务调度之task:scheduler与task:executor配置的详解
  8. C++ int float double类型的数据大小端转化
  9. PHP中如何得到数组的长度
  10. (混沌序列统计特性)单比特频率测试---matlab