ミニプログラムインタビューの質問

序文

まず、ミニプログラムに関連するインタビューの質問を要約する理由について話しましょう。

採用プログラムのウェブサイトを自由に開くことができます。小規模なプログラムに対する市場の需要は依然として非常に高く、一部の企業では小規模なプログラムを作成するフロントエンドスタッフのみが必要な場合があります。

小さなプログラムの開発の大部分は非常に単純ですが、いくつかの一般的に使用されるものを理解する必要があります。したがって、そのような小さなプログラムのインタビューの質問の要約があります。もちろん、興味のある、または小さなパートナーが必要な場合は、ここをクリックして、正面の質問の完全版を表示することもできます。

記事の記載漏れや誤りなどがございましたら、メッセージを残して訂正されましたらよろしくお願いいたします。よろしくお願いいたします。

↓以下

1. WeChatアプレットの関連するファイルタイプを簡単に説明する

WeChat Mini Programプロジェクト構造には、4つの主要なファイルタイプがあります。
  • WXML(WeiXin Markup Language)は、フレームワークによって設計されたラベル言語のセットであり、基本コンポーネントとイベントシステムと組み合わせて、ページの構造を構築できます。内部は主にWeChat自体によって定義されたコンポーネントのセットです
  • WXSS(WeiXinスタイルシート)はWXML、コンポーネントスタイルを記述するために使用されるスタイル言語です。
  • js ロジック処理、ネットワーク要求
  • json ページ登録、ページタイトルなどのミニプログラム設定tabBar
メインファイル
  • app.jsonこのファイルは必須です。このファイルがないと、WeChatフレームワークがこれを構成ファイルエントリ、つまりアプレット全体のグローバル構成として使用するため、プロジェクトを実行できません。登録ページ、ネットワーク設定、アプレットのwindow背景色、スタイルナビゲーションバーの構成など、デフォルトのタイトルを構成する
  • app.jsこのファイルが必要です。ファイルがない場合、エラーが発生します!しかし、このファイルを作成するだけで、何も書く必要はありません。将来的には、アプレットのライフサイクル関数を監視および処理し、このファイルでグローバル変数を宣言できます。
  • app.wxss オプション

2. WeChatアプレットの原理を簡単に説明してください

マイクロチャネル・プログラムは、小さな使用して JavaScript WXML WXSS 3つの手法は、ページのレンダリングとイベント処理は、それがページ内で行われるすべての本質的に1ページのアプリケーションを、開発されましたが、あなたは、マイクロチャネルクライアントを介してネイティブインタフェースの様々なを呼び出すことができます

マイクロチャネルアーキテクチャ、データドリブンアーキテクチャモデル、それとUIデータは分離されており、すべてのページが更新されます。データの変更を通じて達成する必要があります。

アプレットは、二つの部分に分割webviewし、appServiceこれはwebview主に表示するために使用されUI appService我々は、ビジネス・ロジック、データおよびインターフェース呼び出しに対処する必要があります。JSBridge通信、UIレンダリング、イベント処理を実現するために、システムレイヤーによって2つのプロセスを実行します。

3.アプレットとVueの双方向バインディングの違いは何ですか

直接アプレットthis.data属性はビューに同期されていません。呼び出す必要があります:

this.setData({
    // 这里设置
})

4.アプレットのwxssとcssの違いは何ですか

WXSS および CSS 同様ですが CSS 、に基づいていくつかの追加と変更を行う
  • 測定単位 rpx

rpx画面幅に適応できるレスポンシブピクセルです。画面の幅がであることを指定します750rpxとしてiPhone6、画面の幅、物理ピクセルの375px合計750750rpx = 375px = 750物理ピクセル

  • @import識別子を使用して外部インラインスタイルをインポートします。@importステートメントの終わりを示すために、インポートする必要のある外部スタイルシートの相対パスが続きます;
/** index.wxss **/
@import './base.wxss';

.container { color:red; }

5.アプレットページ間でデータを転送する方法は何ですか

  • グローバル変数を使用してデータ転送を実現する

ではapp.jsグローバル変数ファイルの定義globalData、情報が保存された内部に格納する必要があります

// app.js

App({ //グローバル変数 globalData:{ userInfonull } })




使用中は、getApp()情報の直接使用が保存されます

  • データの一部を内部に配置できる場合に使用wx.navigateTo、新しいページの初期化時間wx.redirectTourlonLoad
//pageA.js

//
wx.navigateTo({ url'…/ pageD / pageD?name = raymond&gender = male'})に移動します

//リダイレクト
wx.redirectTo({ url'…/ pageD / pageD?name = raymond&gender = male'})

// pageB.js

Page({ onLoadfunctionoption { console .log(option.name + 'is' + option.gender)this .setData({ option:option })} })






注意が必要な問題:

wx.navigateTowx.redirectToにジャンプすることができtab含まれるページ

onLoad 一度だけ実行

  • Storage関連するローカルキャッシュを使用する

6.ミニプログラムのライフサイクル機能

  • onLoadページが読み込まれたときに発生します。onLoadパス内の現在のページを開くためのパラメーター取得パラメーターページが1回だけ呼び出されます
  • onShow() ページが表示される/前景に切り取られるとトリガーされます
  • onReady()ページの最初のレンダリングが完了したときに発生します。ページは1回だけ呼び出されます。つまり、ページは準備ができており、ビューレイヤーと対話できます。
  • onHide()ページが非表示/背景に切り取られたときにトリガーされます。navigateTo底部またはtab別のページに切り替え、カット舞台裏をアプレット
  • onUnload()ページがアンロードされるとトリガーされます。redirectToまたはnavigateBack時に他のページへ

参照してください。ライフサイクルコールバックを

7. WeChat Mini Programのデータリクエストをカプセル化する方法

ここで参照

8. WeChatミニプログラムの適用速度を向上させるために使用できる方法

1.ページの読み込み速度を改善する

2.ユーザーの行動予測

3、デフォルトのdataサイズを小さくする

4.コンポーネント化されたソリューション

9. WeChat Miniプログラムの利点と欠点

利点
  • すぐに使用でき、インストールする必要がなく、トラフィックを節約し、インストール時間を節約し、デスクトップを占有しない
  • WeChatトラフィック、自然なプロモーション、およびコミュニケーションの利点に依存
  • Appより開発費
不利益
  • ユーザーの保持、使用、移動は利点ですが、いくつかの問題もあります
  • App多くの深いへの伝統的な入り口と比較して
  • 多くの制限があり、ページサイズは2Mを超えることはできません。10レベルを超えるページを開くことはできません

10.アプレットの非同期リクエストの問題を解決する方法

アプレットはほとんどの ES6 構文をサポートし ます
  • 成功を返すコールバックのロジックを処理する
  • Promise 非同期

11.ミニプログラムのWeChat公式アカウントに関連付けられている場合、ユーザーの一意性を判断する方法

開発者が複数のモバイルアプリケーション、Webアプリケーション、およびパブリックアカウント(アプレットを含む)を持っている場合、 unionid 一意でユーザーを区別するために、同じWeChatオープンプラットフォームアカウント、Webアプリケーション、パブリックアカウント(アプレットを含む)、ユーザー unionid は一意です。言い換えれば、同じユーザー unionid 、同じWeChatオープンプラットフォームの異なるアプリケーションでも同じです。

12.プルダウンリフレッシュの実装方法

  • まず最初にconfigwindow構成のグローバルenablePullDownRefresh
  • Page定義onPullDownRefreshフック関数、ドロップダウンリフレッシュ状態に達し、フック関数の実行開始要求メソッド
  • リクエストが戻った後、wx.stopPullDownRefreshプルダウンリフレッシュを停止するように呼び出します

ここで参照

13. bindtapとcatchtapの違いは何ですか

類似点:まず、これらはすべて、クリック時にトリガーされるクリックイベント関数として使用されます。この関数は同じなので、区別する必要はありません

違い:bindtapはバブリングイベントを防ぎませんが、catchtapはバブリングを防ぎます。

14.説明wx.navigateTo()wx.redirectTo()wx.switchTab()wx.navigateBack()wx.reLaunch()区別</ H5>

  • wx.navigateTo():現在のページを保持し、アプリケーションのページにジャンプします。しかし、tabbarページにジャンプすることはできません
  • wx.redirectTo():現在のページを閉じて、アプリケーションのページにジャンプします。しかし、tabbarページにジャンプすることはできません
  • wx.switchTab():abBarページにジャンプし、他のすべての非tabBarページを閉じます
  • wx.navigateBack()は現在のページを閉じ、前のページまたは複数レベルのページに戻ります。getCurrentPages()現在のページのスタックを取得できます。決定には複数のレイヤーを返す必要があります
  • wx.reLaunch():すべてのページを閉じて、アプリケーションのページを開きます

転送元:https://segmentfault.com/a/1190000018689948
https://zhuanlan.zhihu.com/p/64261276

おすすめ

転載: blog.csdn.net/xiaoxiaodechongzi/article/details/104613634