vivo校招java岗面试_热乎乎的VIVO一面二面面经;JAVA开发

一面技术面,是8.8号。面试官问的问题简直是一股清流。

首先是自我介绍,介绍项项目经历

1.着重说了一下最近的一个项目

2.为什么基于导数的优化比其他优化方式好。

3.KKT条件有啥用。

4.什么是神经网络

5.神经网络的隐含层数量怎么确定。

6.神经网络隐含层节点数量对网络性能有什么影响

是不是感觉前方很高能。

下面是JAVA相关问题

1.讲一下线程之间的通信

2.讲一下线程的五种状态

3.讲一下为什么会出现死锁

4.讲一下线程同步机制

5.讲一下java如何实现多线程。

问完这些,紧接着问的问题让我猝不及防。

1.解释一下什么是傅里叶变换,不要讲数学公式。

2.解释一下什么是拉普拉斯变换

3.讲一下什么是控制系统的稳定性,怎么判断。

4.你有什么问题要问我的嘛。

整个过程1个小时,面到晚上10点多。

面完全程懵逼,感觉碰到了一个假的java面试官。

二面,5天之后,hr面

问题都比较套路

1.你对vivo了解多少

2.为什么选择后台java开发。

3.跨专业的面试对你有什么难度,为什么?

4.工作地点有什么要求。

5.有没有其他的什么问题。

中间网卡了好几次,不知道有没有影响。

总之后面就等结果,但愿不要凉凉。。。

记录下阿里的招聘之路与诸位牛油共勉!

点击作者姓名与作者大佬交流~

来源:牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较简单的Java项目,你可以按照以下步骤来实现: 1. 创建一个新的Java项目,在Eclipse或者其他IDE中打开。 2. 创建一个Snake类,包含以下成员变量和方法: 成员变量: - int x,y: 表示蛇头的横纵坐标 - int[] bodyX, bodyY: 分别表示蛇身体各个点的横纵坐标 - int length: 表示蛇身体的长度 - int direction: 表示蛇头的运动方向 方法: - void move(): 移动蛇头和蛇身体的位置 - void draw(Graphics g): 在屏幕上绘制蛇的形状 - boolean isGameOver(): 判断游戏是否结束 3. 创建一个GamePanel类,继承JPanel类,实现以下方法: - void paint(Graphics g): 绘制游戏面板 - void keyPressed(KeyEvent e): 处理用户按键事件 4. 在GamePanel类中创建一个Snake对象和一个Timer对象,用于控制游戏的运行和刷新。 5. 编写游戏的主函数,创建一个JFrame窗口,将GamePanel添加到窗口中并显示。 注意:在编写程序的过程中,需要注意游戏的逻辑和细节处理,例如:蛇碰到边界或者自身时游戏结束,蛇吃到食物长度增加等等。 以下是示例代码: Snake类: ```java import java.awt.Color; import java.awt.Graphics; import java.util.Random; public class Snake { private int x, y; private int[] bodyX, bodyY; private int length; private int direction; private Random rand = new Random(); public Snake() { bodyX = new int[100]; bodyY = new int[100]; x = rand.nextInt(20) * 20; y = rand.nextInt(20) * 20; length = 3; direction = rand.nextInt(4); for (int i = 0; i < length; i++) { bodyX[i] = x - i * 20; bodyY[i] = y; } } public void move() { for (int i = length - 1; i > 0; i--) { bodyX[i] = bodyX[i - 1]; bodyY[i] = bodyY[i - 1]; } switch (direction) { case 0: x += 20; break; case 1: y += 20; break; case 2: x -= 20; break; case 3: y -= 20; break; } bodyX[0] = x; bodyY[0] = y; } public void draw(Graphics g) { g.setColor(Color.green); for (int i = 0; i < length; i++) { g.fillRect(bodyX[i], bodyY[i], 20, 20); } } public boolean isGameOver() { if (x < 0 || x >= 400 || y < 0 || y >= 400) { return true; } for (int i = 1; i < length; i++) { if (x == bodyX[i] && y == bodyY[i]) { return true; } } return false; } public void setDirection(int direction) { this.direction = direction; } public void grow() { bodyX[length] = bodyX[length - 1]; bodyY[length] = bodyY[length - 1]; length++; } } ``` GamePanel类: ```java import java.awt.Color; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JPanel; import javax.swing.Timer; public class GamePanel extends JPanel implements ActionListener, KeyListener { private Snake snake; private Timer timer; public GamePanel() { snake = new Snake(); timer = new Timer(100, this); timer.start(); addKeyListener(this); setFocusable(true); } public void paint(Graphics g) { super.paint(g); setBackground(Color.black); snake.draw(g); } public void actionPerformed(ActionEvent e) { snake.move(); if (snake.isGameOver()) { timer.stop(); System.out.println("Game Over!"); } repaint(); } public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); switch (code) { case KeyEvent.VK_UP: if (snake.getDirection() != 1) { snake.setDirection(3); } break; case KeyEvent.VK_DOWN: if (snake.getDirection() != 3) { snake.setDirection(1); } break; case KeyEvent.VK_LEFT: if (snake.getDirection() != 0) { snake.setDirection(2); } break; case KeyEvent.VK_RIGHT: if (snake.getDirection() != 2) { snake.setDirection(0); } break; } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ``` 主函数: ```java import javax.swing.JFrame; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("Snake"); frame.setSize(400, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GamePanel panel = new GamePanel(); frame.add(panel); frame.setVisible(true); } } ``` 这样就可以在vivo y31s上运行贪吃蛇游戏了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值