timeline 一面后很快2面,測開崗(快跑?。。。┛偨Y(jié):一面面試官人很好,二面是個(gè)吊毛,答不上來嘲諷你,招個(gè)實(shí)習(xí)生測開崗,python go c++都想問你。態(tài)度極差,看手機(jī) + 打字 + 卡時(shí)間,一點(diǎn)不尊重人,垃圾公司,面了幾十家第一次遇到這種。一面面經(jīng)(面試官可能不太懂開發(fā)相關(guān),我用的后端簡歷投的,不過有測試技能點(diǎn)和測試工作)(面試官態(tài)度很好)1. 自我介紹2. 第一個(gè)項(xiàng)目介紹(項(xiàng)目背景、情況、團(tuán)隊(duì)、負(fù)責(zé)的模塊)3. 第二個(gè)項(xiàng)目介紹4. 第一個(gè)項(xiàng)目講解思路5. Redis的使用,緩存三兄弟在項(xiàng)目里的應(yīng)用 和 解決思路6. MySQL使用,索引,鎖,MVCC機(jī)制,事務(wù)以及隔離級別說明7. vue的使用 以及組件8. python 可變對象的原理9. python 淺拷貝深拷貝問題10. 算法題:一個(gè)字符串,現(xiàn)在要根據(jù)出現(xiàn)頻率,進(jìn)行降序排序11. 反問:base上海,部門搞測試,主要工作內(nèi)容,功能,性能,集成,整合測試,測試相關(guān),包括自動化測試12. 她講了講,工作的情況,而且這邊產(chǎn)線也有開發(fā),可以過去學(xué)習(xí)學(xué)習(xí)二面(面錘子)二面面試官感覺不太懂后端這部分的,主要問測試角度的,怎么看項(xiàng)目。感覺kpi面,不想招人,而且這個(gè)男的素質(zhì)極差,我面了50-60次,都沒遇到自己答不上來,面試官嘲諷你的。1. 自我介紹2. 項(xiàng)目-測試角度考慮 (這時(shí)候我講了我的思路,他聽不懂技術(shù),就說問測試角度xx模塊怎么考慮測試)3. 評論模塊(父子評論,遞歸查詢,這里當(dāng)時(shí)設(shè)計(jì)的時(shí)候忘記做@通知了,被diss半天,嘲諷我)5. 中間問 項(xiàng)目部署之后,本地能訪問百度,為啥百度訪問不了校園網(wǎng)的服務(wù)器(我說沒公網(wǎng)ip + 地址映射 + nat沒設(shè)置轉(zhuǎn)發(fā))(比如用內(nèi)網(wǎng)穿透可以,他說他不想聽這個(gè))4. 算法題:反轉(zhuǎn)二叉樹,acm模式,我用c++寫,問我智能指針,二叉樹結(jié)構(gòu)不用指針怎么實(shí)現(xiàn)(我說數(shù)組)他說我不想聽這個(gè)。#牛客創(chuàng)作賞金賽##七牛云面試經(jīng)驗(yàn)##七牛云##吐槽##哪些企業(yè)的面試體驗(yàn)感最差?##面試題刺客退退退#附代碼---------code1--------------#include <iostream>#include <string>#include <map>using namespace std;class Solution {public: string tSort(string&amp; s) { map<char, int> mp; for (char &amp;c : s) { mp[c]++; } string ans = &amp;quot;&amp;quot;; for (auto &amp;[k, v]: mp) { while (v--) { ans += k; } } return ans; }};int main() { string str; getline(cin, str); Solution sol; cout << sol.tSort(str) << endl;}---------code2--------------#include <iostream>#include <string>#include <sstream>#include <vector>#include <queue>using namespace std;struct TreeNode { int val; TreeNode* left, *right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}};class Solution {public: void swapTree(TreeNode* root) { if (!root) return; TreeNode *tmp = root->left; root->left = root->right; root->right = tmp; swapTree(root->left); swapTree(root->right); }};TreeNode* buildTree(vector<int>&amp; data) { if (data.empty()) { return nullptr; } TreeNode* root = new TreeNode(data[0]); queue<TreeNode*> q; q.push(root); int index = 1; while (!q.empty() &amp;&amp; index < data.size()) { TreeNode *curNode = q.front(); q.pop(); if (data[index] != -1) { curNode->left = new TreeNode(data[index]); q.push(curNode->left); } index++; if (index < data.size() &amp;&amp; data[index] != -1) { curNode->right = new TreeNode(data[index]); q.push(curNode->right); } index++; } return root;}int main() { vector<int> data = {1, 2, 3, 4, 5}; TreeNode* root = buildTree(data); Solution sol; sol.swapTree(root); queue<TreeNode*> q; q.push(root); vector<vector<int>> ans; while (!q.empty()) { vector<int> cur; int sz = q.size(); for (int i = 0; i < sz; ++i) { TreeNode* node = q.front(); q.pop(); cur.push_back(node->val); if (node->left) q.push(node->left); if (node->right) q.push(node->right); } ans.emplace_back(cur); } for (int i = 0; i < ans.size(); ++i) { for (int j = 0; j < ans[i].size(); ++j) { cout << ans[i][j] << &amp;quot;,&amp;quot;; } cout << endl; }}#ai智能作圖#