三一重工8.14面试

1.问你一个小的问题,如何用程序实现一秒执行一次方法呢?
一开始没有回答出来,直接说了for循环,面试官说,那我要是执行到明年呢?还是用for循环吗?
public class MultiThread {
    public static void main(String[] args) throws InterruptedException {
        while(true){
            A();
            Thread.sleep(1000);
        }
    }
    public static void A(){
        System.out.println("这是方法A");
    }
}
2. synchronized与Lock的区别
只回答出来了Lock是一个接口,而Synchronized是Java的关键字,其他都没有回答上来,看来八股还是没有看完。
  1. Lock是一个接口,而Synchronized是java的一个关键字。
  2. Synchronized在发生异常时会自动释放占有的锁,因此不会出现死锁;而lock发生异常时,不会主动释放占有的锁,必须手动来释放锁,可能引起死锁的发生。
  3. Synchronized可以给类、对象、代码块加锁,而Lock只能给代码加锁。
  4. 通过Lock可以知道有没有成功获取锁,而Synchronized却无法办到。
3.Synchaonized如何实现加锁?给对象加锁,给该类加锁,或者是.class文件加锁,举例
给普通方法加锁——等价与给该对象加锁
// 普通方法加Synchronized
class Test{
    public synchronized void test(){
        //代码块
    }
}
给该对象加锁:
class Test{
    public void test(){
        synchronized (this){
            
        }
    }
给静态方法加锁——相当于给该类加锁——也相当于给该类的class文件加锁
class Test{
    public static synchronized void test(){
        //代码块
    }
}
给该类的class文件加锁
class Test{
    public  void test(){
        synchronized(Test.class){
            
        }
        //代码块
    }
}
4.多线程下,访问,出现数据不一致如何解决?
一开始回答的是加互斥锁,后来说了使用了volatile关键字,保证可见性
5.你知道泛型,那已知一个泛型,那如何返回一个该泛型的列表呢?
(面试看了简历,我写了泛型,结果G)
自定义泛型方法
import java.util.ArrayList;
import java.util.List;
// 自定义泛型
public class generic_paradigm {
    public static void main(String[] args) {
        Car car = new Car();
        List<Double> list = car.B(0.2);
        System.out.println(list);
    }
}
class Car{
    // 普通方法
    public <T> List<T> B(T t){
        List<T> list = new ArrayList<>();
        for(int i = 0;i < 10;i++){
            list.add(t);
        }
        return list;
    }
}
自定义泛型类:
//调用:
public class generic_paradigm {
    public static void main(String[] args) {
        Tiger tiger = new Tiger("小王",1,2.0,"haha");
        System.out.println(tiger);
    }
}
class Tiger<T,R,M>{     String name;     T t;     R r;     M m;     // 构造器使用泛型     public Tiger(String str,T t,R r,M m){         this.name = str;         this.m = m;         this.r =r;         this.t = t;     }     @Override     public String toString() {         return "Tiger{" +                 "name='" + name + '\'' +                 ", t=" + t +                 ", r=" + r +                 ", m=" + m +                 '}';     } }




#三一重工#
全部评论
请问是哪个事业部啊 重装前置吗
点赞 回复 分享
发布于 2022-08-16 10:13
怎么感觉我今天面的问的全是一些无关紧要的问题呢,然后你知道大概什么时间可以有反馈吗
点赞 回复 分享
发布于 2022-08-14 20:17

相关推荐

选择考公(公务员)还是考研(研究生),取决于你的职业目标、个人兴趣、经济状况和长期规划。以下是一些对比建议一、核心差异对比1.&nbsp;考公务员(考公)稳定性高:公务员工作稳定,福利待遇好(五险一金、补贴、退休保障),适合追求安稳生活的人。职业发展较固定:晋升速度较慢,体制内论资排辈现象普遍,适合能适应规则、擅长协调关系的人。竞争激烈:热门岗位报录比极高(如中央部委、发达地区岗位),需长期备考。工作内容较程式化:部分岗位事务性工作多,创新空间有限。适合人群:希望稳定,不愿频繁跳槽的人。对体制内工作感兴趣,愿意长期服务公共事务的人。家庭经济压力较小,能接受初期薪资一般的人。典型路径:进入政府机关、事业单位、国企等。适合法学、行政管理、汉语言文学等专业。2.&nbsp;考研(读研)提升学历和竞争力:研究生学历在就业市场(尤其是国企、外企、高校、科研机构)更具优势。职业选择更广:可进入更高薪行业(如金融、互联网、咨询),或继续读博走学术路线。时间成本高:需2-3年全日制学习,部分专业学费较高(如MBA)。竞争压力大:名校热门专业(如计算机、金融)内卷严重,考研失败可能面临“学历贬值”。适合人群:希望进入高薪行业或技术岗位(如算法工程师、投行分析师)。对学术研究感兴趣,未来想进高校或科研机构的人。本科学校一般,想通过考研提升背景的人。典型路径:进入大厂、金融机构、科研单位,或继续深造读博。适合理工科(计算机、电子)、商科(金融、经济)、医学等专业。二、如何选择?1.&nbsp;优先考公的情况✅&nbsp;目标明确想进体制内(如公务员、事业单位、国企)。✅&nbsp;家庭支持,经济压力小,能接受初期薪资一般。✅&nbsp;专业适合考公(如法学、汉语言、行政管理)。✅&nbsp;厌恶风险,希望稳定,不愿承受职场激烈竞争。2.&nbsp;优先考研的情况✅&nbsp;想进高薪行业(如互联网、金融、咨询)。✅&nbsp;本科学校一般,需提升学历(如二本逆袭985)。✅&nbsp;专业需要深造(如医学、人工智能、学术科研)。✅&nbsp;能承受考研失败风险,或有明确读研后职业规划。三、折中方案1.&nbsp;先考研再考公:研究生学历可报考更高层级岗位(如中央部委、省直机关)。部分省份“人才引进”政策对硕士更友好(免笔试、直接面试)。2.&nbsp;在职研究生+考公:非全日制研究生不影响考公,且能提升竞争力。3.&nbsp;考公后读非全硕士:体制内晋升时,学历仍是重要参考因素。四、现实建议考公要趁早:年龄限制(一般35岁以下)、应届生身份优势大。考研别盲目:如果只为逃避就业,可能毕业后面临更卷的求职市场。行业决定选择:法学、中文→优先考公;计算机、金融→优先考研。最终建议:如果你追求“铁饭碗”,直接考公;如果你想要“更高天花板”,先考研。如果两者都犹豫,可以同步准备(但需评估精力是否足够)。
考公还是考研,你怎么选?
点赞 评论 收藏
分享
评论
3
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务