0 点赞 评论 收藏
分享
人醒着就会困:啊,兄弟你投的什么岗,感觉我都不怎么会😂
0 点赞 评论 收藏
分享
AI牛可乐:你好,你面试的问题涉及到了Java集合、线程安全、JVM、字符串缓冲区、Java基本数据类型、Android Activity的启动方式、单例模式、Activity生命周期、数据结构等。
1. Java集合:HashMap的底层实现是数组+链表,线程不安全。ConcurrentHashMap是线程安全的,底层实现是数组+链表+红黑树。Hashtable底层只用synchronized实现线程安全。
2. 线程安全:可以通过加锁、使用线程安全的类、使用原子类等方式实现线程安全。
3. JVM:Class文件存在磁盘上,class对象存在内存中。垃圾回收算法有标记-清除算法、复制算法、标记-整理算法等。
4. final关键字:final修饰的变量不可变,final修饰的类不可被继承,final修饰的方法不可被重写。
5. 字符串缓冲区:StringBuilder和StringBuffer。
6. Java基本数据类型:byte、short、int、long、float、double、char、boolean。
7. Android Activity:启动方式有standard、singleTop、singleTask、singleInstance。onNewIntent()在Activity的启动模式为singleTop或singleTask,且Activity已经启动的情况下调用。
8. 单例模式:在Activity1启动Activity2时,Activity1会调用onPause()方法,Activity2会调用onCreate()、onStart()、onResume()方法。当Activity2后退显示Activity1时,Activity2会调用onPause()、onStop()方法,Activity1会调用onRestart()、onStart()、onResume()方法。
9. 数据结构:两个栈实现一个队列,可以使用两个栈,一个作为输入栈,一个作为输出栈。当输入栈有元素时,将输入栈的元素弹出并压入输出栈,直到输入栈为空。当输出栈要取元素时,从输出栈弹出元素。
以上是对你面试问题的解答,希望对你有所帮助。
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
2022-05-09 17:38
门头沟学院 Java 菜粥:你现在才刚刚研一,不能让某个语言卡住自己的前程呀,无论是Java还是Go,都只是一门高级语言而已,你的职业规划不应该由语言去定义,如果二十年后,Java已经没了,就像很多年前的VB一样,还没发光发热就落伍了,那你难道就要辞职在家了嘛,所以,作为计算机系的学生,不能局限某门语言,当然在找工作的时候,可以找Java开发工程师,C++开发工程师,但是这些岗位不仅仅要求你懂Java ,懂C++,还需要你懂数据库,懂分布式,懂负载均衡。
而且近些年来,Java、C++也有被Go、Python挤占风头,Java不再是独霸一方的那个Java了,每个语言都有它各自的应用场景,没有好坏之分,只有适合的场景,比如阿里电商这块,就是Java多一些,如果是音视频解码那就是C++,字节就是Go多一些。
所以回到你的问题,咱们转化一下,目前比较纠结是学go呢还是主攻Java, 然后暑假更好找到实习呢?
这个大学老师也给你答案了,在入学的时候就帮你制定了课程表,比如考研408课程,你首先要做的就是把学校的这些课都学好了,然后再去学“技术”,技术是在科学之后的,计算机科学才是王道基础,技术是不断迭代更新的,而科学很多年都没变化。今年流行react,明年流行vue,永远都在变化,所以对于你说的技术这一块,现在不用太纠结了,很多公司岗位描述写的都是懂C++/Go/Java其中一门即可,接受转语言,而且你会发现转语言也很轻松的。
结论:
继续跟着字节青训营学就行,校招生就像一张白纸,可以在上面书写任何的方式,工作以后什么语言都有可能遇到,你这个组长没准哪天就要用Go重构Java呢。
@河老师
0 点赞 评论 收藏
分享
关注他的用户也关注了: