浏览器标题切换
浏览器标题切换end

蚂蚁金服后端开发面试

大概一个半小时电面

  1. 自我介绍

  2. 数据库有哪几种引擎

  3. MYISAM使用场景、优缺点

  4. 进程和线程的区别

  5. 进程间通信的基本方式

  6. 中断概念

  7. 协程

  8. python中的async和aside

  9. HTTP和HTTPS区别

  10. HTTP和HTTPS的三次握手四次挥手有什么区别

  11. 手写代码(不能调试):评测题目: 有一个m*n的二维整形数组A,请按照顺时针方式打印出所有元素。我写的如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

vector<int>v;

int main()
{
  int m,n;
  cin>>m>>n;
  for(int i=0;i<m;i++)
  {
    for(int j=0;j<n;j++)
    	cin>>a[i][j];
  }
  // 1 2 3 
  // 4 5 6
  // 7 8 9
  // 1 2 3 6 9 8 7 4 5 
  int s=0,e=m-1,s1=0,e1=n-1;
  while(s<e&&s1<e1)
  {
    int x=s1,y=s1;
    while(y<=e1) // right
      v.add(a[x][y]),y++;
    x++,y--;
    
    while(x<=s1) // down
      v.add(a[x][y]),x++;
    x--,y--;
    
    while(y>=s1) // left
      v.add(a[x][y]),y--;
    x--,y++;
    
    while(x>s) // up
      v.add(a[x][y]),x--;
    
    s++,e--,s1++,e1--;
    // s:LeftUpRow   e:RightDownRow  s1:LeftUpCol  e1:RightDownCol
  }
  if(s==e)
  {
    for(int i=s1;i<=e1;i++)
      v.add(a[e][i]);
  }
  else if(s1==e1)
  {
  	for(int i=s;i<=e;i++)
      v.add(a[i][s1]);
  }
  for(int i=0;i<v.size();i++)
  	cout<<v[i]<<" ";
  cout<<endl;
  return 0;
}
posted @ 2021-08-12 18:10  抓水母的派大星  阅读(62)  评论(0编辑  收藏  举报