中科创达_Java_面经

南京的外包,Java需转安卓开发,面着练手,纯八股,全答出来了,两面都半小时。

二面巨逆天,原本都结束了,在反问的时候问我期望薪资嘛,我知道他家JD 薪资范围是9 - 14k,我就报了个14k,对面主管和HR跟应激了一样,一直问“你觉得你的技术怎么样”,“你觉得你跟其他人比怎么样”,“你有什么最突出的优点”,明里暗里看不上、贬低我。给不了就给不了呗。

甚至说出了“我们的确能开更高,但是你觉得你为什么值得这个价”这种话,给我气的。

第二天挂,早知道在问我其他已有 Offer 情况时,我应该直接报真实情况的。

一面

  1. 集合框架体系:

    • 问题:简述Java核心集合框架组成
    • 追问:解释HashMap的扩容机制
    • 追问:推荐线程安全的集合
  2. 死锁问题处理:

    • 问题:遇到过哪些死锁问题及解决方案
  3. 内存溢出案例:

    • 问题:如何处理内存溢出问题
  4. 反射技术应用:

    • 问题:项目中反射技术的应用场景
  5. 反问

二面

  1. Java面向对象特性及内存分配:

    • 问题:请解释Java面向对象特性及对象内存分配区域
    • 追问:内存泄露与内存溢出的区别
  2. 垃圾回收机制:

    • 问题:解释Java垃圾回收机制
  3. 线程与线程池:

    • 问题:创建线程的方式及线程池参数
    • 追问:项目中线程池应用场景
  4. 锁机制:

    • 问题:Java常用锁机制有哪些
  5. 设计模式:

    • 问题:说明策略模式和代理模式
  6. 集合类与数据结构:

    • 问题:常用集合类及底层实现
  7. 竞赛与项目经验:

    • 问题:算法竞赛中的团队角色
    • 追问:性能优化数据来源
  8. 职业规划与求职动机:

    • 问题:职业发展规划
    • 追问:选择公司标准
  9. 反问

  10. 综合评估:

    • 问题:自我技术评价
    • 问题:期望薪资
    • 追问:当前求职进展
#面经##中科创达##避雷#
全部评论
把你的东财年包报出来吓死他,面试官可能都没你的多
1 回复 分享
发布于 04-11 18:03 广东
没有问项目吗
点赞 回复 分享
发布于 04-17 08:11 重庆
中科创达笔试后多久一面的呀,我都好久也没挂也没消息
点赞 回复 分享
发布于 04-11 20:18 广东
怎么还在面,好兄弟
点赞 回复 分享
发布于 04-11 12:58 北京

相关推荐

04-27 16:50
已编辑
门头沟学院 Java
1. mysql删除表语句是什么?drop和truncate区别?2. 删除一行数据的sql3. 查询一张表所有的数据的sql4. 查询一张表有多少条数据sql。  count(1)和count(*)区别5. i++和++i区别6. 介绍下重载和重写。  构造方法可以重写重载吗?7. arraylist和linkedlist的区别8.解释一下深拷贝和浅拷贝9. 如果有三个线程,我如何能保证顺序执行.方法1: 使用join()join() 方法可以确保一个线程在另一个线程执行完毕后才开始执行。通过合理地调用 join(),可以实现线程的顺序执行。方法2:使用countdownlatch/semaphore方法3: 使用锁和原子类,wait() + notifyAll()方法4: 使用completablefuture10. 如果有一个 T1 线程,想把 T2 线程加到 T1 里面,怎么实现?方法1. 使用join()Thread t2 = new Thread(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        t2.start();  // 启动 T2 线程        t2.join();    // T1 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();方法2. 使用future.get()ExecutorService executor = Executors.newSingleThreadExecutor();Future future = executor.submit(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        future.get();  // 阻塞直到 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException | ExecutionException e) {        e.printStackTrace();    } finally {        executor.shutdown();    }});t1.start();方法3. 使用countdownlatchCountDownLatch latch = new CountDownLatch(1);Thread t2 = new Thread(() -> {    try {        System.out.println("T2 线程正在执行");    } finally {        latch.countDown();  // 完成时减少计数    }});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                t2.start();  // 启动 T2 线程        latch.await();  // 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();11. a=a+b 和 a+=b的区别a = a + b,如果 a 和 b 的类型不同(如 a 是 int,b 是 double),需要显式强制类型转换,否则会编译报错。即:double a= 1;int b = 2;a = (double) (a+b); a += b,会自动执行隐式类型转换,将结果转换为 a 的类型。13. 数据库的三大范式如答案有错误欢迎指正
查看24道真题和解析
点赞 评论 收藏
分享
评论
4
18
分享

创作者周榜

更多
牛客网
牛客企业服务