前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021腾讯社招java技术岗面试题

2021腾讯社招java技术岗面试题

作者头像
jiankang666
发布2022-05-12 21:28:50
1K0
发布2022-05-12 21:28:50
举报
文章被收录于专栏:java基础笔记java基础笔记

一、背景

最近面试了腾讯技术岗,一面和二面问了一些问题,下面给大家分享一下,有些题目是我根据自己的情况回答的,可以参考一下,小伙伴也可以试着自己回答一下。

二、一面面试题

1、自我介绍一下?

我叫….,负责什么什么项目,主要做什么工作,bababa………


2、看简历上写着使用过poi操作过excel,那么poi对于公式是如何操作的?

正确答案应该是下面的代码,创建一个单元格,设置单元格类型为公式,最后设置公式值。但是没想到怎么说,没回答上来。

代码语言:javascript
复制
cell = row.createCell(2); 
cell.setCellType(XSSFCell.CELL_TYPE_FORMULA); 
cell.setCellFormula("SUM(C2:C3)");

3、简历上写着做过文件拆分,介绍一下文件拆分怎么实现的?

我是通过将大文件流放到BufferedReader里面,根据参数splitSize计算需要拆分成几个小文件,需要几个文件,我们就创建几个,放到list集合里,一行一行遍历源文件,第一行的内容所以文件都写入,除第一行外的内容,随机写入创建的小文件里面。最后把所有的小文件关流。参考之前的文章:java实现csv大文件拆分,每个小文件都有标题行


4、线程和进程的区别?

根本区别:进程是并发执行的程序在执行过程中分配和管理资源的基本单位,线程是任务调度和执行的基本单位。一个进程可以有多个线程。

地址空间:进程有自己独立的地址空间,线程没有自己独立的地址空间,同一进程的线程共享本进程的地址空间。

资源拥有:进程之间的资源是独立的,同一进程内的线程共享本进程的资源。

执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口,但是线程不能独立运行,必须依存在应用程序中。

系统开销:进程执行开销大,线程执行开销小。


5、创建一个进程的话需要分配什么资源?

需要分配包括用于存放程序正文、数据的磁盘和内存地址空间,以及在运行时所需要的I/O设备,已打开的文件,信号量等。


6、进程之间是怎么通信的?

(1)、匿名管道通信

(2)、高级通道通信

(3)、有名管道通信

(4)、消息队列通信

(5)、信号量通信

(6)、信号

(7)、共享内存通信

(8)、套接字(Socket)通信


7、看你简历上写作jgit进行版本控制,介绍一下这个项目?

jgit是引入的一个maven依赖,当实施人员在管理台修改配置文件时,点击保存通过jgit模拟git命令提交到远程git仓库,将修改的这一版保存下来,详情请参考之前的文章:通过jgit初始化本地仓库,与远程库建立连接


8、垃圾回收了解过吗?

了解过,我主要回答了新生代有Eden区,Survivor1区,Survivor2区,比例是8:1:1,大对象会直接保存在老年区,大家可以参考:https://zhuanlan.zhihu.com/p/73628158


9、什么时候会触发full gc?

(1)老年代空间不足时会自动触发

(2)手动调用了System.gc();


10、ArrayList 和LinkedList的区别?

ArrayList基于动态数组实现的非线程安全的集合;LinkedList基于链表实现的非线程安全的集合。


11、数组的底层实现是什么?

这个问题当时没有回答上来,查了一下资料,我的理解就是Array的一些方法,比如add,get,set方法是怎么实现的吧


12、你有什么问题要问的?

问了一下自己想要问的,入职以后会在哪个部门工作等等吧

三、二面面试题

1、自我介绍

我叫….,负责什么什么项目,主要做什么工作,bababa………


2、手写一道算法题:

(1)一个字符串 1234,如何转换为数字1234.

(2)假如是不固定位数的一个字符串如何转换为数字

代码语言:javascript
复制
public class StringTest {

    public static void main(String[] args) {
        String string = "1234";
        char[] chars = string.toCharArray();
        int sum = 0;
        for (int i = 0; i < chars.length; i++) {
            int pow = (int) Math.pow(10, chars.length - i - 1);
            int aChar = (int) chars[i] - 48;
            sum = sum + (aChar * pow);
        }
        System.out.println(sum);
    }
}

3、线程锁有哪些?

回答了synchronized锁, ReentrantLock锁,synchronized锁是重量级锁,ReentrantLock可重入锁


4、多线程处理变量会有什么问题,怎么解决?

会出现线程安全性,多个线程同时操作一个变量,会出现变量不准确的情况,每次只有一个线程可以操作变量,对操作变量的方法加锁,每个线程只有获取锁后才能操作。


5、操作系统进程相关的了解过吗

这个我确实不懂,就没有怎么说,大家可以自行学习。


6、你有什么问题要问的?

问了入职后的一些工作情况,我会在哪个部门工作。

四、总结

以上就是个人面试情况的一些总结,能力目前比较有限,有一些问题回答的不是很好,大家可以参考一下,自己查漏补缺复习一下,希望对小伙伴有帮助

五、参考资料

进程与线程的区别? https://jingyan.baidu.com/article/11c17a2cf213eff446e39d1d.html 操作系统给进程分配资源,具体是哪些资源呢 https://www.nowcoder.com/discuss/512320?type=1 进程间8种通信方式详解 https://blog.csdn.net/violet_echo_0908/article/details/51201278 java集合之List底层实现原理 https://blog.csdn.net/m0_37885223/article/details/96377589

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java基础笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、一面面试题
    • 1、自我介绍一下?
      • 2、看简历上写着使用过poi操作过excel,那么poi对于公式是如何操作的?
        • 3、简历上写着做过文件拆分,介绍一下文件拆分怎么实现的?
          • 4、线程和进程的区别?
            • 5、创建一个进程的话需要分配什么资源?
              • 6、进程之间是怎么通信的?
                • 7、看你简历上写作jgit进行版本控制,介绍一下这个项目?
                  • 8、垃圾回收了解过吗?
                    • 9、什么时候会触发full gc?
                      • 10、ArrayList 和LinkedList的区别?
                        • 11、数组的底层实现是什么?
                          • 12、你有什么问题要问的?
                          • 三、二面面试题
                            • 1、自我介绍
                              • 2、手写一道算法题:
                                • 3、线程锁有哪些?
                                  • 4、多线程处理变量会有什么问题,怎么解决?
                                    • 5、操作系统进程相关的了解过吗
                                      • 6、你有什么问题要问的?
                                      • 四、总结
                                      • 五、参考资料
                                      相关产品与服务
                                      消息队列 CMQ
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档